From goetz.lindenmaier at sap.com Mon Jul 1 06:28:29 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 1 Jul 2013 13:28:29 +0000 Subject: BugIDs for C interpreter changes Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF0F4F@DEWDFEMB12A.global.corp.sap> Hi, Can you please give me BugIDs for the following changes: cppInterpreter: implement G1 support cppInterpreter: implement support for compressed Oops cppInterpreter: implement support for early return I'll prepare changes affecting only cppInterpreter files for these and then post them to the mailing lists. Thanks & best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130701/194c4d0b/attachment.html From volker.simonis at gmail.com Mon Jul 1 09:01:13 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Mon, 1 Jul 2013 18:01:13 +0200 Subject: Sync from jdk8/jdk8 to ppc-aix-port/stage is finished In-Reply-To: <51D181BC.9000801@oracle.com> References: <51C87EF1.3060209@oracle.com> <51CC9973.9030502@oracle.com> <51CD8B34.9000303@oracle.com> <51D181BC.9000801@oracle.com> Message-ID: Hi Albert, thanks, but as far as I can see, this fix does not touch bytecodeInterpreter.cpp. Regards, Volker On Mon, Jul 1, 2013 at 3:18 PM, Albert Noll wrote: > > Hi Volker, > > there is a related issue. Did you know about this? > > http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ef57c43512d6 > http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/ef57c43512d6 > > I got the following comment in jbs: > > Albert, > > Can you add the attachment? > > There's a recent related fix for (8014431: cleanup warnings indicated by the -Wunused-value compiler option on Linux). The fix is in jdk8 b96. Have you tried the fix? > > > Best, > Albert > > > On 01.07.2013 14:50, Volker Simonis wrote: > > Thank you Albert! > > I'll prepare a webrev. > > Regards, > Volker > > > On Fri, Jun 28, 2013 at 3:10 PM, Albert Noll wrote: > > Hi Volker, > > I created a bug for you: > JDK-8019382 > > Best, > Albert > > > On 28.06.2013 11:14, Volker Simonis wrote: > > The fix is trivial - just add a '(void)' cast to some macro > definitions (see attachment). > > > From goetz.lindenmaier at sap.com Mon Jul 1 09:13:25 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 1 Jul 2013 16:13:25 +0000 Subject: Sync from jdk8/jdk8 to ppc-aix-port/stage is finished In-Reply-To: References: <51C87EF1.3060209@oracle.com> <51CC9973.9030502@oracle.com> <51CD8B34.9000303@oracle.com> <51D181BC.9000801@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF105B@DEWDFEMB12A.global.corp.sap> Hi, 8014431 is just the change that caused the problem. It did not fix the cppInterpreter files, as you have no testbuild for that. Best regards, Goetz. -----Original Message----- From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Volker Simonis Sent: Montag, 1. Juli 2013 18:01 To: Albert Noll; ppc-aix-port-dev at openjdk.java.net Subject: Re: Sync from jdk8/jdk8 to ppc-aix-port/stage is finished Hi Albert, thanks, but as far as I can see, this fix does not touch bytecodeInterpreter.cpp. Regards, Volker On Mon, Jul 1, 2013 at 3:18 PM, Albert Noll wrote: > > Hi Volker, > > there is a related issue. Did you know about this? > > http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/ef57c43512d6 > http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/ef57c43512d6 > > I got the following comment in jbs: > > Albert, > > Can you add the attachment? > > There's a recent related fix for (8014431: cleanup warnings indicated by the -Wunused-value compiler option on Linux). The fix is in jdk8 b96. Have you tried the fix? > > > Best, > Albert > > > On 01.07.2013 14:50, Volker Simonis wrote: > > Thank you Albert! > > I'll prepare a webrev. > > Regards, > Volker > > > On Fri, Jun 28, 2013 at 3:10 PM, Albert Noll wrote: > > Hi Volker, > > I created a bug for you: > JDK-8019382 > > Best, > Albert > > > On 28.06.2013 11:14, Volker Simonis wrote: > > The fix is trivial - just add a '(void)' cast to some macro > definitions (see attachment). > > > From volker.simonis at gmail.com Mon Jul 1 09:28:02 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Mon, 1 Jul 2013 18:28:02 +0200 Subject: RFR(XXS): 8019382 : PPC64: Fix bytecodeInterpreter to compile with '-Wunused-value' Message-ID: Hi, this is a patch from the PowerPC/AIX porting project but it only changes shared code and it fixes a build problem in the C++ interpreter which also affects the Zero-Port so I would strongly recommend to push it right into the hotspot repository. The problem is related to "8014431 : cleanup warnings indicated by the -Wunused-value compiler option on linux" which added the "-Wunused-value" option to the Linux build but did not clean up the code in the c++ interpreter. This lead to several warnings which are now treated as errors when compiling bytecodeInterpreter.cpp. The fix is easy - just cast the offending expressions to void: http://cr.openjdk.java.net/~simonis/webrevs/8019382/ Thank you and best regards, Volker From albert.noll at oracle.com Mon Jul 1 11:31:22 2013 From: albert.noll at oracle.com (Albert Noll) Date: Mon, 01 Jul 2013 20:31:22 +0200 Subject: BugIDs for C interpreter changes In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF0F4F@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF0F4F@DEWDFEMB12A.global.corp.sap> Message-ID: <51D1CAFA.5080005@oracle.com> Hi, I created the following bug-ids: On 01.07.2013 15:28, Lindenmaier, Goetz wrote: > > Hi, > > Can you please give me BugIDs for the following changes: > > cppInterpreter: implement G1 support: > 8019517 > > cppInterpreter: implement support for compressed Oops > 8019518 > > cppInterpreter: implement support for early return > 8019519 > > I'll prepare changes affecting only cppInterpreter files for > > these and then post them to the mailing lists. > > Thanks & best regards, > > Goetz. > Best, Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130701/920237e6/attachment.html From vladimir.kozlov at oracle.com Mon Jul 1 13:52:26 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 01 Jul 2013 13:52:26 -0700 Subject: BugIDs for C interpreter changes In-Reply-To: <51D1CAFA.5080005@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF0F4F@DEWDFEMB12A.global.corp.sap> <51D1CAFA.5080005@oracle.com> Message-ID: <51D1EC0A.8020504@oracle.com> Albert, Thank you for filing bugs but I want you to follow the format I used for PPC64 port bugs before. Please, fix bugs reports accordingly. These changes correspond to next patches in http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/df79d76c17ab/ppc_patches/: 0102_C_interpreter-implement_G1_support.patch 0104_C_interpreter-support_compressed_Oops.patch 0105_C_interpreter-support_early_return.patch Goetz, please, next time point patches for which you want to file bugs. Albert, bug's synopsis and description should reflect which patch is used. Lets take 8019517 for example. You should have: Synopsis: PPC64 (part 102): cppInterpreter: implement G1 support Description: ------------------------------------------------------------------------ This is preparation for PPC64 integration: http://openjdk.java.net/jeps/175 This and following ppc64 changes will go into staging repository first and tested there: http://hg.openjdk.java.net/ppc-aix-port/stage/ Add G1 support to cppInterpreter. http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/df79d76c17ab/ppc_patches/0102_C_interpreter-implement_G1_support.patch ------------------------------------------------------------------------ CPU: generic (it is interpreter). It should be open - press 'Triage'. And assign it to yourself or me. Thanks, Vladimir On 7/1/13 11:31 AM, Albert Noll wrote: > Hi, > > I created the following bug-ids: > > > On 01.07.2013 15:28, Lindenmaier, Goetz wrote: >> >> Hi, >> >> Can you please give me BugIDs for the following changes: >> >> cppInterpreter: implement G1 support: >> > 8019517 >> >> cppInterpreter: implement support for compressed Oops >> > 8019518 >> >> cppInterpreter: implement support for early return >> > 8019519 >> >> I?ll prepare changes affecting only cppInterpreter files for >> >> these and then post them to the mailing lists. >> >> Thanks & best regards, >> >> Goetz. >> > Best, > Albert From vladimir.kozlov at oracle.com Mon Jul 1 16:17:00 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 01 Jul 2013 16:17:00 -0700 Subject: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFE9848@DEWDFEMB12A.global.corp.sap> <7D0A3D84-A235-4400-8406-95D5EE765E55@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFE9ADF@DEWDFEMB12A.global.corp.sap> <8AA57E4C-80A8-4D10-AE68-64FCB113CC33@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEADA2@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC0CFEC4BA@DEWDFEMB12A.global.corp.sap> <6D628389-7082-450E-AF0E-1EC3249058F7@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> Message-ID: <51D20DEC.7050904@oracle.com> Goetz, Why you did not add 'nop' between load and return instructions on sparc? It was in assembler in .s file. The next comment said we need it: !! By convention with the trap handler we ensure there is a non-CTI !! instruction in the trap shadow. Also should we align code in stubs to keep it in one cache line? __ align(CodeEntryAlignment); *entry = __ pc(); Thanks, Vladimir On 6/24/13 12:31 PM, Lindenmaier, Goetz wrote: > Hi, > > you are right, the check is redundant. > I removed it and updated the webrev and also based it on the > recent staging repo: > http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ > > Best regards, > Goetz. > > > -----Original Message----- > From: Christian Thalinger [mailto:christian.thalinger at oracle.com] > Sent: Monday, June 24, 2013 7:48 PM > To: Lindenmaier, Goetz > Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch > > > On Jun 20, 2013, at 7:01 AM, "Lindenmaier, Goetz" wrote: > >> Hi, >> >> I implemented the safefetch stubs for x86 and sparc (was quiet simple). >> This way I could clean up the #define right away. >> >> I tested it thouroughly on >> x86_64: bsd, nt, linux, solaris >> x86_32: nt, linux >> by adding it into our internal VM. >> Tonight I will get build/test on >> sparc_64 solaris >> sparc_32 solaris >> x86_64 nt, linux >> with the openjdk ppc port, but I tested that before submitting in a smaller >> extend, too. >> >> Here the webrev: >> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ > > I like this change. It removes a lot of duplication. One comment: > > + static bool is_safefetch_fault(address pc) { > + return pc != NULL && > + (pc == _safefetch32_fault_pc || > + pc == _safefetchN_fault_pc); > + } > > checks for pc != null. Should we remove the check here? > > + if (pc && StubRoutines::is_safefetch_fault(pc)) { > + set_cont_address(uc, address(StubRoutines::continuation_for_safefetch_fault(pc))); > return true; > } > > -- Chris > >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >> Sent: Dienstag, 18. Juni 2013 22:44 >> To: Lindenmaier, Goetz >> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >> >> >> On Jun 18, 2013, at 1:18 PM, "Lindenmaier, Goetz" wrote: >> >>> Ok, I will implement it on x86. >>> >>> To get a single change, you can give me the sparc patch, >>> or you extend the webrev once I updated it with the >>> x86 code. >> >> Sounds good. Let me know when it's there. >> >> -- Chris >> >>> If you prefer, you can also push it to some other repository, it >>> will end up in the ppc repo in time I guess. >>> >>> Best regards, >>> Goetz. >>> >>> >>> -----Original Message----- >>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>> Sent: Tuesday, June 18, 2013 6:59 PM >>> To: Lindenmaier, Goetz >>> Cc: Volker Simonis; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >>> >>> >>> On Jun 18, 2013, at 1:50 AM, "Lindenmaier, Goetz" wrote: >>> >>>> Hi, >>>> >>>> We have it on these platforms: >>>> ia64 (nt, linux, hp_ux) >>>> parisc (hp_ux) >>>> zArch (linux) >>>> ppc (aix, linux) >>>> >>>> I would implement it on x86 & friends, you do it on sparc and wherever >>>> else you like it? >>> >>> That sounds reasonable. Are we pushing this to the ppc repository then? >>> >>> -- Chris >>> >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Dienstag, 18. Juni 2013 07:13 >>>> To: Volker Simonis >>>> Cc: Lindenmaier, Goetz; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >>>> >>>> >>>> On Jun 17, 2013, at 10:08 AM, Volker Simonis wrote: >>>> >>>>> Hi Goetz, >>>>> >>>>> I think the change is good and if the other reviewers don't decide to >>>>> implement it for the current platforms we can push it. >>>> >>>> I talked with Vladimir about this today and I my opinion we should use this stub on all platforms. On which other platforms are you guys having this? >>>> >>>> -- Chris >>>> >>>>> >>>>> By the way, the makefile changes in ppc64.make will follow in patch 8 for >>>>> linux [1] and patch 14 for aix [2]. >>>>> The implementation of the stubs will be in patch 9 for linux [3] and patch >>>>> 15 for aix [4] (only the signal handling part). >>>>> >>>>> Regards, >>>>> Volker >>>>> >>>>> [1] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0008_linux_ppc_make_changes.patch >>>>> [2] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0014_aix_make_changes.patch >>>>> [3] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0009_linux_ppc_files.patch >>>>> [4] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0015_aix_ppc_files.patch >>>>> >>>>> >>>>> >>>>> On Mon, Jun 17, 2013 at 3:55 PM, Lindenmaier, Goetz < >>>>> goetz.lindenmaier at sap.com> wrote: >>>>> >>>>>> Hi,**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> the PPC64 port uses stub routines to implement safefetch. We had and**** >>>>>> >>>>>> have problems with inline assembly, especially with non-gcc**** >>>>>> >>>>>> compilers. Stub routines allow to implement safefetch without**** >>>>>> >>>>>> depending on OS or compiler, as it's the case with the current**** >>>>>> >>>>>> implementation. This also allows to use a single implementation if an**** >>>>>> >>>>>> architecture is supported on several os platforms.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-safefetch/**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Currently, we guard the code with **** >>>>>> >>>>>> #ifdef SAFEFETCH_STUBS**** >>>>>> >>>>>> which is set in ppc64.make.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> I could also imagine an implementation that uses a pd_debug flag**** >>>>>> >>>>>> or a const flag set in os_.hpp that allows the C-compiler to **** >>>>>> >>>>>> optimize, and writing the code like this:**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> extern "C" int pd_SafeFetch32 (int * adr, int errValue) ;**** >>>>>> >>>>>> extern "C" intptr_t pd_SafeFetchN (intptr_t * adr, intptr_t errValue) ;*** >>>>>> * >>>>>> >>>>>> inline int SafeFetch32(int* adr, int errValue) {**** >>>>>> >>>>>> if (UseSafefetchStub) {**** >>>>>> >>>>>> assert(StubRoutines::SafeFetch32_stub(), "stub not yet generated");*** >>>>>> * >>>>>> >>>>>> return StubRoutines::SafeFetch32_stub()(adr, errValue);**** >>>>>> >>>>>> } else {**** >>>>>> >>>>>> pd_SafeFetch32(adr, errValue);**** >>>>>> >>>>>> }**** >>>>>> >>>>>> }**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Unfortunately this requires **** >>>>>> >>>>>> 1) setting the flag on all platforms**** >>>>>> >>>>>> 2) renaming the safefetch function on all platfoms.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Actually I would prefer this second solution as it avoids the >>>>>> preprocessor, **** >>>>>> >>>>>> and am happy to edit the sources accordingly if this finds acceptance.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> For the implementation of a safefetch_stub see**** >>>>>> >>>>>> >>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/fce884e5ba0b/src/cpu/ppc/vm/stubGenerator_ppc.cpp >>>>>> **** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Could I get a review on this change, please?**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Thanks,**** >>>>>> >>>>>> Goetz.**** >>>>>> >>>> >>> >> > From vladimir.kozlov at oracle.com Mon Jul 1 20:48:37 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 01 Jul 2013 20:48:37 -0700 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> <51CB0F42.5020604@oracle.com> <51CB1C80.9090305@oracle.com> <51CC10E7.5000903@oracle.com> <51CC274E.7050401@oracle.com> <4f66ed63-fb17-429e-893c-ea1497cbc6b6@default> <51CC77CF.9010108@oracle.com> Message-ID: <51D24D95.7050207@oracle.com> Need help from JDK build experts. I applied next 2 changesets: http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel/ http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ and got JPRT build problems (-control build) only on MacOS and Win64: http://bus2001067.us.oracle.com/archives/2013/06/2013-06-28-213927.vkozlov.ppc64_jdk_build_test/ ------------------------------------------------------------------------------ macosx_x64_10.7-product (details from log file) ... Warning: The generated configure file contains changes not present in the custom generated file. Running autogen.sh to correct the situation Autoconf found: /usr/bin/autoconf Autoconf-2.67 found: Generating generated-configure.sh with /usr/bin/autoconf /usr/bin/gm4:stdin:187: bad expression in eval: 32 > autom4te: /usr/bin/gm4 failed with exit status: 1 Generating custom generated-configure.sh /usr/bin/gm4:stdin:187: bad expression in eval: 32 > autom4te: /usr/bin/gm4 failed with exit status: 1 ------------------------------------------------------------------------------ windows_x64_5.2-fastdebug (details from log file) ... Warning: The generated configure file contains changes not present in the custom generated file. Error: Cannot continue Cannot locate autoconf, unable to correct situation. Please install autoconf and run 'bash autogen.sh' to update the generated files. make: *** [bridge2configure] Error 1 ------------------------------------------------------------------------------ Without these changes the output is: Running custom generated-configure.sh configure: Configuration created at Thu Jun 27 16:32:25 EDT 2013. configure: configure script generated at timestamp 1371547939. Thanks, Vladimir On 6/28/13 12:04 AM, Volker Simonis wrote: > Ok, that's fine. > > Could you please let me know when you've verified these changes. I > will then push them to the staging repository. > > > Regards, > Volker > > > On Thu, Jun 27, 2013 at 7:35 PM, Vladimir Kozlov > wrote: >> On 6/27/13 10:16 AM, Iris Clark wrote: >>> >>> Hi, Volker. >>> >>> I think that the right thing for this change [1] is for you to push into >>> ppc-aix-port/stage once you get the necessary reviews (presumably Erik and >>> possibly Alan). While your changeset contains some general purpose updates, >>> it also contains PPC/AIX-specific files which can't be added to a JDK >>> release repository until stage is pushed into the a JDK release. >>> >>> The recommendation to push to stage of course assumes that Vladimir >>> doesn't think that this will adversely affect the Hotspot work already being >>> pushed to stage. >> >> >> This should not affect Hotspot in stage repo. Me or Albert will do JPRT >> bootstrap control build of jdk with this changes to make sure it works. >> After that Volker can push it into stage. >> >> When I talked about pushing *general* changes into main sources I meant >> changes with no ppc64 specific code. The example of such changes was recent >> Goetz's fix for '8017531: 8010460 changes broke bytecodeInterpreter.cpp'. >> >> Thanks, >> Vladimir >> >> >>> >>> Thanks, >>> iris >>> >>> [1]: http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>> >>> -----Original Message----- >>> From: Volker Simonis [mailto:volker.simonis at gmail.com] >>> Sent: Thursday, June 27, 2013 9:23 AM >>> To: Erik Joelsson >>> Cc: Kumar Srinivasan; build-dev; ppc-aix-port-dev at openjdk.java.net; Alan >>> Bateman >>> Subject: Re: RFR (XS): Enable new build on Linux/PPC64 (jdk part) >>> >>> Hi Erik, >>> >>> we have no polices which are carved in stone:) It's all done informally >>> and by common sense. >>> >>> The main reason for the ppc-aix-port/stage repository is to have a sandbox >>> for in-depth review and testing of changes we had to make in shared code >>> before pushing them to the main repository (and this especially applies to >>> hotspot changes). If you feel comfortable with the current changes and don't >>> think that they will break anything (e.g. by running tests build on your >>> supported platforms including the closed source ones) I'd really appreciate >>> if you could push them to the build repository. >>> >>> Otherwise I'll push them to the staging repository and you'll get them >>> once we're finished with the integration of the port. >>> >>> Thank you and best regards, >>> Volker >>> >>> On Thu, Jun 27, 2013 at 1:51 PM, Erik Joelsson >>> wrote: >>>> >>>> >>>> >>>> On 2013-06-27 13:00, Volker Simonis wrote: >>>> >>>> >>>> >>>> >>>> On Thu, Jun 27, 2013 at 12:16 PM, Erik Joelsson >>>> >>>> wrote: >>>>> >>>>> >>>>> Hello Volker, >>>>> >>>>> I wasn't aware of this project until now. From what I (now) >>>>> understand, generic patches can go into jdk8 repos, but port specific >>>>> things need to go to staging and go in with the rest later. These >>>>> changes contain a couple of port specific things so as it looks now >>>>> they would need to go through staging. >>>>> >>>> >>>> Yes, that's the general approach. But I'd argue that for the most part >>>> this changes are generic (enable CPP-interpreter, enable CORE build, >>>> fix for broken ld on SuSE, replacing OPENWIN_LIB by X_LIB, fix typos) >>>> with only very few PPC64 specific parts (map-files and a few defines). >>>> The problem we want to avoid is that some of our fixes go into the >>>> main repositories in parallel which would result in merging pain when >>>> integrating the staging into the main repository. >>>> >>>> So if you think you don't need any of the general fixes any time soon, >>>> I'll push the changes into the staging repository. Otherwise I think >>>> it would be better to push them right into the main repositories. >>>> >>>> Several of the general fixes in there are good and I don't want to >>>> hinder those getting in. I also don't want to break policies I'm not >>>> familiar with. >>>> >>>> /Erik >>>> >>>> Thanks, >>>> Volker >>>> >>>>> >>>>> /Erik >>>>> >>>>> >>>>> On 2013-06-27 12:03, Volker Simonis wrote: >>>>> >>>>> Hi Erik, >>>>> >>>>> as Vladimir explained, we have a special staging repository for our >>>>> PPC64/AIX port: >>>>> >>>>> I would be happy if you could push the changes right into the >>>>> build-infra repositories and we will then get them into our staging >>>>> repository via jdk8/jdk8. >>>>> >>>>> Otherwise I'll have to push them to our staging repository and later >>>>> when the whole port is completed in the staging repo they will be >>>>> bulk-integrated into jdk8. >>>>> >>>>> What do you think? >>>>> >>>>> Regards, >>>>> Volker >>>>> >>>>> >>>>> On Wed, Jun 26, 2013 at 6:53 PM, Vladimir Kozlov >>>>> wrote: >>>>>> >>>>>> >>>>>> Erik, >>>>>> >>>>>> We have special staging forest for PPC64/AIX port: >>>>>> >>>>>> http://hg.openjdk.java.net/ppc-aix-port/stage >>>>>> >>>>>> We collect Hotspot and JDK changes there for testing before pushing >>>>>> into main sources in a future. But some general fixes we push >>>>>> directly into our main sources. >>>>>> If you think these build changes are acceptable for main, please, >>>>>> ask someone sponsor these changes. >>>>>> >>>>>> Alan is our official contact for PPC64/AIX project. I CC him. >>>>>> >>>>>> Thanks, >>>>>> Vladimir >>>>>> >>>>>> >>>>>> On 6/26/13 8:56 AM, Erik Joelsson wrote: >>>>>>> >>>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> If you by staging area mean the build-infra forest, that's more or >>>>>>> less dead now. >>>>>>> >>>>>>> I think these changes look good now (both top level and jdk). It >>>>>>> should be fine to push this to jdk8/build. >>>>>>> >>>>>>> /Erik >>>>>>> >>>>>>> On 2013-06-26 17:28, Volker Simonis wrote: >>>>>>>> >>>>>>>> >>>>>>>> Hi Erik, >>>>>>>> >>>>>>>> thank you for looking at this. I've prepared a new webrev at: >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> What do you think, do you want to push this directly into the >>>>>>>> build repositories or should I push it into the staging repository >>>>>>>> first? >>>>>>>> >>>>>>>> Please see my further comments inline. >>>>>>>> >>>>>>>> Thank you and best regards, >>>>>>>> Volker >>>>>>>> >>>>>>>> On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson >>>>>>>> > wrote: >>>>>>>> >>>>>>>> >>>>>>>> On 2013-06-25 12:27, Erik Joelsson wrote: >>>>>>>> >>>>>>>> Hello Volker, >>>>>>>> >>>>>>>> On 2013-06-24 19:23, Volker Simonis wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> could somebody please review the following change and >>>>>>>> create an appropriate >>>>>>>> Bug ID for it: >>>>>>>> >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_jdk/ >>>>>>>> >>>>>>>> >>>>>>> /> >>>>>>>> >>>>>>>> >>>>>>>> The patch contains two little changes which are required >>>>>>>> to build the class >>>>>>>> library part of the OpenJDK on Linux/PPC64. Most of the >>>>>>>> build magic is >>>>>>>> contained in the top-level part of this change which is >>>>>>>> separately reviewed >>>>>>>> at >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_top >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> CompileLaunchers.gmk >>>>>>>> >>>>>>>> Remove mapfile from build instructions of >>>>>>>> BUILD_UNPACKEXE: >>>>>>>> >>>>>>>> CFLAGS_macosx:=-fPIC, \ >>>>>>>> - >>>>>>>> >>>>>>>> >>>>>>>> MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ >>>>>>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ >>>>>>>> >>>>>>>> I think it makes no sense to use a version script file >>>>>>>> for an executable >>>>>>>> and older linkers (e.g. on SLES 10) complain with: >>>>>>>> "*Invalid version tag >>>>>>>> `SUNWprivate_1.1'. Only anonymous version tag is allowed >>>>>>>> in executable.*" >>>>>>>> The GNU ld >>>>>>>> >>>>>>>> >>>>>>>> manualstates: >>>>>>>> "*Version scripts are only meaningful when creating >>>>>>>> shared >>>>>>>> libraries.*" >>>>>>>> Morover unpack200 was the only executable which used a >>>>>>>> version script file. >>>>>>>> >>>>>>>> Unpackexe has some weirdness and this isn't surprising me. >>>>>>>> Would be good if someone with more historic knowledge could >>>>>>>> fill in on the reason for this. Someone apparently went >>>>>>>> through the trouble of creating a special mapfile for this >>>>>>>> executable. Also, if not using it, should it be removed? >>>>>>>> >>>>>>>> I looked closer at this. These mapfiles were explicitly added in >>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=7033954, but it was noted >>>>>>>> that it broke builds for architectures that didn't have mapfiles >>>>>>>> defined. If you look at the launchers, the mapfile is only set >>>>>>>> if >>>>>>>> the arch specific one exists. I think a safer change here would >>>>>>>> be >>>>>>>> to make the mapfile conditional on platform or arch for >>>>>>>> unpackexe. >>>>>>>> >>>>>>>> >>>>>>>> I still do not fully understand why we need map-files for >>>>>>>> executables, but I also understand that you don't want to change the >>>>>>>> current setup. >>>>>>>> So I went the hard (and hopefully right:) way and implemented a >>>>>>>> detection of the buggy linkers on older SuSE distros (e.g. on SLES >>>>>>>> 10) which complain with: "Invalid version tag `SUNWprivate_1.1' >>>>>>>> during the configure step (see top-level change). Unfortunately we >>>>>>>> still have quite a lot of these systems so we really need the >>>>>>>> build with that buggy ld. >>>>>>>> >>>>>>>> I've therefore added map files with anonymous version tags for >>>>>>>> these buggy linkers which are only used if the buggy linker was >>>>>>>> detected during the configure step (i.e. if >>>>>>>> USING_BROKEN_SUSE_LD=yes). Notice that this is no PPC64 specific >>>>>>>> problem but a occurs on all SuSE 10 platforms. >>>>>>>> >>>>>>>> And you've been right. I also had to add the arch specific map >>>>>>>> files for ppc64 in order to use them for the other launchers. >>>>>>>> >>>>>>>> Kumar, you made the change referred to here, do you have >>>>>>>> anything >>>>>>>> to add? >>>>>>>> >>>>>>>> /Erik >>>>>>>> >>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>> >>>>>>>> default: all >>>>>>>> >>>>>>>> CompileNativeLibraries.gmk >>>>>>>> >>>>>>>> Only use $(OPENWIN_LIB) for linking LIBSPLASHSCREEN on >>>>>>>> Solaris! The old >>>>>>>> code worked only accidentally when the X-libraries are >>>>>>>> in >>>>>>>> the default >>>>>>>> linker path anyway. The right solution is to use >>>>>>>> $(X_LIBS) >>>>>>>> if not on >>>>>>>> Windows or Solaris. >>>>>>>> >>>>>>>> Append -DX_ARCH=X_PPC64 to LIBJSOUND_CFLAGS on PPC64. >>>>>>>> The value of >>>>>>>> X_ARCHisn't actually used on the PPC architectures, but >>>>>>>> there's a >>>>>>>> check to verify >>>>>>>> that it is set. >>>>>>>> >>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>> >>>>>>>> default: all >>>>>>>> >>>>>>>> >>>>>>>> Otherwise looks good. >>>>>>>> >>>>>>>> /Erik >>>>>>>> >>>>>>>> >>>>> >>>> >> From erik.joelsson at oracle.com Tue Jul 2 00:16:00 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Tue, 02 Jul 2013 09:16:00 +0200 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: <51D24D95.7050207@oracle.com> References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> <51CB0F42.5020604@oracle.com> <51CB1C80.9090305@oracle.com> <51CC10E7.5000903@oracle.com> <51CC274E.7050401@oracle.com> <4f66ed63-fb17-429e-893c-ea1497cbc6b6@default> <51CC77CF.9010108@oracle.com> <51D24D95.7050207@oracle.com> Message-ID: <51D27E30.2010002@oracle.com> This looks like you have applied a change to configure input files (*.m4) and haven't regenerated configure locally afterwards. The JPRT machines don't have autoconf setup so they can't do it. In this case it looks like one of them, probably the mac, has a faulty version of autoconf that gets picked up. I have seen this happen before on mac. The fix is to execute "bash common/autoconf/autogen.sh" locally and then resubmit to jprt. You need to have autoconf version 2.67 or newer installed for it to work. /Erik On 2013-07-02 05:48, Vladimir Kozlov wrote: > Need help from JDK build experts. > > I applied next 2 changesets: > > http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel/ > http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ > > and got JPRT build problems (-control build) only on MacOS and Win64: > > http://bus2001067.us.oracle.com/archives/2013/06/2013-06-28-213927.vkozlov.ppc64_jdk_build_test/ > > > ------------------------------------------------------------------------------ > > macosx_x64_10.7-product (details from log file) > > ... > > Warning: The generated configure file contains changes not present in > the custom generated file. > Running autogen.sh to correct the situation > Autoconf found: /usr/bin/autoconf > Autoconf-2.67 found: > Generating generated-configure.sh with /usr/bin/autoconf > /usr/bin/gm4:stdin:187: bad expression in eval: 32 > > autom4te: /usr/bin/gm4 failed with exit status: 1 > Generating custom generated-configure.sh > /usr/bin/gm4:stdin:187: bad expression in eval: 32 > > autom4te: /usr/bin/gm4 failed with exit status: 1 > > ------------------------------------------------------------------------------ > > windows_x64_5.2-fastdebug (details from log file) > > ... > > Warning: The generated configure file contains changes not present in > the custom generated file. > Error: Cannot continue > Cannot locate autoconf, unable to correct situation. > Please install autoconf and run 'bash autogen.sh' to update the > generated files. > make: *** [bridge2configure] Error 1 > > ------------------------------------------------------------------------------ > > > Without these changes the output is: > > Running custom generated-configure.sh > configure: Configuration created at Thu Jun 27 16:32:25 EDT 2013. > configure: configure script generated at timestamp 1371547939. > > Thanks, > Vladimir > > On 6/28/13 12:04 AM, Volker Simonis wrote: >> Ok, that's fine. >> >> Could you please let me know when you've verified these changes. I >> will then push them to the staging repository. >> >> >> Regards, >> Volker >> >> >> On Thu, Jun 27, 2013 at 7:35 PM, Vladimir Kozlov >> wrote: >>> On 6/27/13 10:16 AM, Iris Clark wrote: >>>> >>>> Hi, Volker. >>>> >>>> I think that the right thing for this change [1] is for you to push >>>> into >>>> ppc-aix-port/stage once you get the necessary reviews (presumably >>>> Erik and >>>> possibly Alan). While your changeset contains some general purpose >>>> updates, >>>> it also contains PPC/AIX-specific files which can't be added to a JDK >>>> release repository until stage is pushed into the a JDK release. >>>> >>>> The recommendation to push to stage of course assumes that Vladimir >>>> doesn't think that this will adversely affect the Hotspot work >>>> already being >>>> pushed to stage. >>> >>> >>> This should not affect Hotspot in stage repo. Me or Albert will do JPRT >>> bootstrap control build of jdk with this changes to make sure it works. >>> After that Volker can push it into stage. >>> >>> When I talked about pushing *general* changes into main sources I meant >>> changes with no ppc64 specific code. The example of such changes was >>> recent >>> Goetz's fix for '8017531: 8010460 changes broke >>> bytecodeInterpreter.cpp'. >>> >>> Thanks, >>> Vladimir >>> >>> >>>> >>>> Thanks, >>>> iris >>>> >>>> [1]: http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>> >>>> -----Original Message----- >>>> From: Volker Simonis [mailto:volker.simonis at gmail.com] >>>> Sent: Thursday, June 27, 2013 9:23 AM >>>> To: Erik Joelsson >>>> Cc: Kumar Srinivasan; build-dev; ppc-aix-port-dev at openjdk.java.net; >>>> Alan >>>> Bateman >>>> Subject: Re: RFR (XS): Enable new build on Linux/PPC64 (jdk part) >>>> >>>> Hi Erik, >>>> >>>> we have no polices which are carved in stone:) It's all done >>>> informally >>>> and by common sense. >>>> >>>> The main reason for the ppc-aix-port/stage repository is to have a >>>> sandbox >>>> for in-depth review and testing of changes we had to make in shared >>>> code >>>> before pushing them to the main repository (and this especially >>>> applies to >>>> hotspot changes). If you feel comfortable with the current changes >>>> and don't >>>> think that they will break anything (e.g. by running tests build on >>>> your >>>> supported platforms including the closed source ones) I'd really >>>> appreciate >>>> if you could push them to the build repository. >>>> >>>> Otherwise I'll push them to the staging repository and you'll get them >>>> once we're finished with the integration of the port. >>>> >>>> Thank you and best regards, >>>> Volker >>>> >>>> On Thu, Jun 27, 2013 at 1:51 PM, Erik Joelsson >>>> >>>> wrote: >>>>> >>>>> >>>>> >>>>> On 2013-06-27 13:00, Volker Simonis wrote: >>>>> >>>>> >>>>> >>>>> >>>>> On Thu, Jun 27, 2013 at 12:16 PM, Erik Joelsson >>>>> >>>>> wrote: >>>>>> >>>>>> >>>>>> Hello Volker, >>>>>> >>>>>> I wasn't aware of this project until now. From what I (now) >>>>>> understand, generic patches can go into jdk8 repos, but port >>>>>> specific >>>>>> things need to go to staging and go in with the rest later. These >>>>>> changes contain a couple of port specific things so as it looks now >>>>>> they would need to go through staging. >>>>>> >>>>> >>>>> Yes, that's the general approach. But I'd argue that for the most >>>>> part >>>>> this changes are generic (enable CPP-interpreter, enable CORE build, >>>>> fix for broken ld on SuSE, replacing OPENWIN_LIB by X_LIB, fix typos) >>>>> with only very few PPC64 specific parts (map-files and a few >>>>> defines). >>>>> The problem we want to avoid is that some of our fixes go into the >>>>> main repositories in parallel which would result in merging pain when >>>>> integrating the staging into the main repository. >>>>> >>>>> So if you think you don't need any of the general fixes any time >>>>> soon, >>>>> I'll push the changes into the staging repository. Otherwise I think >>>>> it would be better to push them right into the main repositories. >>>>> >>>>> Several of the general fixes in there are good and I don't want to >>>>> hinder those getting in. I also don't want to break policies I'm not >>>>> familiar with. >>>>> >>>>> /Erik >>>>> >>>>> Thanks, >>>>> Volker >>>>> >>>>>> >>>>>> /Erik >>>>>> >>>>>> >>>>>> On 2013-06-27 12:03, Volker Simonis wrote: >>>>>> >>>>>> Hi Erik, >>>>>> >>>>>> as Vladimir explained, we have a special staging repository for our >>>>>> PPC64/AIX port: >>>>>> >>>>>> I would be happy if you could push the changes right into the >>>>>> build-infra repositories and we will then get them into our staging >>>>>> repository via jdk8/jdk8. >>>>>> >>>>>> Otherwise I'll have to push them to our staging repository and later >>>>>> when the whole port is completed in the staging repo they will be >>>>>> bulk-integrated into jdk8. >>>>>> >>>>>> What do you think? >>>>>> >>>>>> Regards, >>>>>> Volker >>>>>> >>>>>> >>>>>> On Wed, Jun 26, 2013 at 6:53 PM, Vladimir Kozlov >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> Erik, >>>>>>> >>>>>>> We have special staging forest for PPC64/AIX port: >>>>>>> >>>>>>> http://hg.openjdk.java.net/ppc-aix-port/stage >>>>>>> >>>>>>> We collect Hotspot and JDK changes there for testing before pushing >>>>>>> into main sources in a future. But some general fixes we push >>>>>>> directly into our main sources. >>>>>>> If you think these build changes are acceptable for main, please, >>>>>>> ask someone sponsor these changes. >>>>>>> >>>>>>> Alan is our official contact for PPC64/AIX project. I CC him. >>>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> >>>>>>> >>>>>>> On 6/26/13 8:56 AM, Erik Joelsson wrote: >>>>>>>> >>>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> If you by staging area mean the build-infra forest, that's more or >>>>>>>> less dead now. >>>>>>>> >>>>>>>> I think these changes look good now (both top level and jdk). It >>>>>>>> should be fine to push this to jdk8/build. >>>>>>>> >>>>>>>> /Erik >>>>>>>> >>>>>>>> On 2013-06-26 17:28, Volker Simonis wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> Hi Erik, >>>>>>>>> >>>>>>>>> thank you for looking at this. I've prepared a new webrev at: >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> What do you think, do you want to push this directly into the >>>>>>>>> build repositories or should I push it into the staging >>>>>>>>> repository >>>>>>>>> first? >>>>>>>>> >>>>>>>>> Please see my further comments inline. >>>>>>>>> >>>>>>>>> Thank you and best regards, >>>>>>>>> Volker >>>>>>>>> >>>>>>>>> On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson >>>>>>>>> > >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> On 2013-06-25 12:27, Erik Joelsson wrote: >>>>>>>>> >>>>>>>>> Hello Volker, >>>>>>>>> >>>>>>>>> On 2013-06-24 19:23, Volker Simonis wrote: >>>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> could somebody please review the following >>>>>>>>> change and >>>>>>>>> create an appropriate >>>>>>>>> Bug ID for it: >>>>>>>>> >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_jdk/ >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>> /> >>>>>>>>> >>>>>>>>> >>>>>>>>> The patch contains two little changes which are >>>>>>>>> required >>>>>>>>> to build the class >>>>>>>>> library part of the OpenJDK on Linux/PPC64. Most >>>>>>>>> of the >>>>>>>>> build magic is >>>>>>>>> contained in the top-level part of this change >>>>>>>>> which is >>>>>>>>> separately reviewed >>>>>>>>> at >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_top >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> CompileLaunchers.gmk >>>>>>>>> >>>>>>>>> Remove mapfile from build instructions of >>>>>>>>> BUILD_UNPACKEXE: >>>>>>>>> >>>>>>>>> CFLAGS_macosx:=-fPIC, \ >>>>>>>>> - >>>>>>>>> >>>>>>>>> >>>>>>>>> MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ >>>>>>>>> >>>>>>>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ >>>>>>>>> >>>>>>>>> I think it makes no sense to use a version >>>>>>>>> script file >>>>>>>>> for an executable >>>>>>>>> and older linkers (e.g. on SLES 10) complain with: >>>>>>>>> "*Invalid version tag >>>>>>>>> `SUNWprivate_1.1'. Only anonymous version tag is >>>>>>>>> allowed >>>>>>>>> in executable.*" >>>>>>>>> The GNU ld >>>>>>>>> >>>>>>>>> >>>>>>>>> manualstates: >>>>>>>>> >>>>>>>>> "*Version scripts are only meaningful when creating >>>>>>>>> shared >>>>>>>>> libraries.*" >>>>>>>>> Morover unpack200 was the only executable which >>>>>>>>> used a >>>>>>>>> version script file. >>>>>>>>> >>>>>>>>> Unpackexe has some weirdness and this isn't >>>>>>>>> surprising me. >>>>>>>>> Would be good if someone with more historic >>>>>>>>> knowledge could >>>>>>>>> fill in on the reason for this. Someone apparently went >>>>>>>>> through the trouble of creating a special mapfile >>>>>>>>> for this >>>>>>>>> executable. Also, if not using it, should it be >>>>>>>>> removed? >>>>>>>>> >>>>>>>>> I looked closer at this. These mapfiles were explicitly >>>>>>>>> added in >>>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=7033954, but it >>>>>>>>> was noted >>>>>>>>> that it broke builds for architectures that didn't have >>>>>>>>> mapfiles >>>>>>>>> defined. If you look at the launchers, the mapfile is >>>>>>>>> only set >>>>>>>>> if >>>>>>>>> the arch specific one exists. I think a safer change >>>>>>>>> here would >>>>>>>>> be >>>>>>>>> to make the mapfile conditional on platform or arch for >>>>>>>>> unpackexe. >>>>>>>>> >>>>>>>>> >>>>>>>>> I still do not fully understand why we need map-files for >>>>>>>>> executables, but I also understand that you don't want to >>>>>>>>> change the >>>>>>>>> current setup. >>>>>>>>> So I went the hard (and hopefully right:) way and implemented a >>>>>>>>> detection of the buggy linkers on older SuSE distros (e.g. on >>>>>>>>> SLES >>>>>>>>> 10) which complain with: "Invalid version tag `SUNWprivate_1.1' >>>>>>>>> during the configure step (see top-level change). >>>>>>>>> Unfortunately we >>>>>>>>> still have quite a lot of these systems so we really need the >>>>>>>>> build with that buggy ld. >>>>>>>>> >>>>>>>>> I've therefore added map files with anonymous version tags for >>>>>>>>> these buggy linkers which are only used if the buggy linker was >>>>>>>>> detected during the configure step (i.e. if >>>>>>>>> USING_BROKEN_SUSE_LD=yes). Notice that this is no PPC64 specific >>>>>>>>> problem but a occurs on all SuSE 10 platforms. >>>>>>>>> >>>>>>>>> And you've been right. I also had to add the arch specific map >>>>>>>>> files for ppc64 in order to use them for the other launchers. >>>>>>>>> >>>>>>>>> Kumar, you made the change referred to here, do you have >>>>>>>>> anything >>>>>>>>> to add? >>>>>>>>> >>>>>>>>> /Erik >>>>>>>>> >>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>> >>>>>>>>> default: all >>>>>>>>> >>>>>>>>> CompileNativeLibraries.gmk >>>>>>>>> >>>>>>>>> Only use $(OPENWIN_LIB) for linking >>>>>>>>> LIBSPLASHSCREEN on >>>>>>>>> Solaris! The old >>>>>>>>> code worked only accidentally when the >>>>>>>>> X-libraries are >>>>>>>>> in >>>>>>>>> the default >>>>>>>>> linker path anyway. The right solution is to use >>>>>>>>> $(X_LIBS) >>>>>>>>> if not on >>>>>>>>> Windows or Solaris. >>>>>>>>> >>>>>>>>> Append -DX_ARCH=X_PPC64 to LIBJSOUND_CFLAGS on >>>>>>>>> PPC64. >>>>>>>>> The value of >>>>>>>>> X_ARCHisn't actually used on the PPC >>>>>>>>> architectures, but >>>>>>>>> there's a >>>>>>>>> check to verify >>>>>>>>> that it is set. >>>>>>>>> >>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>> >>>>>>>>> default: all >>>>>>>>> >>>>>>>>> >>>>>>>>> Otherwise looks good. >>>>>>>>> >>>>>>>>> /Erik >>>>>>>>> >>>>>>>>> >>>>>> >>>>> >>> From volker.simonis at gmail.com Tue Jul 2 00:31:14 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 2 Jul 2013 09:31:14 +0200 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: <51D27E30.2010002@oracle.com> References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> <51CB0F42.5020604@oracle.com> <51CB1C80.9090305@oracle.com> <51CC10E7.5000903@oracle.com> <51CC274E.7050401@oracle.com> <4f66ed63-fb17-429e-893c-ea1497cbc6b6@default> <51CC77CF.9010108@oracle.com> <51D24D95.7050207@oracle.com> <51D27E30.2010002@oracle.com> Message-ID: Hi Erik, thank you for looking into this. On Tue, Jul 2, 2013 at 9:16 AM, Erik Joelsson wrote: > This looks like you have applied a change to configure input files (*.m4) > and haven't regenerated configure locally afterwards. The JPRT machines > don't have autoconf setup so they can't do it. In this case it looks like > one of them, probably the mac, has a faulty version of autoconf that gets > picked up. I have seen this happen before on mac. > Actually, that was my guess as well. On the other hand that's still strange, because my patch also contains an updated 'common/autoconf/generated- configure.sh' and it works on the other platforms (and also locally for me on MacOS X) without regenerating it. I just saw that the mail I wrote yesterday wasn't send to the lists so I quote my assumptions here: ... >From your logs I only see that the make process does not find any configuration, but the configuration should have been created by running configure. Then it tries to call configure but doesn't succeed because it says "The generated configure file contains changes not present in the custom generated file." That's also strange because my changesets also patch 'common/autoconf/generated- configure.sh' so it should not be re-generated. And finally the build fails because there's not autoconf on Windows and probably because the autoconf on Mac is too old (the checked-in file is generated by autoconf 2.8). I've just synced jdk8/jdk8 and applied the two patches. I could build without any problems on MacOS X 10.8 with the following command line. sh /usr/work/d046063/OpenJDK/ppc-aix-port/stage/configure --with-boot-jdk=/darwinintel64/output/sapjvm_7 --with-target-bits=64 --with-debug-level=release make images LOG=debug Attached you can find the output I get from running configure. Could you please retry one more time? If you still have problems, can you please run configure by hand and post the output. PS: I also saw from your logs that '/usr/bin/make sanity' is called. This also seems strange to me because I think there aren't any sanity targets any more in the new build system. Maybe you have a mismatch between old and new build system? ... Erik, could you please try this locally on Mac or Windows and post you findings. Alternatively, could you please explain post the complete JPRT output and explain what JPRT is trying to do. From Vladimir's log snippets it's hard for me t understand the whole picture. Thank you and best regards, Volker > The fix is to execute "bash common/autoconf/autogen.sh" locally and then > resubmit to jprt. You need to have autoconf version 2.67 or newer installed > for it to work. > > /Erik > > > On 2013-07-02 05:48, Vladimir Kozlov wrote: >> >> Need help from JDK build experts. >> >> I applied next 2 changesets: >> >> http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel/ >> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >> >> and got JPRT build problems (-control build) only on MacOS and Win64: >> >> >> http://bus2001067.us.oracle.com/archives/2013/06/2013-06-28-213927.vkozlov.ppc64_jdk_build_test/ >> >> >> ------------------------------------------------------------------------------ >> macosx_x64_10.7-product (details from log file) >> >> ... >> >> Warning: The generated configure file contains changes not present in the >> custom generated file. >> Running autogen.sh to correct the situation >> Autoconf found: /usr/bin/autoconf >> Autoconf-2.67 found: >> Generating generated-configure.sh with /usr/bin/autoconf >> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >> autom4te: /usr/bin/gm4 failed with exit status: 1 >> Generating custom generated-configure.sh >> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >> autom4te: /usr/bin/gm4 failed with exit status: 1 >> >> >> ------------------------------------------------------------------------------ >> windows_x64_5.2-fastdebug (details from log file) >> >> ... >> >> Warning: The generated configure file contains changes not present in the >> custom generated file. >> Error: Cannot continue >> Cannot locate autoconf, unable to correct situation. >> Please install autoconf and run 'bash autogen.sh' to update the generated >> files. >> make: *** [bridge2configure] Error 1 >> >> >> ------------------------------------------------------------------------------ >> >> Without these changes the output is: >> >> Running custom generated-configure.sh >> configure: Configuration created at Thu Jun 27 16:32:25 EDT 2013. >> configure: configure script generated at timestamp 1371547939. >> >> Thanks, >> Vladimir >> >> On 6/28/13 12:04 AM, Volker Simonis wrote: >>> >>> Ok, that's fine. >>> >>> Could you please let me know when you've verified these changes. I >>> will then push them to the staging repository. >>> >>> >>> Regards, >>> Volker >>> >>> >>> On Thu, Jun 27, 2013 at 7:35 PM, Vladimir Kozlov >>> wrote: >>>> >>>> On 6/27/13 10:16 AM, Iris Clark wrote: >>>>> >>>>> >>>>> Hi, Volker. >>>>> >>>>> I think that the right thing for this change [1] is for you to push >>>>> into >>>>> ppc-aix-port/stage once you get the necessary reviews (presumably Erik >>>>> and >>>>> possibly Alan). While your changeset contains some general purpose >>>>> updates, >>>>> it also contains PPC/AIX-specific files which can't be added to a JDK >>>>> release repository until stage is pushed into the a JDK release. >>>>> >>>>> The recommendation to push to stage of course assumes that Vladimir >>>>> doesn't think that this will adversely affect the Hotspot work already >>>>> being >>>>> pushed to stage. >>>> >>>> >>>> >>>> This should not affect Hotspot in stage repo. Me or Albert will do JPRT >>>> bootstrap control build of jdk with this changes to make sure it works. >>>> After that Volker can push it into stage. >>>> >>>> When I talked about pushing *general* changes into main sources I meant >>>> changes with no ppc64 specific code. The example of such changes was >>>> recent >>>> Goetz's fix for '8017531: 8010460 changes broke >>>> bytecodeInterpreter.cpp'. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> >>>>> >>>>> Thanks, >>>>> iris >>>>> >>>>> [1]: http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>> >>>>> -----Original Message----- >>>>> From: Volker Simonis [mailto:volker.simonis at gmail.com] >>>>> Sent: Thursday, June 27, 2013 9:23 AM >>>>> To: Erik Joelsson >>>>> Cc: Kumar Srinivasan; build-dev; ppc-aix-port-dev at openjdk.java.net; >>>>> Alan >>>>> Bateman >>>>> Subject: Re: RFR (XS): Enable new build on Linux/PPC64 (jdk part) >>>>> >>>>> Hi Erik, >>>>> >>>>> we have no polices which are carved in stone:) It's all done informally >>>>> and by common sense. >>>>> >>>>> The main reason for the ppc-aix-port/stage repository is to have a >>>>> sandbox >>>>> for in-depth review and testing of changes we had to make in shared >>>>> code >>>>> before pushing them to the main repository (and this especially applies >>>>> to >>>>> hotspot changes). If you feel comfortable with the current changes and >>>>> don't >>>>> think that they will break anything (e.g. by running tests build on >>>>> your >>>>> supported platforms including the closed source ones) I'd really >>>>> appreciate >>>>> if you could push them to the build repository. >>>>> >>>>> Otherwise I'll push them to the staging repository and you'll get them >>>>> once we're finished with the integration of the port. >>>>> >>>>> Thank you and best regards, >>>>> Volker >>>>> >>>>> On Thu, Jun 27, 2013 at 1:51 PM, Erik Joelsson >>>>> >>>>> wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On 2013-06-27 13:00, Volker Simonis wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Thu, Jun 27, 2013 at 12:16 PM, Erik Joelsson >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> Hello Volker, >>>>>>> >>>>>>> I wasn't aware of this project until now. From what I (now) >>>>>>> understand, generic patches can go into jdk8 repos, but port specific >>>>>>> things need to go to staging and go in with the rest later. These >>>>>>> changes contain a couple of port specific things so as it looks now >>>>>>> they would need to go through staging. >>>>>>> >>>>>> >>>>>> Yes, that's the general approach. But I'd argue that for the most part >>>>>> this changes are generic (enable CPP-interpreter, enable CORE build, >>>>>> fix for broken ld on SuSE, replacing OPENWIN_LIB by X_LIB, fix typos) >>>>>> with only very few PPC64 specific parts (map-files and a few defines). >>>>>> The problem we want to avoid is that some of our fixes go into the >>>>>> main repositories in parallel which would result in merging pain when >>>>>> integrating the staging into the main repository. >>>>>> >>>>>> So if you think you don't need any of the general fixes any time soon, >>>>>> I'll push the changes into the staging repository. Otherwise I think >>>>>> it would be better to push them right into the main repositories. >>>>>> >>>>>> Several of the general fixes in there are good and I don't want to >>>>>> hinder those getting in. I also don't want to break policies I'm not >>>>>> familiar with. >>>>>> >>>>>> /Erik >>>>>> >>>>>> Thanks, >>>>>> Volker >>>>>> >>>>>>> >>>>>>> /Erik >>>>>>> >>>>>>> >>>>>>> On 2013-06-27 12:03, Volker Simonis wrote: >>>>>>> >>>>>>> Hi Erik, >>>>>>> >>>>>>> as Vladimir explained, we have a special staging repository for our >>>>>>> PPC64/AIX port: >>>>>>> >>>>>>> I would be happy if you could push the changes right into the >>>>>>> build-infra repositories and we will then get them into our staging >>>>>>> repository via jdk8/jdk8. >>>>>>> >>>>>>> Otherwise I'll have to push them to our staging repository and later >>>>>>> when the whole port is completed in the staging repo they will be >>>>>>> bulk-integrated into jdk8. >>>>>>> >>>>>>> What do you think? >>>>>>> >>>>>>> Regards, >>>>>>> Volker >>>>>>> >>>>>>> >>>>>>> On Wed, Jun 26, 2013 at 6:53 PM, Vladimir Kozlov >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Erik, >>>>>>>> >>>>>>>> We have special staging forest for PPC64/AIX port: >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/stage >>>>>>>> >>>>>>>> We collect Hotspot and JDK changes there for testing before pushing >>>>>>>> into main sources in a future. But some general fixes we push >>>>>>>> directly into our main sources. >>>>>>>> If you think these build changes are acceptable for main, please, >>>>>>>> ask someone sponsor these changes. >>>>>>>> >>>>>>>> Alan is our official contact for PPC64/AIX project. I CC him. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Vladimir >>>>>>>> >>>>>>>> >>>>>>>> On 6/26/13 8:56 AM, Erik Joelsson wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> If you by staging area mean the build-infra forest, that's more or >>>>>>>>> less dead now. >>>>>>>>> >>>>>>>>> I think these changes look good now (both top level and jdk). It >>>>>>>>> should be fine to push this to jdk8/build. >>>>>>>>> >>>>>>>>> /Erik >>>>>>>>> >>>>>>>>> On 2013-06-26 17:28, Volker Simonis wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Hi Erik, >>>>>>>>>> >>>>>>>>>> thank you for looking at this. I've prepared a new webrev at: >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> What do you think, do you want to push this directly into the >>>>>>>>>> build repositories or should I push it into the staging repository >>>>>>>>>> first? >>>>>>>>>> >>>>>>>>>> Please see my further comments inline. >>>>>>>>>> >>>>>>>>>> Thank you and best regards, >>>>>>>>>> Volker >>>>>>>>>> >>>>>>>>>> On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson >>>>>>>>>> > >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 2013-06-25 12:27, Erik Joelsson wrote: >>>>>>>>>> >>>>>>>>>> Hello Volker, >>>>>>>>>> >>>>>>>>>> On 2013-06-24 19:23, Volker Simonis wrote: >>>>>>>>>> >>>>>>>>>> Hi, >>>>>>>>>> >>>>>>>>>> could somebody please review the following change >>>>>>>>>> and >>>>>>>>>> create an appropriate >>>>>>>>>> Bug ID for it: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_jdk/ >>>>>>>>>> >>>>>>>>>> >>>>>>>>> /> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> The patch contains two little changes which are >>>>>>>>>> required >>>>>>>>>> to build the class >>>>>>>>>> library part of the OpenJDK on Linux/PPC64. Most of >>>>>>>>>> the >>>>>>>>>> build magic is >>>>>>>>>> contained in the top-level part of this change which >>>>>>>>>> is >>>>>>>>>> separately reviewed >>>>>>>>>> at >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_top >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> CompileLaunchers.gmk >>>>>>>>>> >>>>>>>>>> Remove mapfile from build instructions of >>>>>>>>>> BUILD_UNPACKEXE: >>>>>>>>>> >>>>>>>>>> CFLAGS_macosx:=-fPIC, \ >>>>>>>>>> - >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ >>>>>>>>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ >>>>>>>>>> >>>>>>>>>> I think it makes no sense to use a version script >>>>>>>>>> file >>>>>>>>>> for an executable >>>>>>>>>> and older linkers (e.g. on SLES 10) complain with: >>>>>>>>>> "*Invalid version tag >>>>>>>>>> `SUNWprivate_1.1'. Only anonymous version tag is >>>>>>>>>> allowed >>>>>>>>>> in executable.*" >>>>>>>>>> The GNU ld >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> manualstates: >>>>>>>>>> "*Version scripts are only meaningful when creating >>>>>>>>>> shared >>>>>>>>>> libraries.*" >>>>>>>>>> Morover unpack200 was the only executable which used >>>>>>>>>> a >>>>>>>>>> version script file. >>>>>>>>>> >>>>>>>>>> Unpackexe has some weirdness and this isn't surprising >>>>>>>>>> me. >>>>>>>>>> Would be good if someone with more historic knowledge >>>>>>>>>> could >>>>>>>>>> fill in on the reason for this. Someone apparently went >>>>>>>>>> through the trouble of creating a special mapfile for >>>>>>>>>> this >>>>>>>>>> executable. Also, if not using it, should it be removed? >>>>>>>>>> >>>>>>>>>> I looked closer at this. These mapfiles were explicitly >>>>>>>>>> added in >>>>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=7033954, but it was >>>>>>>>>> noted >>>>>>>>>> that it broke builds for architectures that didn't have >>>>>>>>>> mapfiles >>>>>>>>>> defined. If you look at the launchers, the mapfile is only >>>>>>>>>> set >>>>>>>>>> if >>>>>>>>>> the arch specific one exists. I think a safer change here >>>>>>>>>> would >>>>>>>>>> be >>>>>>>>>> to make the mapfile conditional on platform or arch for >>>>>>>>>> unpackexe. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I still do not fully understand why we need map-files for >>>>>>>>>> executables, but I also understand that you don't want to change >>>>>>>>>> the >>>>>>>>>> current setup. >>>>>>>>>> So I went the hard (and hopefully right:) way and implemented a >>>>>>>>>> detection of the buggy linkers on older SuSE distros (e.g. on SLES >>>>>>>>>> 10) which complain with: "Invalid version tag `SUNWprivate_1.1' >>>>>>>>>> during the configure step (see top-level change). Unfortunately we >>>>>>>>>> still have quite a lot of these systems so we really need the >>>>>>>>>> build with that buggy ld. >>>>>>>>>> >>>>>>>>>> I've therefore added map files with anonymous version tags for >>>>>>>>>> these buggy linkers which are only used if the buggy linker was >>>>>>>>>> detected during the configure step (i.e. if >>>>>>>>>> USING_BROKEN_SUSE_LD=yes). Notice that this is no PPC64 specific >>>>>>>>>> problem but a occurs on all SuSE 10 platforms. >>>>>>>>>> >>>>>>>>>> And you've been right. I also had to add the arch specific map >>>>>>>>>> files for ppc64 in order to use them for the other launchers. >>>>>>>>>> >>>>>>>>>> Kumar, you made the change referred to here, do you have >>>>>>>>>> anything >>>>>>>>>> to add? >>>>>>>>>> >>>>>>>>>> /Erik >>>>>>>>>> >>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>> >>>>>>>>>> default: all >>>>>>>>>> >>>>>>>>>> CompileNativeLibraries.gmk >>>>>>>>>> >>>>>>>>>> Only use $(OPENWIN_LIB) for linking LIBSPLASHSCREEN >>>>>>>>>> on >>>>>>>>>> Solaris! The old >>>>>>>>>> code worked only accidentally when the X-libraries >>>>>>>>>> are >>>>>>>>>> in >>>>>>>>>> the default >>>>>>>>>> linker path anyway. The right solution is to use >>>>>>>>>> $(X_LIBS) >>>>>>>>>> if not on >>>>>>>>>> Windows or Solaris. >>>>>>>>>> >>>>>>>>>> Append -DX_ARCH=X_PPC64 to LIBJSOUND_CFLAGS on >>>>>>>>>> PPC64. >>>>>>>>>> The value of >>>>>>>>>> X_ARCHisn't actually used on the PPC architectures, >>>>>>>>>> but >>>>>>>>>> there's a >>>>>>>>>> check to verify >>>>>>>>>> that it is set. >>>>>>>>>> >>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>> >>>>>>>>>> default: all >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Otherwise looks good. >>>>>>>>>> >>>>>>>>>> /Erik >>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>>> >>>> > -------------- next part -------------- A non-text attachment was scrubbed... Name: configure.out Type: application/octet-stream Size: 11125 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130702/e4570a6e/configure-0001.out From vladimir.kozlov at oracle.com Tue Jul 2 00:56:34 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 02 Jul 2013 00:56:34 -0700 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> <51CB0F42.5020604@oracle.com> <51CB1C80.9090305@oracle.com> <51CC10E7.5000903@oracle.com> <51CC274E.7050401@oracle.com> <4f66ed63-fb17-429e-893c-ea1497cbc6b6@default> <51CC77CF.9010108@oracle.com> <51D24D95.7050207@oracle.com> <51D27E30.2010002@oracle.com> Message-ID: <51D287B2.7080201@oracle.com> JPRT uses own target to build forest: jprt_build_product: sanity all_product_build http://hg.openjdk.java.net/ppc-aix-port/stage/file/c156084add48/make/jprt.gmk That is why 'make sanity' is called I think. Note the next warning was present in JPRT logs on all platforms: Warning: The generated configure file contains changes not present in the custom generated file. I verified that submitted source common/autoconf/generated-configure.sh is matching file in stage repo plus changes from patch. Hmm, may be the problem is next change in generated-configure.sh: -DATE_WHEN_GENERATED=1371547824 +DATE_WHEN_GENERATED=1372238067 It is date when Volker generated generated-configure.sh but the date of changed .m4 files is when I applied patch which is later. It looks like I need to regenerate generated-configure.sh file myself as Erik said. I will give it a try tomorrow. Vladimir On 7/2/13 12:31 AM, Volker Simonis wrote: > Hi Erik, > > thank you for looking into this. > > On Tue, Jul 2, 2013 at 9:16 AM, Erik Joelsson wrote: >> This looks like you have applied a change to configure input files (*.m4) >> and haven't regenerated configure locally afterwards. The JPRT machines >> don't have autoconf setup so they can't do it. In this case it looks like >> one of them, probably the mac, has a faulty version of autoconf that gets >> picked up. I have seen this happen before on mac. >> > > Actually, that was my guess as well. On the other hand that's still > strange, because my patch also contains an updated > 'common/autoconf/generated- > configure.sh' and it works on the other platforms (and also locally > for me on MacOS X) without regenerating it. I just saw that the mail I > wrote yesterday wasn't send to the lists so I quote my assumptions > here: > > ... > From your logs I only see that the make process does not find any > configuration, but the configuration should have been created by > running configure. Then it tries to call configure but doesn't succeed > because it says "The generated configure file contains changes not > present in the custom generated file." That's also strange because my > changesets also patch 'common/autoconf/generated- > configure.sh' so it should not be re-generated. And finally the build > fails because there's not autoconf on Windows and probably because the > autoconf on Mac is too old (the checked-in file is generated by > autoconf 2.8). > > I've just synced jdk8/jdk8 and applied the two patches. I could build > without any problems on MacOS X 10.8 with the following command line. > > sh /usr/work/d046063/OpenJDK/ppc-aix-port/stage/configure > --with-boot-jdk=/darwinintel64/output/sapjvm_7 > --with-target-bits=64 --with-debug-level=release > > make images LOG=debug > > Attached you can find the output I get from running configure. > > Could you please retry one more time? If you still have problems, can > you please run configure by hand and post the output. > > PS: I also saw from your logs that '/usr/bin/make sanity' is called. > This also seems strange to me because I think there aren't any sanity > targets any more in the new build system. Maybe you have a mismatch > between old and new build system? > ... > > Erik, could you please try this locally on Mac or Windows and post you > findings. Alternatively, could you please explain post the complete > JPRT output and explain what JPRT is trying to do. From Vladimir's log > snippets it's hard for me t understand the whole picture. > > Thank you and best regards, > Volker > >> The fix is to execute "bash common/autoconf/autogen.sh" locally and then >> resubmit to jprt. You need to have autoconf version 2.67 or newer installed >> for it to work. >> >> /Erik >> >> >> On 2013-07-02 05:48, Vladimir Kozlov wrote: >>> >>> Need help from JDK build experts. >>> >>> I applied next 2 changesets: >>> >>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel/ >>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>> >>> and got JPRT build problems (-control build) only on MacOS and Win64: >>> >>> >>> http://bus2001067.us.oracle.com/archives/2013/06/2013-06-28-213927.vkozlov.ppc64_jdk_build_test/ >>> >>> >>> ------------------------------------------------------------------------------ >>> macosx_x64_10.7-product (details from log file) >>> >>> ... >>> >>> Warning: The generated configure file contains changes not present in the >>> custom generated file. >>> Running autogen.sh to correct the situation >>> Autoconf found: /usr/bin/autoconf >>> Autoconf-2.67 found: >>> Generating generated-configure.sh with /usr/bin/autoconf >>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >>> autom4te: /usr/bin/gm4 failed with exit status: 1 >>> Generating custom generated-configure.sh >>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >>> autom4te: /usr/bin/gm4 failed with exit status: 1 >>> >>> >>> ------------------------------------------------------------------------------ >>> windows_x64_5.2-fastdebug (details from log file) >>> >>> ... >>> >>> Warning: The generated configure file contains changes not present in the >>> custom generated file. >>> Error: Cannot continue >>> Cannot locate autoconf, unable to correct situation. >>> Please install autoconf and run 'bash autogen.sh' to update the generated >>> files. >>> make: *** [bridge2configure] Error 1 >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> Without these changes the output is: >>> >>> Running custom generated-configure.sh >>> configure: Configuration created at Thu Jun 27 16:32:25 EDT 2013. >>> configure: configure script generated at timestamp 1371547939. >>> >>> Thanks, >>> Vladimir >>> >>> On 6/28/13 12:04 AM, Volker Simonis wrote: >>>> >>>> Ok, that's fine. >>>> >>>> Could you please let me know when you've verified these changes. I >>>> will then push them to the staging repository. >>>> >>>> >>>> Regards, >>>> Volker >>>> >>>> >>>> On Thu, Jun 27, 2013 at 7:35 PM, Vladimir Kozlov >>>> wrote: >>>>> >>>>> On 6/27/13 10:16 AM, Iris Clark wrote: >>>>>> >>>>>> >>>>>> Hi, Volker. >>>>>> >>>>>> I think that the right thing for this change [1] is for you to push >>>>>> into >>>>>> ppc-aix-port/stage once you get the necessary reviews (presumably Erik >>>>>> and >>>>>> possibly Alan). While your changeset contains some general purpose >>>>>> updates, >>>>>> it also contains PPC/AIX-specific files which can't be added to a JDK >>>>>> release repository until stage is pushed into the a JDK release. >>>>>> >>>>>> The recommendation to push to stage of course assumes that Vladimir >>>>>> doesn't think that this will adversely affect the Hotspot work already >>>>>> being >>>>>> pushed to stage. >>>>> >>>>> >>>>> >>>>> This should not affect Hotspot in stage repo. Me or Albert will do JPRT >>>>> bootstrap control build of jdk with this changes to make sure it works. >>>>> After that Volker can push it into stage. >>>>> >>>>> When I talked about pushing *general* changes into main sources I meant >>>>> changes with no ppc64 specific code. The example of such changes was >>>>> recent >>>>> Goetz's fix for '8017531: 8010460 changes broke >>>>> bytecodeInterpreter.cpp'. >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> >>>>>> >>>>>> Thanks, >>>>>> iris >>>>>> >>>>>> [1]: http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>> >>>>>> -----Original Message----- >>>>>> From: Volker Simonis [mailto:volker.simonis at gmail.com] >>>>>> Sent: Thursday, June 27, 2013 9:23 AM >>>>>> To: Erik Joelsson >>>>>> Cc: Kumar Srinivasan; build-dev; ppc-aix-port-dev at openjdk.java.net; >>>>>> Alan >>>>>> Bateman >>>>>> Subject: Re: RFR (XS): Enable new build on Linux/PPC64 (jdk part) >>>>>> >>>>>> Hi Erik, >>>>>> >>>>>> we have no polices which are carved in stone:) It's all done informally >>>>>> and by common sense. >>>>>> >>>>>> The main reason for the ppc-aix-port/stage repository is to have a >>>>>> sandbox >>>>>> for in-depth review and testing of changes we had to make in shared >>>>>> code >>>>>> before pushing them to the main repository (and this especially applies >>>>>> to >>>>>> hotspot changes). If you feel comfortable with the current changes and >>>>>> don't >>>>>> think that they will break anything (e.g. by running tests build on >>>>>> your >>>>>> supported platforms including the closed source ones) I'd really >>>>>> appreciate >>>>>> if you could push them to the build repository. >>>>>> >>>>>> Otherwise I'll push them to the staging repository and you'll get them >>>>>> once we're finished with the integration of the port. >>>>>> >>>>>> Thank you and best regards, >>>>>> Volker >>>>>> >>>>>> On Thu, Jun 27, 2013 at 1:51 PM, Erik Joelsson >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 2013-06-27 13:00, Volker Simonis wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Thu, Jun 27, 2013 at 12:16 PM, Erik Joelsson >>>>>>> >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Hello Volker, >>>>>>>> >>>>>>>> I wasn't aware of this project until now. From what I (now) >>>>>>>> understand, generic patches can go into jdk8 repos, but port specific >>>>>>>> things need to go to staging and go in with the rest later. These >>>>>>>> changes contain a couple of port specific things so as it looks now >>>>>>>> they would need to go through staging. >>>>>>>> >>>>>>> >>>>>>> Yes, that's the general approach. But I'd argue that for the most part >>>>>>> this changes are generic (enable CPP-interpreter, enable CORE build, >>>>>>> fix for broken ld on SuSE, replacing OPENWIN_LIB by X_LIB, fix typos) >>>>>>> with only very few PPC64 specific parts (map-files and a few defines). >>>>>>> The problem we want to avoid is that some of our fixes go into the >>>>>>> main repositories in parallel which would result in merging pain when >>>>>>> integrating the staging into the main repository. >>>>>>> >>>>>>> So if you think you don't need any of the general fixes any time soon, >>>>>>> I'll push the changes into the staging repository. Otherwise I think >>>>>>> it would be better to push them right into the main repositories. >>>>>>> >>>>>>> Several of the general fixes in there are good and I don't want to >>>>>>> hinder those getting in. I also don't want to break policies I'm not >>>>>>> familiar with. >>>>>>> >>>>>>> /Erik >>>>>>> >>>>>>> Thanks, >>>>>>> Volker >>>>>>> >>>>>>>> >>>>>>>> /Erik >>>>>>>> >>>>>>>> >>>>>>>> On 2013-06-27 12:03, Volker Simonis wrote: >>>>>>>> >>>>>>>> Hi Erik, >>>>>>>> >>>>>>>> as Vladimir explained, we have a special staging repository for our >>>>>>>> PPC64/AIX port: >>>>>>>> >>>>>>>> I would be happy if you could push the changes right into the >>>>>>>> build-infra repositories and we will then get them into our staging >>>>>>>> repository via jdk8/jdk8. >>>>>>>> >>>>>>>> Otherwise I'll have to push them to our staging repository and later >>>>>>>> when the whole port is completed in the staging repo they will be >>>>>>>> bulk-integrated into jdk8. >>>>>>>> >>>>>>>> What do you think? >>>>>>>> >>>>>>>> Regards, >>>>>>>> Volker >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Jun 26, 2013 at 6:53 PM, Vladimir Kozlov >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Erik, >>>>>>>>> >>>>>>>>> We have special staging forest for PPC64/AIX port: >>>>>>>>> >>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/stage >>>>>>>>> >>>>>>>>> We collect Hotspot and JDK changes there for testing before pushing >>>>>>>>> into main sources in a future. But some general fixes we push >>>>>>>>> directly into our main sources. >>>>>>>>> If you think these build changes are acceptable for main, please, >>>>>>>>> ask someone sponsor these changes. >>>>>>>>> >>>>>>>>> Alan is our official contact for PPC64/AIX project. I CC him. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Vladimir >>>>>>>>> >>>>>>>>> >>>>>>>>> On 6/26/13 8:56 AM, Erik Joelsson wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> If you by staging area mean the build-infra forest, that's more or >>>>>>>>>> less dead now. >>>>>>>>>> >>>>>>>>>> I think these changes look good now (both top level and jdk). It >>>>>>>>>> should be fine to push this to jdk8/build. >>>>>>>>>> >>>>>>>>>> /Erik >>>>>>>>>> >>>>>>>>>> On 2013-06-26 17:28, Volker Simonis wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Hi Erik, >>>>>>>>>>> >>>>>>>>>>> thank you for looking at this. I've prepared a new webrev at: >>>>>>>>>>> >>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> What do you think, do you want to push this directly into the >>>>>>>>>>> build repositories or should I push it into the staging repository >>>>>>>>>>> first? >>>>>>>>>>> >>>>>>>>>>> Please see my further comments inline. >>>>>>>>>>> >>>>>>>>>>> Thank you and best regards, >>>>>>>>>>> Volker >>>>>>>>>>> >>>>>>>>>>> On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson >>>>>>>>>>> > >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 2013-06-25 12:27, Erik Joelsson wrote: >>>>>>>>>>> >>>>>>>>>>> Hello Volker, >>>>>>>>>>> >>>>>>>>>>> On 2013-06-24 19:23, Volker Simonis wrote: >>>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> could somebody please review the following change >>>>>>>>>>> and >>>>>>>>>>> create an appropriate >>>>>>>>>>> Bug ID for it: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_jdk/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> /> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> The patch contains two little changes which are >>>>>>>>>>> required >>>>>>>>>>> to build the class >>>>>>>>>>> library part of the OpenJDK on Linux/PPC64. Most of >>>>>>>>>>> the >>>>>>>>>>> build magic is >>>>>>>>>>> contained in the top-level part of this change which >>>>>>>>>>> is >>>>>>>>>>> separately reviewed >>>>>>>>>>> at >>>>>>>>>>> >>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_top >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> CompileLaunchers.gmk >>>>>>>>>>> >>>>>>>>>>> Remove mapfile from build instructions of >>>>>>>>>>> BUILD_UNPACKEXE: >>>>>>>>>>> >>>>>>>>>>> CFLAGS_macosx:=-fPIC, \ >>>>>>>>>>> - >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ >>>>>>>>>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ >>>>>>>>>>> >>>>>>>>>>> I think it makes no sense to use a version script >>>>>>>>>>> file >>>>>>>>>>> for an executable >>>>>>>>>>> and older linkers (e.g. on SLES 10) complain with: >>>>>>>>>>> "*Invalid version tag >>>>>>>>>>> `SUNWprivate_1.1'. Only anonymous version tag is >>>>>>>>>>> allowed >>>>>>>>>>> in executable.*" >>>>>>>>>>> The GNU ld >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> manualstates: >>>>>>>>>>> "*Version scripts are only meaningful when creating >>>>>>>>>>> shared >>>>>>>>>>> libraries.*" >>>>>>>>>>> Morover unpack200 was the only executable which used >>>>>>>>>>> a >>>>>>>>>>> version script file. >>>>>>>>>>> >>>>>>>>>>> Unpackexe has some weirdness and this isn't surprising >>>>>>>>>>> me. >>>>>>>>>>> Would be good if someone with more historic knowledge >>>>>>>>>>> could >>>>>>>>>>> fill in on the reason for this. Someone apparently went >>>>>>>>>>> through the trouble of creating a special mapfile for >>>>>>>>>>> this >>>>>>>>>>> executable. Also, if not using it, should it be removed? >>>>>>>>>>> >>>>>>>>>>> I looked closer at this. These mapfiles were explicitly >>>>>>>>>>> added in >>>>>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=7033954, but it was >>>>>>>>>>> noted >>>>>>>>>>> that it broke builds for architectures that didn't have >>>>>>>>>>> mapfiles >>>>>>>>>>> defined. If you look at the launchers, the mapfile is only >>>>>>>>>>> set >>>>>>>>>>> if >>>>>>>>>>> the arch specific one exists. I think a safer change here >>>>>>>>>>> would >>>>>>>>>>> be >>>>>>>>>>> to make the mapfile conditional on platform or arch for >>>>>>>>>>> unpackexe. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I still do not fully understand why we need map-files for >>>>>>>>>>> executables, but I also understand that you don't want to change >>>>>>>>>>> the >>>>>>>>>>> current setup. >>>>>>>>>>> So I went the hard (and hopefully right:) way and implemented a >>>>>>>>>>> detection of the buggy linkers on older SuSE distros (e.g. on SLES >>>>>>>>>>> 10) which complain with: "Invalid version tag `SUNWprivate_1.1' >>>>>>>>>>> during the configure step (see top-level change). Unfortunately we >>>>>>>>>>> still have quite a lot of these systems so we really need the >>>>>>>>>>> build with that buggy ld. >>>>>>>>>>> >>>>>>>>>>> I've therefore added map files with anonymous version tags for >>>>>>>>>>> these buggy linkers which are only used if the buggy linker was >>>>>>>>>>> detected during the configure step (i.e. if >>>>>>>>>>> USING_BROKEN_SUSE_LD=yes). Notice that this is no PPC64 specific >>>>>>>>>>> problem but a occurs on all SuSE 10 platforms. >>>>>>>>>>> >>>>>>>>>>> And you've been right. I also had to add the arch specific map >>>>>>>>>>> files for ppc64 in order to use them for the other launchers. >>>>>>>>>>> >>>>>>>>>>> Kumar, you made the change referred to here, do you have >>>>>>>>>>> anything >>>>>>>>>>> to add? >>>>>>>>>>> >>>>>>>>>>> /Erik >>>>>>>>>>> >>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>>> >>>>>>>>>>> default: all >>>>>>>>>>> >>>>>>>>>>> CompileNativeLibraries.gmk >>>>>>>>>>> >>>>>>>>>>> Only use $(OPENWIN_LIB) for linking LIBSPLASHSCREEN >>>>>>>>>>> on >>>>>>>>>>> Solaris! The old >>>>>>>>>>> code worked only accidentally when the X-libraries >>>>>>>>>>> are >>>>>>>>>>> in >>>>>>>>>>> the default >>>>>>>>>>> linker path anyway. The right solution is to use >>>>>>>>>>> $(X_LIBS) >>>>>>>>>>> if not on >>>>>>>>>>> Windows or Solaris. >>>>>>>>>>> >>>>>>>>>>> Append -DX_ARCH=X_PPC64 to LIBJSOUND_CFLAGS on >>>>>>>>>>> PPC64. >>>>>>>>>>> The value of >>>>>>>>>>> X_ARCHisn't actually used on the PPC architectures, >>>>>>>>>>> but >>>>>>>>>>> there's a >>>>>>>>>>> check to verify >>>>>>>>>>> that it is set. >>>>>>>>>>> >>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>>> >>>>>>>>>>> default: all >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Otherwise looks good. >>>>>>>>>>> >>>>>>>>>>> /Erik >>>>>>>>>>> >>>>>>>>>>> >>>>>>>> >>>>>>> >>>>> >> > From goetz.lindenmaier at sap.com Tue Jul 2 01:41:16 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 2 Jul 2013 08:41:16 +0000 Subject: RFR(M): 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking In-Reply-To: <51CCB772.4010908@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFEE181@DEWDFEMB12A.global.corp.sap> <51CB7A9A.9010307@oracle.com> <51CC2DAF.4050102@oracle.com> <51CCB772.4010908@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF140B@DEWDFEMB12A.global.corp.sap> Hi David, can I push this change now? Or will the files be moved? I prepared a webrev without the shared change: http://cr.openjdk.java.net/~goetz/webrevs/8017317-lock-2/ Best regards, Goetz. -----Original Message----- From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov Sent: Freitag, 28. Juni 2013 00:07 To: David Holmes Cc: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Subject: Re: RFR(M): 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking David, Do you insist on moving cppInterpreter files into separate directory? If yes, we need to do that in our main sources to avoid merges nightmare. And I will do the move. Thanks, Vladimir On 6/27/13 5:18 AM, David Holmes wrote: > Vladimir, > > On 27/06/2013 9:34 AM, Vladimir Kozlov wrote: >> Hi Goetz, >> >> On 6/26/13 7:30 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> To use biased locking in our PPC64 VM,we fixed the biased locking >>> implementation >>> in the cppInterpreter. We also added BiasedLockingStatistic support. >> >> Oracle does not use cppInterpreter and no building and testing are done. >> So we trust you to do testing of these changes. >> I glanced on these changes and they look fine to me. >> >> One suggestion I heard from David H. is to move cppInterpreter related >> files (all 6 of them) from interpreter/ directory to separate directory. >> So we can see when changes does not affect our shared code. > > It is a general source of confusion to new hotspot engineers that there > are actually two interpreters in one directory and that one is not used > by the historical primary ports. It also isn't obvious that > bytecodeInterpreter.cpp pertains to the cppInterpreter. > >>> We need an additional ordering operation in revoke_bias() when writing >>> the mark. >> >> Why you need ordering only for locked objects in this code? And why here >> at all? This code is executed at safepoint. > > There is one occurrence that is not executed at a safepoint - see > BiasedLocking::Condition BiasedLocking::revoke_and_rebias. Though it > seems to be operating only on current thread in that case. > > The use of release_set_mark seems consistent with other uses in > synchronizer.cpp. > > David > ----- > >> thanks, >> Vladimir >> >>> The change enables biased locking for ppc64 per default. >>> http://cr.openjdk.java.net/~goetz/webrevs/8017317-lock/ >>> >>> Please review and test this change. >>> >>> Best regards, >>> Goetz >>> From volker.simonis at gmail.com Tue Jul 2 01:42:00 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 2 Jul 2013 10:42:00 +0200 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: <51D287B2.7080201@oracle.com> References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> <51CB0F42.5020604@oracle.com> <51CB1C80.9090305@oracle.com> <51CC10E7.5000903@oracle.com> <51CC274E.7050401@oracle.com> <4f66ed63-fb17-429e-893c-ea1497cbc6b6@default> <51CC77CF.9010108@oracle.com> <51D24D95.7050207@oracle.com> <51D27E30.2010002@oracle.com> <51D287B2.7080201@oracle.com> Message-ID: On Tue, Jul 2, 2013 at 9:56 AM, Vladimir Kozlov wrote: > JPRT uses own target to build forest: > > jprt_build_product: sanity all_product_build > > http://hg.openjdk.java.net/ppc-aix-port/stage/file/c156084add48/make/jprt.gmk > > That is why 'make sanity' is called I think. > > Note the next warning was present in JPRT logs on all platforms: > > Warning: The generated configure file contains changes not present in the > custom generated file. > > I verified that submitted source common/autoconf/generated-configure.sh is > matching file in stage repo plus changes from patch. > > Hmm, may be the problem is next change in generated-configure.sh: > > -DATE_WHEN_GENERATED=1371547824 > +DATE_WHEN_GENERATED=1372238067 > > It is date when Volker generated generated-configure.sh but the date of > changed .m4 files is when I applied patch which is later. It looks like I > need to regenerate generated-configure.sh file myself as Erik said. I will > give it a try tomorrow. > I doubt that that's the only reason, because I did exactly the same yesterday on MacOS without these problems: - clone jdk8/jdk8 - import the patches into the base and jdk repositroy - configure - make Is there a way I can simulate a JPRT build? If I just call 'make jprt_build_product' in the build directory where I have previously called 'configure' it fails because it wants to call configure again and doesn't find it. So from which directory am I supposed to start a JPRT build and which parameters should I pass to it? > Vladimir > > > On 7/2/13 12:31 AM, Volker Simonis wrote: >> >> Hi Erik, >> >> thank you for looking into this. >> >> On Tue, Jul 2, 2013 at 9:16 AM, Erik Joelsson >> wrote: >>> >>> This looks like you have applied a change to configure input files (*.m4) >>> and haven't regenerated configure locally afterwards. The JPRT machines >>> don't have autoconf setup so they can't do it. In this case it looks like >>> one of them, probably the mac, has a faulty version of autoconf that gets >>> picked up. I have seen this happen before on mac. >>> >> >> Actually, that was my guess as well. On the other hand that's still >> strange, because my patch also contains an updated >> 'common/autoconf/generated- >> configure.sh' and it works on the other platforms (and also locally >> for me on MacOS X) without regenerating it. I just saw that the mail I >> wrote yesterday wasn't send to the lists so I quote my assumptions >> here: >> >> ... >> From your logs I only see that the make process does not find any >> configuration, but the configuration should have been created by >> running configure. Then it tries to call configure but doesn't succeed >> because it says "The generated configure file contains changes not >> present in the custom generated file." That's also strange because my >> changesets also patch 'common/autoconf/generated- >> configure.sh' so it should not be re-generated. And finally the build >> fails because there's not autoconf on Windows and probably because the >> autoconf on Mac is too old (the checked-in file is generated by >> autoconf 2.8). >> >> I've just synced jdk8/jdk8 and applied the two patches. I could build >> without any problems on MacOS X 10.8 with the following command line. >> >> sh /usr/work/d046063/OpenJDK/ppc-aix-port/stage/configure >> --with-boot-jdk=/darwinintel64/output/sapjvm_7 >> --with-target-bits=64 --with-debug-level=release >> >> make images LOG=debug >> >> Attached you can find the output I get from running configure. >> >> Could you please retry one more time? If you still have problems, can >> you please run configure by hand and post the output. >> >> PS: I also saw from your logs that '/usr/bin/make sanity' is called. >> This also seems strange to me because I think there aren't any sanity >> targets any more in the new build system. Maybe you have a mismatch >> between old and new build system? >> ... >> >> Erik, could you please try this locally on Mac or Windows and post you >> findings. Alternatively, could you please explain post the complete >> JPRT output and explain what JPRT is trying to do. From Vladimir's log >> snippets it's hard for me t understand the whole picture. >> >> Thank you and best regards, >> Volker >> >>> The fix is to execute "bash common/autoconf/autogen.sh" locally and then >>> resubmit to jprt. You need to have autoconf version 2.67 or newer >>> installed >>> for it to work. >>> >>> /Erik >>> >>> >>> On 2013-07-02 05:48, Vladimir Kozlov wrote: >>>> >>>> >>>> Need help from JDK build experts. >>>> >>>> I applied next 2 changesets: >>>> >>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel/ >>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>> >>>> and got JPRT build problems (-control build) only on MacOS and Win64: >>>> >>>> >>>> >>>> http://bus2001067.us.oracle.com/archives/2013/06/2013-06-28-213927.vkozlov.ppc64_jdk_build_test/ >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> macosx_x64_10.7-product (details from log file) >>>> >>>> ... >>>> >>>> Warning: The generated configure file contains changes not present in >>>> the >>>> custom generated file. >>>> Running autogen.sh to correct the situation >>>> Autoconf found: /usr/bin/autoconf >>>> Autoconf-2.67 found: >>>> Generating generated-configure.sh with /usr/bin/autoconf >>>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >>>> autom4te: /usr/bin/gm4 failed with exit status: 1 >>>> Generating custom generated-configure.sh >>>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >>>> autom4te: /usr/bin/gm4 failed with exit status: 1 >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> windows_x64_5.2-fastdebug (details from log file) >>>> >>>> ... >>>> >>>> Warning: The generated configure file contains changes not present in >>>> the >>>> custom generated file. >>>> Error: Cannot continue >>>> Cannot locate autoconf, unable to correct situation. >>>> Please install autoconf and run 'bash autogen.sh' to update the >>>> generated >>>> files. >>>> make: *** [bridge2configure] Error 1 >>>> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> Without these changes the output is: >>>> >>>> Running custom generated-configure.sh >>>> configure: Configuration created at Thu Jun 27 16:32:25 EDT 2013. >>>> configure: configure script generated at timestamp 1371547939. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 6/28/13 12:04 AM, Volker Simonis wrote: >>>>> >>>>> >>>>> Ok, that's fine. >>>>> >>>>> Could you please let me know when you've verified these changes. I >>>>> will then push them to the staging repository. >>>>> >>>>> >>>>> Regards, >>>>> Volker >>>>> >>>>> >>>>> On Thu, Jun 27, 2013 at 7:35 PM, Vladimir Kozlov >>>>> wrote: >>>>>> >>>>>> >>>>>> On 6/27/13 10:16 AM, Iris Clark wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> Hi, Volker. >>>>>>> >>>>>>> I think that the right thing for this change [1] is for you to push >>>>>>> into >>>>>>> ppc-aix-port/stage once you get the necessary reviews (presumably >>>>>>> Erik >>>>>>> and >>>>>>> possibly Alan). While your changeset contains some general purpose >>>>>>> updates, >>>>>>> it also contains PPC/AIX-specific files which can't be added to a JDK >>>>>>> release repository until stage is pushed into the a JDK release. >>>>>>> >>>>>>> The recommendation to push to stage of course assumes that Vladimir >>>>>>> doesn't think that this will adversely affect the Hotspot work >>>>>>> already >>>>>>> being >>>>>>> pushed to stage. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> This should not affect Hotspot in stage repo. Me or Albert will do >>>>>> JPRT >>>>>> bootstrap control build of jdk with this changes to make sure it >>>>>> works. >>>>>> After that Volker can push it into stage. >>>>>> >>>>>> When I talked about pushing *general* changes into main sources I >>>>>> meant >>>>>> changes with no ppc64 specific code. The example of such changes was >>>>>> recent >>>>>> Goetz's fix for '8017531: 8010460 changes broke >>>>>> bytecodeInterpreter.cpp'. >>>>>> >>>>>> Thanks, >>>>>> Vladimir >>>>>> >>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> iris >>>>>>> >>>>>>> [1]: http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Volker Simonis [mailto:volker.simonis at gmail.com] >>>>>>> Sent: Thursday, June 27, 2013 9:23 AM >>>>>>> To: Erik Joelsson >>>>>>> Cc: Kumar Srinivasan; build-dev; ppc-aix-port-dev at openjdk.java.net; >>>>>>> Alan >>>>>>> Bateman >>>>>>> Subject: Re: RFR (XS): Enable new build on Linux/PPC64 (jdk part) >>>>>>> >>>>>>> Hi Erik, >>>>>>> >>>>>>> we have no polices which are carved in stone:) It's all done >>>>>>> informally >>>>>>> and by common sense. >>>>>>> >>>>>>> The main reason for the ppc-aix-port/stage repository is to have a >>>>>>> sandbox >>>>>>> for in-depth review and testing of changes we had to make in shared >>>>>>> code >>>>>>> before pushing them to the main repository (and this especially >>>>>>> applies >>>>>>> to >>>>>>> hotspot changes). If you feel comfortable with the current changes >>>>>>> and >>>>>>> don't >>>>>>> think that they will break anything (e.g. by running tests build on >>>>>>> your >>>>>>> supported platforms including the closed source ones) I'd really >>>>>>> appreciate >>>>>>> if you could push them to the build repository. >>>>>>> >>>>>>> Otherwise I'll push them to the staging repository and you'll get >>>>>>> them >>>>>>> once we're finished with the integration of the port. >>>>>>> >>>>>>> Thank you and best regards, >>>>>>> Volker >>>>>>> >>>>>>> On Thu, Jun 27, 2013 at 1:51 PM, Erik Joelsson >>>>>>> >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 2013-06-27 13:00, Volker Simonis wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Jun 27, 2013 at 12:16 PM, Erik Joelsson >>>>>>>> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Hello Volker, >>>>>>>>> >>>>>>>>> I wasn't aware of this project until now. From what I (now) >>>>>>>>> understand, generic patches can go into jdk8 repos, but port >>>>>>>>> specific >>>>>>>>> things need to go to staging and go in with the rest later. These >>>>>>>>> changes contain a couple of port specific things so as it looks now >>>>>>>>> they would need to go through staging. >>>>>>>>> >>>>>>>> >>>>>>>> Yes, that's the general approach. But I'd argue that for the most >>>>>>>> part >>>>>>>> this changes are generic (enable CPP-interpreter, enable CORE build, >>>>>>>> fix for broken ld on SuSE, replacing OPENWIN_LIB by X_LIB, fix >>>>>>>> typos) >>>>>>>> with only very few PPC64 specific parts (map-files and a few >>>>>>>> defines). >>>>>>>> The problem we want to avoid is that some of our fixes go into the >>>>>>>> main repositories in parallel which would result in merging pain >>>>>>>> when >>>>>>>> integrating the staging into the main repository. >>>>>>>> >>>>>>>> So if you think you don't need any of the general fixes any time >>>>>>>> soon, >>>>>>>> I'll push the changes into the staging repository. Otherwise I think >>>>>>>> it would be better to push them right into the main repositories. >>>>>>>> >>>>>>>> Several of the general fixes in there are good and I don't want to >>>>>>>> hinder those getting in. I also don't want to break policies I'm not >>>>>>>> familiar with. >>>>>>>> >>>>>>>> /Erik >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Volker >>>>>>>> >>>>>>>>> >>>>>>>>> /Erik >>>>>>>>> >>>>>>>>> >>>>>>>>> On 2013-06-27 12:03, Volker Simonis wrote: >>>>>>>>> >>>>>>>>> Hi Erik, >>>>>>>>> >>>>>>>>> as Vladimir explained, we have a special staging repository for our >>>>>>>>> PPC64/AIX port: >>>>>>>>> >>>>>>>>> I would be happy if you could push the changes right into the >>>>>>>>> build-infra repositories and we will then get them into our staging >>>>>>>>> repository via jdk8/jdk8. >>>>>>>>> >>>>>>>>> Otherwise I'll have to push them to our staging repository and >>>>>>>>> later >>>>>>>>> when the whole port is completed in the staging repo they will be >>>>>>>>> bulk-integrated into jdk8. >>>>>>>>> >>>>>>>>> What do you think? >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Volker >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Jun 26, 2013 at 6:53 PM, Vladimir Kozlov >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Erik, >>>>>>>>>> >>>>>>>>>> We have special staging forest for PPC64/AIX port: >>>>>>>>>> >>>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/stage >>>>>>>>>> >>>>>>>>>> We collect Hotspot and JDK changes there for testing before >>>>>>>>>> pushing >>>>>>>>>> into main sources in a future. But some general fixes we push >>>>>>>>>> directly into our main sources. >>>>>>>>>> If you think these build changes are acceptable for main, please, >>>>>>>>>> ask someone sponsor these changes. >>>>>>>>>> >>>>>>>>>> Alan is our official contact for PPC64/AIX project. I CC him. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Vladimir >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 6/26/13 8:56 AM, Erik Joelsson wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Hello, >>>>>>>>>>> >>>>>>>>>>> If you by staging area mean the build-infra forest, that's more >>>>>>>>>>> or >>>>>>>>>>> less dead now. >>>>>>>>>>> >>>>>>>>>>> I think these changes look good now (both top level and jdk). It >>>>>>>>>>> should be fine to push this to jdk8/build. >>>>>>>>>>> >>>>>>>>>>> /Erik >>>>>>>>>>> >>>>>>>>>>> On 2013-06-26 17:28, Volker Simonis wrote: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Hi Erik, >>>>>>>>>>>> >>>>>>>>>>>> thank you for looking at this. I've prepared a new webrev at: >>>>>>>>>>>> >>>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> What do you think, do you want to push this directly into the >>>>>>>>>>>> build repositories or should I push it into the staging >>>>>>>>>>>> repository >>>>>>>>>>>> first? >>>>>>>>>>>> >>>>>>>>>>>> Please see my further comments inline. >>>>>>>>>>>> >>>>>>>>>>>> Thank you and best regards, >>>>>>>>>>>> Volker >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson >>>>>>>>>>>> > >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 2013-06-25 12:27, Erik Joelsson wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hello Volker, >>>>>>>>>>>> >>>>>>>>>>>> On 2013-06-24 19:23, Volker Simonis wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> could somebody please review the following change >>>>>>>>>>>> and >>>>>>>>>>>> create an appropriate >>>>>>>>>>>> Bug ID for it: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_jdk/ >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> /> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> The patch contains two little changes which are >>>>>>>>>>>> required >>>>>>>>>>>> to build the class >>>>>>>>>>>> library part of the OpenJDK on Linux/PPC64. Most >>>>>>>>>>>> of >>>>>>>>>>>> the >>>>>>>>>>>> build magic is >>>>>>>>>>>> contained in the top-level part of this change >>>>>>>>>>>> which >>>>>>>>>>>> is >>>>>>>>>>>> separately reviewed >>>>>>>>>>>> at >>>>>>>>>>>> >>>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_top >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> CompileLaunchers.gmk >>>>>>>>>>>> >>>>>>>>>>>> Remove mapfile from build instructions of >>>>>>>>>>>> BUILD_UNPACKEXE: >>>>>>>>>>>> >>>>>>>>>>>> CFLAGS_macosx:=-fPIC, \ >>>>>>>>>>>> - >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ >>>>>>>>>>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ >>>>>>>>>>>> >>>>>>>>>>>> I think it makes no sense to use a version >>>>>>>>>>>> script >>>>>>>>>>>> file >>>>>>>>>>>> for an executable >>>>>>>>>>>> and older linkers (e.g. on SLES 10) complain >>>>>>>>>>>> with: >>>>>>>>>>>> "*Invalid version tag >>>>>>>>>>>> `SUNWprivate_1.1'. Only anonymous version tag is >>>>>>>>>>>> allowed >>>>>>>>>>>> in executable.*" >>>>>>>>>>>> The GNU ld >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> manualstates: >>>>>>>>>>>> "*Version scripts are only meaningful when >>>>>>>>>>>> creating >>>>>>>>>>>> shared >>>>>>>>>>>> libraries.*" >>>>>>>>>>>> Morover unpack200 was the only executable which >>>>>>>>>>>> used >>>>>>>>>>>> a >>>>>>>>>>>> version script file. >>>>>>>>>>>> >>>>>>>>>>>> Unpackexe has some weirdness and this isn't >>>>>>>>>>>> surprising >>>>>>>>>>>> me. >>>>>>>>>>>> Would be good if someone with more historic knowledge >>>>>>>>>>>> could >>>>>>>>>>>> fill in on the reason for this. Someone apparently >>>>>>>>>>>> went >>>>>>>>>>>> through the trouble of creating a special mapfile for >>>>>>>>>>>> this >>>>>>>>>>>> executable. Also, if not using it, should it be >>>>>>>>>>>> removed? >>>>>>>>>>>> >>>>>>>>>>>> I looked closer at this. These mapfiles were explicitly >>>>>>>>>>>> added in >>>>>>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=7033954, but it >>>>>>>>>>>> was >>>>>>>>>>>> noted >>>>>>>>>>>> that it broke builds for architectures that didn't have >>>>>>>>>>>> mapfiles >>>>>>>>>>>> defined. If you look at the launchers, the mapfile is >>>>>>>>>>>> only >>>>>>>>>>>> set >>>>>>>>>>>> if >>>>>>>>>>>> the arch specific one exists. I think a safer change here >>>>>>>>>>>> would >>>>>>>>>>>> be >>>>>>>>>>>> to make the mapfile conditional on platform or arch for >>>>>>>>>>>> unpackexe. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> I still do not fully understand why we need map-files for >>>>>>>>>>>> executables, but I also understand that you don't want to change >>>>>>>>>>>> the >>>>>>>>>>>> current setup. >>>>>>>>>>>> So I went the hard (and hopefully right:) way and implemented a >>>>>>>>>>>> detection of the buggy linkers on older SuSE distros (e.g. on >>>>>>>>>>>> SLES >>>>>>>>>>>> 10) which complain with: "Invalid version tag `SUNWprivate_1.1' >>>>>>>>>>>> during the configure step (see top-level change). Unfortunately >>>>>>>>>>>> we >>>>>>>>>>>> still have quite a lot of these systems so we really need the >>>>>>>>>>>> build with that buggy ld. >>>>>>>>>>>> >>>>>>>>>>>> I've therefore added map files with anonymous version tags for >>>>>>>>>>>> these buggy linkers which are only used if the buggy linker was >>>>>>>>>>>> detected during the configure step (i.e. if >>>>>>>>>>>> USING_BROKEN_SUSE_LD=yes). Notice that this is no PPC64 specific >>>>>>>>>>>> problem but a occurs on all SuSE 10 platforms. >>>>>>>>>>>> >>>>>>>>>>>> And you've been right. I also had to add the arch specific map >>>>>>>>>>>> files for ppc64 in order to use them for the other launchers. >>>>>>>>>>>> >>>>>>>>>>>> Kumar, you made the change referred to here, do you have >>>>>>>>>>>> anything >>>>>>>>>>>> to add? >>>>>>>>>>>> >>>>>>>>>>>> /Erik >>>>>>>>>>>> >>>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>>>> >>>>>>>>>>>> default: all >>>>>>>>>>>> >>>>>>>>>>>> CompileNativeLibraries.gmk >>>>>>>>>>>> >>>>>>>>>>>> Only use $(OPENWIN_LIB) for linking >>>>>>>>>>>> LIBSPLASHSCREEN >>>>>>>>>>>> on >>>>>>>>>>>> Solaris! The old >>>>>>>>>>>> code worked only accidentally when the >>>>>>>>>>>> X-libraries >>>>>>>>>>>> are >>>>>>>>>>>> in >>>>>>>>>>>> the default >>>>>>>>>>>> linker path anyway. The right solution is to use >>>>>>>>>>>> $(X_LIBS) >>>>>>>>>>>> if not on >>>>>>>>>>>> Windows or Solaris. >>>>>>>>>>>> >>>>>>>>>>>> Append -DX_ARCH=X_PPC64 to LIBJSOUND_CFLAGS on >>>>>>>>>>>> PPC64. >>>>>>>>>>>> The value of >>>>>>>>>>>> X_ARCHisn't actually used on the PPC >>>>>>>>>>>> architectures, >>>>>>>>>>>> but >>>>>>>>>>>> there's a >>>>>>>>>>>> check to verify >>>>>>>>>>>> that it is set. >>>>>>>>>>>> >>>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>>>> >>>>>>>>>>>> default: all >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Otherwise looks good. >>>>>>>>>>>> >>>>>>>>>>>> /Erik >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>> >>> >> > From volker.simonis at gmail.com Tue Jul 2 01:54:25 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 2 Jul 2013 10:54:25 +0200 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> <51CB0F42.5020604@oracle.com> <51CB1C80.9090305@oracle.com> <51CC10E7.5000903@oracle.com> <51CC274E.7050401@oracle.com> <4f66ed63-fb17-429e-893c-ea1497cbc6b6@default> <51CC77CF.9010108@oracle.com> <51D24D95.7050207@oracle.com> <51D27E30.2010002@oracle.com> <51D287B2.7080201@oracle.com> Message-ID: Ah, now I got it! The problem is with your closed sources which also have their own closed, autoconf-generated config file which has to be recreated after the OpenJDK autoconf-generated configure files changes. The warning "Warning: The generated configure file contains changes not present in the custom generated file." from 'common/autoconf/configure:' actually checks exactly that: if test -e $conf_custom_script_dir/generated-configure.sh; then # Test if open configure is newer than custom configure, if so, custom needs to # be regenerated. This test is required to ensure consistency with custom source. conf_open_configure_timestamp=`grep DATE_WHEN_GENERATED= $conf_script_dir/generated-configure.sh | cut -d"=" -f 2` conf_custom_configure_timestamp=`grep DATE_WHEN_GENERATED= $conf_custom_script_dir/generated-configure.sh | cut -d"=" -f 2` if test $conf_open_configure_timestamp -gt $conf_custom_configure_timestamp; then echo "Warning: The generated configure file contains changes not present in the custom generated file." run_autogen_or_fail fi fi I obviously can not fix that:) But if you've already done a successful build on any other platform, you can just copy the generated '$conf_custom_script_dir/generated-configure.sh' from that build into you workspace and that should do the job! Very nasty Closedsource/JPRT problems:( When will we finally overcome this mess... Regards, Volker On Tue, Jul 2, 2013 at 10:42 AM, Volker Simonis wrote: > On Tue, Jul 2, 2013 at 9:56 AM, Vladimir Kozlov > wrote: >> JPRT uses own target to build forest: >> >> jprt_build_product: sanity all_product_build >> >> http://hg.openjdk.java.net/ppc-aix-port/stage/file/c156084add48/make/jprt.gmk >> >> That is why 'make sanity' is called I think. >> >> Note the next warning was present in JPRT logs on all platforms: >> >> Warning: The generated configure file contains changes not present in the >> custom generated file. >> >> I verified that submitted source common/autoconf/generated-configure.sh is >> matching file in stage repo plus changes from patch. >> >> Hmm, may be the problem is next change in generated-configure.sh: >> >> -DATE_WHEN_GENERATED=1371547824 >> +DATE_WHEN_GENERATED=1372238067 >> >> It is date when Volker generated generated-configure.sh but the date of >> changed .m4 files is when I applied patch which is later. It looks like I >> need to regenerate generated-configure.sh file myself as Erik said. I will >> give it a try tomorrow. >> > > I doubt that that's the only reason, because I did exactly the same > yesterday on MacOS without these problems: > - clone jdk8/jdk8 > - import the patches into the base and jdk repositroy > - configure > - make > > Is there a way I can simulate a JPRT build? > If I just call 'make jprt_build_product' in the build directory where > I have previously called 'configure' it fails because it wants to call > configure again and doesn't find it. > So from which directory am I supposed to start a JPRT build and which > parameters should I pass to it? > >> Vladimir >> >> >> On 7/2/13 12:31 AM, Volker Simonis wrote: >>> >>> Hi Erik, >>> >>> thank you for looking into this. >>> >>> On Tue, Jul 2, 2013 at 9:16 AM, Erik Joelsson >>> wrote: >>>> >>>> This looks like you have applied a change to configure input files (*.m4) >>>> and haven't regenerated configure locally afterwards. The JPRT machines >>>> don't have autoconf setup so they can't do it. In this case it looks like >>>> one of them, probably the mac, has a faulty version of autoconf that gets >>>> picked up. I have seen this happen before on mac. >>>> >>> >>> Actually, that was my guess as well. On the other hand that's still >>> strange, because my patch also contains an updated >>> 'common/autoconf/generated- >>> configure.sh' and it works on the other platforms (and also locally >>> for me on MacOS X) without regenerating it. I just saw that the mail I >>> wrote yesterday wasn't send to the lists so I quote my assumptions >>> here: >>> >>> ... >>> From your logs I only see that the make process does not find any >>> configuration, but the configuration should have been created by >>> running configure. Then it tries to call configure but doesn't succeed >>> because it says "The generated configure file contains changes not >>> present in the custom generated file." That's also strange because my >>> changesets also patch 'common/autoconf/generated- >>> configure.sh' so it should not be re-generated. And finally the build >>> fails because there's not autoconf on Windows and probably because the >>> autoconf on Mac is too old (the checked-in file is generated by >>> autoconf 2.8). >>> >>> I've just synced jdk8/jdk8 and applied the two patches. I could build >>> without any problems on MacOS X 10.8 with the following command line. >>> >>> sh /usr/work/d046063/OpenJDK/ppc-aix-port/stage/configure >>> --with-boot-jdk=/darwinintel64/output/sapjvm_7 >>> --with-target-bits=64 --with-debug-level=release >>> >>> make images LOG=debug >>> >>> Attached you can find the output I get from running configure. >>> >>> Could you please retry one more time? If you still have problems, can >>> you please run configure by hand and post the output. >>> >>> PS: I also saw from your logs that '/usr/bin/make sanity' is called. >>> This also seems strange to me because I think there aren't any sanity >>> targets any more in the new build system. Maybe you have a mismatch >>> between old and new build system? >>> ... >>> >>> Erik, could you please try this locally on Mac or Windows and post you >>> findings. Alternatively, could you please explain post the complete >>> JPRT output and explain what JPRT is trying to do. From Vladimir's log >>> snippets it's hard for me t understand the whole picture. >>> >>> Thank you and best regards, >>> Volker >>> >>>> The fix is to execute "bash common/autoconf/autogen.sh" locally and then >>>> resubmit to jprt. You need to have autoconf version 2.67 or newer >>>> installed >>>> for it to work. >>>> >>>> /Erik >>>> >>>> >>>> On 2013-07-02 05:48, Vladimir Kozlov wrote: >>>>> >>>>> >>>>> Need help from JDK build experts. >>>>> >>>>> I applied next 2 changesets: >>>>> >>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel/ >>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>> >>>>> and got JPRT build problems (-control build) only on MacOS and Win64: >>>>> >>>>> >>>>> >>>>> http://bus2001067.us.oracle.com/archives/2013/06/2013-06-28-213927.vkozlov.ppc64_jdk_build_test/ >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> macosx_x64_10.7-product (details from log file) >>>>> >>>>> ... >>>>> >>>>> Warning: The generated configure file contains changes not present in >>>>> the >>>>> custom generated file. >>>>> Running autogen.sh to correct the situation >>>>> Autoconf found: /usr/bin/autoconf >>>>> Autoconf-2.67 found: >>>>> Generating generated-configure.sh with /usr/bin/autoconf >>>>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >>>>> autom4te: /usr/bin/gm4 failed with exit status: 1 >>>>> Generating custom generated-configure.sh >>>>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > >>>>> autom4te: /usr/bin/gm4 failed with exit status: 1 >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> windows_x64_5.2-fastdebug (details from log file) >>>>> >>>>> ... >>>>> >>>>> Warning: The generated configure file contains changes not present in >>>>> the >>>>> custom generated file. >>>>> Error: Cannot continue >>>>> Cannot locate autoconf, unable to correct situation. >>>>> Please install autoconf and run 'bash autogen.sh' to update the >>>>> generated >>>>> files. >>>>> make: *** [bridge2configure] Error 1 >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> Without these changes the output is: >>>>> >>>>> Running custom generated-configure.sh >>>>> configure: Configuration created at Thu Jun 27 16:32:25 EDT 2013. >>>>> configure: configure script generated at timestamp 1371547939. >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> On 6/28/13 12:04 AM, Volker Simonis wrote: >>>>>> >>>>>> >>>>>> Ok, that's fine. >>>>>> >>>>>> Could you please let me know when you've verified these changes. I >>>>>> will then push them to the staging repository. >>>>>> >>>>>> >>>>>> Regards, >>>>>> Volker >>>>>> >>>>>> >>>>>> On Thu, Jun 27, 2013 at 7:35 PM, Vladimir Kozlov >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> On 6/27/13 10:16 AM, Iris Clark wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Hi, Volker. >>>>>>>> >>>>>>>> I think that the right thing for this change [1] is for you to push >>>>>>>> into >>>>>>>> ppc-aix-port/stage once you get the necessary reviews (presumably >>>>>>>> Erik >>>>>>>> and >>>>>>>> possibly Alan). While your changeset contains some general purpose >>>>>>>> updates, >>>>>>>> it also contains PPC/AIX-specific files which can't be added to a JDK >>>>>>>> release repository until stage is pushed into the a JDK release. >>>>>>>> >>>>>>>> The recommendation to push to stage of course assumes that Vladimir >>>>>>>> doesn't think that this will adversely affect the Hotspot work >>>>>>>> already >>>>>>>> being >>>>>>>> pushed to stage. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> This should not affect Hotspot in stage repo. Me or Albert will do >>>>>>> JPRT >>>>>>> bootstrap control build of jdk with this changes to make sure it >>>>>>> works. >>>>>>> After that Volker can push it into stage. >>>>>>> >>>>>>> When I talked about pushing *general* changes into main sources I >>>>>>> meant >>>>>>> changes with no ppc64 specific code. The example of such changes was >>>>>>> recent >>>>>>> Goetz's fix for '8017531: 8010460 changes broke >>>>>>> bytecodeInterpreter.cpp'. >>>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> iris >>>>>>>> >>>>>>>> [1]: http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: Volker Simonis [mailto:volker.simonis at gmail.com] >>>>>>>> Sent: Thursday, June 27, 2013 9:23 AM >>>>>>>> To: Erik Joelsson >>>>>>>> Cc: Kumar Srinivasan; build-dev; ppc-aix-port-dev at openjdk.java.net; >>>>>>>> Alan >>>>>>>> Bateman >>>>>>>> Subject: Re: RFR (XS): Enable new build on Linux/PPC64 (jdk part) >>>>>>>> >>>>>>>> Hi Erik, >>>>>>>> >>>>>>>> we have no polices which are carved in stone:) It's all done >>>>>>>> informally >>>>>>>> and by common sense. >>>>>>>> >>>>>>>> The main reason for the ppc-aix-port/stage repository is to have a >>>>>>>> sandbox >>>>>>>> for in-depth review and testing of changes we had to make in shared >>>>>>>> code >>>>>>>> before pushing them to the main repository (and this especially >>>>>>>> applies >>>>>>>> to >>>>>>>> hotspot changes). If you feel comfortable with the current changes >>>>>>>> and >>>>>>>> don't >>>>>>>> think that they will break anything (e.g. by running tests build on >>>>>>>> your >>>>>>>> supported platforms including the closed source ones) I'd really >>>>>>>> appreciate >>>>>>>> if you could push them to the build repository. >>>>>>>> >>>>>>>> Otherwise I'll push them to the staging repository and you'll get >>>>>>>> them >>>>>>>> once we're finished with the integration of the port. >>>>>>>> >>>>>>>> Thank you and best regards, >>>>>>>> Volker >>>>>>>> >>>>>>>> On Thu, Jun 27, 2013 at 1:51 PM, Erik Joelsson >>>>>>>> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On 2013-06-27 13:00, Volker Simonis wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jun 27, 2013 at 12:16 PM, Erik Joelsson >>>>>>>>> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Hello Volker, >>>>>>>>>> >>>>>>>>>> I wasn't aware of this project until now. From what I (now) >>>>>>>>>> understand, generic patches can go into jdk8 repos, but port >>>>>>>>>> specific >>>>>>>>>> things need to go to staging and go in with the rest later. These >>>>>>>>>> changes contain a couple of port specific things so as it looks now >>>>>>>>>> they would need to go through staging. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Yes, that's the general approach. But I'd argue that for the most >>>>>>>>> part >>>>>>>>> this changes are generic (enable CPP-interpreter, enable CORE build, >>>>>>>>> fix for broken ld on SuSE, replacing OPENWIN_LIB by X_LIB, fix >>>>>>>>> typos) >>>>>>>>> with only very few PPC64 specific parts (map-files and a few >>>>>>>>> defines). >>>>>>>>> The problem we want to avoid is that some of our fixes go into the >>>>>>>>> main repositories in parallel which would result in merging pain >>>>>>>>> when >>>>>>>>> integrating the staging into the main repository. >>>>>>>>> >>>>>>>>> So if you think you don't need any of the general fixes any time >>>>>>>>> soon, >>>>>>>>> I'll push the changes into the staging repository. Otherwise I think >>>>>>>>> it would be better to push them right into the main repositories. >>>>>>>>> >>>>>>>>> Several of the general fixes in there are good and I don't want to >>>>>>>>> hinder those getting in. I also don't want to break policies I'm not >>>>>>>>> familiar with. >>>>>>>>> >>>>>>>>> /Erik >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Volker >>>>>>>>> >>>>>>>>>> >>>>>>>>>> /Erik >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 2013-06-27 12:03, Volker Simonis wrote: >>>>>>>>>> >>>>>>>>>> Hi Erik, >>>>>>>>>> >>>>>>>>>> as Vladimir explained, we have a special staging repository for our >>>>>>>>>> PPC64/AIX port: >>>>>>>>>> >>>>>>>>>> I would be happy if you could push the changes right into the >>>>>>>>>> build-infra repositories and we will then get them into our staging >>>>>>>>>> repository via jdk8/jdk8. >>>>>>>>>> >>>>>>>>>> Otherwise I'll have to push them to our staging repository and >>>>>>>>>> later >>>>>>>>>> when the whole port is completed in the staging repo they will be >>>>>>>>>> bulk-integrated into jdk8. >>>>>>>>>> >>>>>>>>>> What do you think? >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Volker >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Jun 26, 2013 at 6:53 PM, Vladimir Kozlov >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Erik, >>>>>>>>>>> >>>>>>>>>>> We have special staging forest for PPC64/AIX port: >>>>>>>>>>> >>>>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/stage >>>>>>>>>>> >>>>>>>>>>> We collect Hotspot and JDK changes there for testing before >>>>>>>>>>> pushing >>>>>>>>>>> into main sources in a future. But some general fixes we push >>>>>>>>>>> directly into our main sources. >>>>>>>>>>> If you think these build changes are acceptable for main, please, >>>>>>>>>>> ask someone sponsor these changes. >>>>>>>>>>> >>>>>>>>>>> Alan is our official contact for PPC64/AIX project. I CC him. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Vladimir >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 6/26/13 8:56 AM, Erik Joelsson wrote: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Hello, >>>>>>>>>>>> >>>>>>>>>>>> If you by staging area mean the build-infra forest, that's more >>>>>>>>>>>> or >>>>>>>>>>>> less dead now. >>>>>>>>>>>> >>>>>>>>>>>> I think these changes look good now (both top level and jdk). It >>>>>>>>>>>> should be fine to push this to jdk8/build. >>>>>>>>>>>> >>>>>>>>>>>> /Erik >>>>>>>>>>>> >>>>>>>>>>>> On 2013-06-26 17:28, Volker Simonis wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Hi Erik, >>>>>>>>>>>>> >>>>>>>>>>>>> thank you for looking at this. I've prepared a new webrev at: >>>>>>>>>>>>> >>>>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> What do you think, do you want to push this directly into the >>>>>>>>>>>>> build repositories or should I push it into the staging >>>>>>>>>>>>> repository >>>>>>>>>>>>> first? >>>>>>>>>>>>> >>>>>>>>>>>>> Please see my further comments inline. >>>>>>>>>>>>> >>>>>>>>>>>>> Thank you and best regards, >>>>>>>>>>>>> Volker >>>>>>>>>>>>> >>>>>>>>>>>>> On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson >>>>>>>>>>>>> > >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On 2013-06-25 12:27, Erik Joelsson wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Hello Volker, >>>>>>>>>>>>> >>>>>>>>>>>>> On 2013-06-24 19:23, Volker Simonis wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> could somebody please review the following change >>>>>>>>>>>>> and >>>>>>>>>>>>> create an appropriate >>>>>>>>>>>>> Bug ID for it: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_jdk/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> < http://cr.openjdk.java.net/%7Esimonis/webrevs/linux_ppc_build_jdk >>>>>>>>>>>>> /> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> The patch contains two little changes which are >>>>>>>>>>>>> required >>>>>>>>>>>>> to build the class >>>>>>>>>>>>> library part of the OpenJDK on Linux/PPC64. Most >>>>>>>>>>>>> of >>>>>>>>>>>>> the >>>>>>>>>>>>> build magic is >>>>>>>>>>>>> contained in the top-level part of this change >>>>>>>>>>>>> which >>>>>>>>>>>>> is >>>>>>>>>>>>> separately reviewed >>>>>>>>>>>>> at >>>>>>>>>>>>> >>>>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_top >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> < http://cr.openjdk.java.net/%7Esimonis/webrevs/linux_ppc_build_top >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> CompileLaunchers.gmk >>>>>>>>>>>>> >>>>>>>>>>>>> Remove mapfile from build instructions of >>>>>>>>>>>>> BUILD_UNPACKEXE: >>>>>>>>>>>>> >>>>>>>>>>>>> CFLAGS_macosx:=-fPIC, \ >>>>>>>>>>>>> - >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ >>>>>>>>>>>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ >>>>>>>>>>>>> >>>>>>>>>>>>> I think it makes no sense to use a version >>>>>>>>>>>>> script >>>>>>>>>>>>> file >>>>>>>>>>>>> for an executable >>>>>>>>>>>>> and older linkers (e.g. on SLES 10) complain >>>>>>>>>>>>> with: >>>>>>>>>>>>> "*Invalid version tag >>>>>>>>>>>>> `SUNWprivate_1.1'. Only anonymous version tag is >>>>>>>>>>>>> allowed >>>>>>>>>>>>> in executable.*" >>>>>>>>>>>>> The GNU ld >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> manual< http://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_25.html>states: >>>>>>>>>>>>> "*Version scripts are only meaningful when >>>>>>>>>>>>> creating >>>>>>>>>>>>> shared >>>>>>>>>>>>> libraries.*" >>>>>>>>>>>>> Morover unpack200 was the only executable which >>>>>>>>>>>>> used >>>>>>>>>>>>> a >>>>>>>>>>>>> version script file. >>>>>>>>>>>>> >>>>>>>>>>>>> Unpackexe has some weirdness and this isn't >>>>>>>>>>>>> surprising >>>>>>>>>>>>> me. >>>>>>>>>>>>> Would be good if someone with more historic knowledge >>>>>>>>>>>>> could >>>>>>>>>>>>> fill in on the reason for this. Someone apparently >>>>>>>>>>>>> went >>>>>>>>>>>>> through the trouble of creating a special mapfile for >>>>>>>>>>>>> this >>>>>>>>>>>>> executable. Also, if not using it, should it be >>>>>>>>>>>>> removed? >>>>>>>>>>>>> >>>>>>>>>>>>> I looked closer at this. These mapfiles were explicitly >>>>>>>>>>>>> added in >>>>>>>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=7033954, but it >>>>>>>>>>>>> was >>>>>>>>>>>>> noted >>>>>>>>>>>>> that it broke builds for architectures that didn't have >>>>>>>>>>>>> mapfiles >>>>>>>>>>>>> defined. If you look at the launchers, the mapfile is >>>>>>>>>>>>> only >>>>>>>>>>>>> set >>>>>>>>>>>>> if >>>>>>>>>>>>> the arch specific one exists. I think a safer change here >>>>>>>>>>>>> would >>>>>>>>>>>>> be >>>>>>>>>>>>> to make the mapfile conditional on platform or arch for >>>>>>>>>>>>> unpackexe. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> I still do not fully understand why we need map-files for >>>>>>>>>>>>> executables, but I also understand that you don't want to change >>>>>>>>>>>>> the >>>>>>>>>>>>> current setup. >>>>>>>>>>>>> So I went the hard (and hopefully right:) way and implemented a >>>>>>>>>>>>> detection of the buggy linkers on older SuSE distros (e.g. on >>>>>>>>>>>>> SLES >>>>>>>>>>>>> 10) which complain with: "Invalid version tag `SUNWprivate_1.1' >>>>>>>>>>>>> during the configure step (see top-level change). Unfortunately >>>>>>>>>>>>> we >>>>>>>>>>>>> still have quite a lot of these systems so we really need the >>>>>>>>>>>>> build with that buggy ld. >>>>>>>>>>>>> >>>>>>>>>>>>> I've therefore added map files with anonymous version tags for >>>>>>>>>>>>> these buggy linkers which are only used if the buggy linker was >>>>>>>>>>>>> detected during the configure step (i.e. if >>>>>>>>>>>>> USING_BROKEN_SUSE_LD=yes). Notice that this is no PPC64 specific >>>>>>>>>>>>> problem but a occurs on all SuSE 10 platforms. >>>>>>>>>>>>> >>>>>>>>>>>>> And you've been right. I also had to add the arch specific map >>>>>>>>>>>>> files for ppc64 in order to use them for the other launchers. >>>>>>>>>>>>> >>>>>>>>>>>>> Kumar, you made the change referred to here, do you have >>>>>>>>>>>>> anything >>>>>>>>>>>>> to add? >>>>>>>>>>>>> >>>>>>>>>>>>> /Erik >>>>>>>>>>>>> >>>>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>>>>> >>>>>>>>>>>>> default: all >>>>>>>>>>>>> >>>>>>>>>>>>> CompileNativeLibraries.gmk >>>>>>>>>>>>> >>>>>>>>>>>>> Only use $(OPENWIN_LIB) for linking >>>>>>>>>>>>> LIBSPLASHSCREEN >>>>>>>>>>>>> on >>>>>>>>>>>>> Solaris! The old >>>>>>>>>>>>> code worked only accidentally when the >>>>>>>>>>>>> X-libraries >>>>>>>>>>>>> are >>>>>>>>>>>>> in >>>>>>>>>>>>> the default >>>>>>>>>>>>> linker path anyway. The right solution is to use >>>>>>>>>>>>> $(X_LIBS) >>>>>>>>>>>>> if not on >>>>>>>>>>>>> Windows or Solaris. >>>>>>>>>>>>> >>>>>>>>>>>>> Append -DX_ARCH=X_PPC64 to LIBJSOUND_CFLAGS on >>>>>>>>>>>>> PPC64. >>>>>>>>>>>>> The value of >>>>>>>>>>>>> X_ARCHisn't actually used on the PPC >>>>>>>>>>>>> architectures, >>>>>>>>>>>>> but >>>>>>>>>>>>> there's a >>>>>>>>>>>>> check to verify >>>>>>>>>>>>> that it is set. >>>>>>>>>>>>> >>>>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') >>>>>>>>>>>>> >>>>>>>>>>>>> default: all >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Otherwise looks good. >>>>>>>>>>>>> >>>>>>>>>>>>> /Erik >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>> >>>> >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130702/1e7c8d54/attachment-0001.html From goetz.lindenmaier at sap.com Tue Jul 2 02:47:46 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 2 Jul 2013 09:47:46 +0000 Subject: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch In-Reply-To: <51D20DEC.7050904@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFE9848@DEWDFEMB12A.global.corp.sap> <7D0A3D84-A235-4400-8406-95D5EE765E55@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFE9ADF@DEWDFEMB12A.global.corp.sap> <8AA57E4C-80A8-4D10-AE68-64FCB113CC33@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEADA2@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC0CFEC4BA@DEWDFEMB12A.global.corp.sap> <6D628389-7082-450E-AF0E-1EC3249058F7@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> <51D20DEC.7050904@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF1499@DEWDFEMB12A.global.corp.sap> Hi, Sorry for that, I didn't grok the comment. The alignment is a good idea. Fixed: http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Dienstag, 2. Juli 2013 01:17 To: Lindenmaier, Goetz Cc: 'Christian Thalinger'; 'Albert Noll (albert.noll at oracle.com)'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch Goetz, Why you did not add 'nop' between load and return instructions on sparc? It was in assembler in .s file. The next comment said we need it: !! By convention with the trap handler we ensure there is a non-CTI !! instruction in the trap shadow. Also should we align code in stubs to keep it in one cache line? __ align(CodeEntryAlignment); *entry = __ pc(); Thanks, Vladimir On 6/24/13 12:31 PM, Lindenmaier, Goetz wrote: > Hi, > > you are right, the check is redundant. > I removed it and updated the webrev and also based it on the > recent staging repo: > http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ > > Best regards, > Goetz. > > > -----Original Message----- > From: Christian Thalinger [mailto:christian.thalinger at oracle.com] > Sent: Monday, June 24, 2013 7:48 PM > To: Lindenmaier, Goetz > Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch > > > On Jun 20, 2013, at 7:01 AM, "Lindenmaier, Goetz" wrote: > >> Hi, >> >> I implemented the safefetch stubs for x86 and sparc (was quiet simple). >> This way I could clean up the #define right away. >> >> I tested it thouroughly on >> x86_64: bsd, nt, linux, solaris >> x86_32: nt, linux >> by adding it into our internal VM. >> Tonight I will get build/test on >> sparc_64 solaris >> sparc_32 solaris >> x86_64 nt, linux >> with the openjdk ppc port, but I tested that before submitting in a smaller >> extend, too. >> >> Here the webrev: >> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ > > I like this change. It removes a lot of duplication. One comment: > > + static bool is_safefetch_fault(address pc) { > + return pc != NULL && > + (pc == _safefetch32_fault_pc || > + pc == _safefetchN_fault_pc); > + } > > checks for pc != null. Should we remove the check here? > > + if (pc && StubRoutines::is_safefetch_fault(pc)) { > + set_cont_address(uc, address(StubRoutines::continuation_for_safefetch_fault(pc))); > return true; > } > > -- Chris > >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >> Sent: Dienstag, 18. Juni 2013 22:44 >> To: Lindenmaier, Goetz >> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >> >> >> On Jun 18, 2013, at 1:18 PM, "Lindenmaier, Goetz" wrote: >> >>> Ok, I will implement it on x86. >>> >>> To get a single change, you can give me the sparc patch, >>> or you extend the webrev once I updated it with the >>> x86 code. >> >> Sounds good. Let me know when it's there. >> >> -- Chris >> >>> If you prefer, you can also push it to some other repository, it >>> will end up in the ppc repo in time I guess. >>> >>> Best regards, >>> Goetz. >>> >>> >>> -----Original Message----- >>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>> Sent: Tuesday, June 18, 2013 6:59 PM >>> To: Lindenmaier, Goetz >>> Cc: Volker Simonis; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >>> >>> >>> On Jun 18, 2013, at 1:50 AM, "Lindenmaier, Goetz" wrote: >>> >>>> Hi, >>>> >>>> We have it on these platforms: >>>> ia64 (nt, linux, hp_ux) >>>> parisc (hp_ux) >>>> zArch (linux) >>>> ppc (aix, linux) >>>> >>>> I would implement it on x86 & friends, you do it on sparc and wherever >>>> else you like it? >>> >>> That sounds reasonable. Are we pushing this to the ppc repository then? >>> >>> -- Chris >>> >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Dienstag, 18. Juni 2013 07:13 >>>> To: Volker Simonis >>>> Cc: Lindenmaier, Goetz; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >>>> >>>> >>>> On Jun 17, 2013, at 10:08 AM, Volker Simonis wrote: >>>> >>>>> Hi Goetz, >>>>> >>>>> I think the change is good and if the other reviewers don't decide to >>>>> implement it for the current platforms we can push it. >>>> >>>> I talked with Vladimir about this today and I my opinion we should use this stub on all platforms. On which other platforms are you guys having this? >>>> >>>> -- Chris >>>> >>>>> >>>>> By the way, the makefile changes in ppc64.make will follow in patch 8 for >>>>> linux [1] and patch 14 for aix [2]. >>>>> The implementation of the stubs will be in patch 9 for linux [3] and patch >>>>> 15 for aix [4] (only the signal handling part). >>>>> >>>>> Regards, >>>>> Volker >>>>> >>>>> [1] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0008_linux_ppc_make_changes.patch >>>>> [2] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0014_aix_make_changes.patch >>>>> [3] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0009_linux_ppc_files.patch >>>>> [4] >>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0015_aix_ppc_files.patch >>>>> >>>>> >>>>> >>>>> On Mon, Jun 17, 2013 at 3:55 PM, Lindenmaier, Goetz < >>>>> goetz.lindenmaier at sap.com> wrote: >>>>> >>>>>> Hi,**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> the PPC64 port uses stub routines to implement safefetch. We had and**** >>>>>> >>>>>> have problems with inline assembly, especially with non-gcc**** >>>>>> >>>>>> compilers. Stub routines allow to implement safefetch without**** >>>>>> >>>>>> depending on OS or compiler, as it's the case with the current**** >>>>>> >>>>>> implementation. This also allows to use a single implementation if an**** >>>>>> >>>>>> architecture is supported on several os platforms.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-safefetch/**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Currently, we guard the code with **** >>>>>> >>>>>> #ifdef SAFEFETCH_STUBS**** >>>>>> >>>>>> which is set in ppc64.make.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> I could also imagine an implementation that uses a pd_debug flag**** >>>>>> >>>>>> or a const flag set in os_.hpp that allows the C-compiler to **** >>>>>> >>>>>> optimize, and writing the code like this:**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> extern "C" int pd_SafeFetch32 (int * adr, int errValue) ;**** >>>>>> >>>>>> extern "C" intptr_t pd_SafeFetchN (intptr_t * adr, intptr_t errValue) ;*** >>>>>> * >>>>>> >>>>>> inline int SafeFetch32(int* adr, int errValue) {**** >>>>>> >>>>>> if (UseSafefetchStub) {**** >>>>>> >>>>>> assert(StubRoutines::SafeFetch32_stub(), "stub not yet generated");*** >>>>>> * >>>>>> >>>>>> return StubRoutines::SafeFetch32_stub()(adr, errValue);**** >>>>>> >>>>>> } else {**** >>>>>> >>>>>> pd_SafeFetch32(adr, errValue);**** >>>>>> >>>>>> }**** >>>>>> >>>>>> }**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Unfortunately this requires **** >>>>>> >>>>>> 1) setting the flag on all platforms**** >>>>>> >>>>>> 2) renaming the safefetch function on all platfoms.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Actually I would prefer this second solution as it avoids the >>>>>> preprocessor, **** >>>>>> >>>>>> and am happy to edit the sources accordingly if this finds acceptance.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> For the implementation of a safefetch_stub see**** >>>>>> >>>>>> >>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/fce884e5ba0b/src/cpu/ppc/vm/stubGenerator_ppc.cpp >>>>>> **** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Could I get a review on this change, please?**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Thanks,**** >>>>>> >>>>>> Goetz.**** >>>>>> >>>> >>> >> > From david.holmes at oracle.com Tue Jul 2 04:37:01 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 02 Jul 2013 21:37:01 +1000 Subject: RFR(M): 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF140B@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFEE181@DEWDFEMB12A.global.corp.sap> <51CB7A9A.9010307@oracle.com> <51CC2DAF.4050102@oracle.com> <51CCB772.4010908@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF140B@DEWDFEMB12A.global.corp.sap> Message-ID: <51D2BB5D.2010202@oracle.com> Sorry I've been in and out of the office this past week. I think the move should happen - but whether that is easier to do before or after I can't say. I'll leave it to Vladimir to make the call. David ----- On 2/07/2013 6:41 PM, Lindenmaier, Goetz wrote: > Hi David, > > can I push this change now? Or will the files be moved? > I prepared a webrev without the shared change: > http://cr.openjdk.java.net/~goetz/webrevs/8017317-lock-2/ > > Best regards, > Goetz. > > > -----Original Message----- > From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov > Sent: Freitag, 28. Juni 2013 00:07 > To: David Holmes > Cc: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR(M): 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking > > David, > > Do you insist on moving cppInterpreter files into separate directory? If > yes, we need to do that in our main sources to avoid merges nightmare. > And I will do the move. > > Thanks, > Vladimir > > On 6/27/13 5:18 AM, David Holmes wrote: >> Vladimir, >> >> On 27/06/2013 9:34 AM, Vladimir Kozlov wrote: >>> Hi Goetz, >>> >>> On 6/26/13 7:30 AM, Lindenmaier, Goetz wrote: >>>> Hi, >>>> >>>> To use biased locking in our PPC64 VM,we fixed the biased locking >>>> implementation >>>> in the cppInterpreter. We also added BiasedLockingStatistic support. >>> >>> Oracle does not use cppInterpreter and no building and testing are done. >>> So we trust you to do testing of these changes. >>> I glanced on these changes and they look fine to me. >>> >>> One suggestion I heard from David H. is to move cppInterpreter related >>> files (all 6 of them) from interpreter/ directory to separate directory. >>> So we can see when changes does not affect our shared code. >> >> It is a general source of confusion to new hotspot engineers that there >> are actually two interpreters in one directory and that one is not used >> by the historical primary ports. It also isn't obvious that >> bytecodeInterpreter.cpp pertains to the cppInterpreter. >> >>>> We need an additional ordering operation in revoke_bias() when writing >>>> the mark. >>> >>> Why you need ordering only for locked objects in this code? And why here >>> at all? This code is executed at safepoint. >> >> There is one occurrence that is not executed at a safepoint - see >> BiasedLocking::Condition BiasedLocking::revoke_and_rebias. Though it >> seems to be operating only on current thread in that case. >> >> The use of release_set_mark seems consistent with other uses in >> synchronizer.cpp. >> >> David >> ----- >> >>> thanks, >>> Vladimir >>> >>>> The change enables biased locking for ppc64 per default. >>>> http://cr.openjdk.java.net/~goetz/webrevs/8017317-lock/ >>>> >>>> Please review and test this change. >>>> >>>> Best regards, >>>> Goetz >>>> From albert.noll at oracle.com Tue Jul 2 05:01:36 2013 From: albert.noll at oracle.com (Albert Noll) Date: Tue, 02 Jul 2013 14:01:36 +0200 Subject: BugIDs for C interpreter changes In-Reply-To: <51D1EC0A.8020504@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF0F4F@DEWDFEMB12A.global.corp.sap> <51D1CAFA.5080005@oracle.com> <51D1EC0A.8020504@oracle.com> Message-ID: <51D2C120.3000903@oracle.com> Hi Vladimir, sorry for the wrong description. I fixed it according to your suggestions. Best, Albert On 01.07.2013 22:52, Vladimir Kozlov wrote: > Albert, > > Thank you for filing bugs but I want you to follow the format I used > for PPC64 port bugs before. Please, fix bugs reports accordingly. > > These changes correspond to next patches in > http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/df79d76c17ab/ppc_patches/: > > 0102_C_interpreter-implement_G1_support.patch > > 0104_C_interpreter-support_compressed_Oops.patch > > 0105_C_interpreter-support_early_return.patch > > Goetz, please, next time point patches for which you want to file bugs. > > Albert, bug's synopsis and description should reflect which patch is > used. Lets take 8019517 for example. You should have: > > Synopsis: > > PPC64 (part 102): cppInterpreter: implement G1 support > > Description: > ------------------------------------------------------------------------ > This is preparation for PPC64 integration: > http://openjdk.java.net/jeps/175 > This and following ppc64 changes will go into staging repository first > and tested there: http://hg.openjdk.java.net/ppc-aix-port/stage/ > > Add G1 support to cppInterpreter. > > http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/df79d76c17ab/ppc_patches/0102_C_interpreter-implement_G1_support.patch > > ------------------------------------------------------------------------ > > CPU: generic (it is interpreter). > > It should be open - press 'Triage'. And assign it to yourself or me. > > Thanks, > Vladimir > > On 7/1/13 11:31 AM, Albert Noll wrote: >> Hi, >> >> I created the following bug-ids: >> >> >> On 01.07.2013 15:28, Lindenmaier, Goetz wrote: >>> >>> Hi, >>> >>> Can you please give me BugIDs for the following changes: >>> >>> cppInterpreter: implement G1 support: >>> >> 8019517 >>> >>> cppInterpreter: implement support for compressed Oops >>> >> 8019518 >>> >>> cppInterpreter: implement support for early return >>> >> 8019519 >>> >>> I?ll prepare changes affecting only cppInterpreter files for >>> >>> these and then post them to the mailing lists. >>> >>> Thanks & best regards, >>> >>> Goetz. >>> >> Best, >> Albert From vladimir.kozlov at oracle.com Tue Jul 2 07:42:12 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 02 Jul 2013 07:42:12 -0700 Subject: RFR(M): 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking In-Reply-To: <51D2BB5D.2010202@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFEE181@DEWDFEMB12A.global.corp.sap> <51CB7A9A.9010307@oracle.com> <51CC2DAF.4050102@oracle.com> <51CCB772.4010908@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF140B@DEWDFEMB12A.global.corp.sap> <51D2BB5D.2010202@oracle.com> Message-ID: <51D2E6C4.1020205@oracle.com> It looks like we need to discuss about the move inside hotspot team since not everyone agree. So if we do that we do it later. Goetz, you can push your changes. Thanks, Vladimir On 7/2/13 4:37 AM, David Holmes wrote: > Sorry I've been in and out of the office this past week. > > I think the move should happen - but whether that is easier to do before or after I can't say. I'll leave it to Vladimir > to make the call. > > David > ----- > > On 2/07/2013 6:41 PM, Lindenmaier, Goetz wrote: >> Hi David, >> >> can I push this change now? Or will the files be moved? >> I prepared a webrev without the shared change: >> http://cr.openjdk.java.net/~goetz/webrevs/8017317-lock-2/ >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of >> Vladimir Kozlov >> Sent: Freitag, 28. Juni 2013 00:07 >> To: David Holmes >> Cc: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >> Subject: Re: RFR(M): 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking >> >> David, >> >> Do you insist on moving cppInterpreter files into separate directory? If >> yes, we need to do that in our main sources to avoid merges nightmare. >> And I will do the move. >> >> Thanks, >> Vladimir >> >> On 6/27/13 5:18 AM, David Holmes wrote: >>> Vladimir, >>> >>> On 27/06/2013 9:34 AM, Vladimir Kozlov wrote: >>>> Hi Goetz, >>>> >>>> On 6/26/13 7:30 AM, Lindenmaier, Goetz wrote: >>>>> Hi, >>>>> >>>>> To use biased locking in our PPC64 VM,we fixed the biased locking >>>>> implementation >>>>> in the cppInterpreter. We also added BiasedLockingStatistic support. >>>> >>>> Oracle does not use cppInterpreter and no building and testing are done. >>>> So we trust you to do testing of these changes. >>>> I glanced on these changes and they look fine to me. >>>> >>>> One suggestion I heard from David H. is to move cppInterpreter related >>>> files (all 6 of them) from interpreter/ directory to separate directory. >>>> So we can see when changes does not affect our shared code. >>> >>> It is a general source of confusion to new hotspot engineers that there >>> are actually two interpreters in one directory and that one is not used >>> by the historical primary ports. It also isn't obvious that >>> bytecodeInterpreter.cpp pertains to the cppInterpreter. >>> >>>>> We need an additional ordering operation in revoke_bias() when writing >>>>> the mark. >>>> >>>> Why you need ordering only for locked objects in this code? And why here >>>> at all? This code is executed at safepoint. >>> >>> There is one occurrence that is not executed at a safepoint - see >>> BiasedLocking::Condition BiasedLocking::revoke_and_rebias. Though it >>> seems to be operating only on current thread in that case. >>> >>> The use of release_set_mark seems consistent with other uses in >>> synchronizer.cpp. >>> >>> David >>> ----- >>> >>>> thanks, >>>> Vladimir >>>> >>>>> The change enables biased locking for ppc64 per default. >>>>> http://cr.openjdk.java.net/~goetz/webrevs/8017317-lock/ >>>>> >>>>> Please review and test this change. >>>>> >>>>> Best regards, >>>>> Goetz >>>>> From vladimir.kozlov at oracle.com Tue Jul 2 15:17:03 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 02 Jul 2013 15:17:03 -0700 Subject: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1499@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFE9848@DEWDFEMB12A.global.corp.sap> <7D0A3D84-A235-4400-8406-95D5EE765E55@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFE9ADF@DEWDFEMB12A.global.corp.sap> <8AA57E4C-80A8-4D10-AE68-64FCB113CC33@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEADA2@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC0CFEC4BA@DEWDFEMB12A.global.corp.sap> <6D628389-7082-450E-AF0E-1EC3249058F7@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> <51D20DEC.7050904@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF1499@DEWDFEMB12A.global.corp.sap> Message-ID: <51D3515F.10402@oracle.com> Thank you, Goetz We are doing review of closed changes. When they are ready I will push. Thanks, Vladimir On 7/2/13 2:47 AM, Lindenmaier, Goetz wrote: > Hi, > > Sorry for that, I didn't grok the comment. The alignment is a good idea. > Fixed: > http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ > > Best regards, > Goetz. > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Dienstag, 2. Juli 2013 01:17 > To: Lindenmaier, Goetz > Cc: 'Christian Thalinger'; 'Albert Noll (albert.noll at oracle.com)'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch > > Goetz, > > Why you did not add 'nop' between load and return instructions on sparc? > It was in assembler in .s file. The next comment said we need it: > > !! By convention with the trap handler we ensure there is a non-CTI > !! instruction in the trap shadow. > > Also should we align code in stubs to keep it in one cache line? > > __ align(CodeEntryAlignment); > *entry = __ pc(); > > Thanks, > Vladimir > > On 6/24/13 12:31 PM, Lindenmaier, Goetz wrote: >> Hi, >> >> you are right, the check is redundant. >> I removed it and updated the webrev and also based it on the >> recent staging repo: >> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >> Sent: Monday, June 24, 2013 7:48 PM >> To: Lindenmaier, Goetz >> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >> >> >> On Jun 20, 2013, at 7:01 AM, "Lindenmaier, Goetz" wrote: >> >>> Hi, >>> >>> I implemented the safefetch stubs for x86 and sparc (was quiet simple). >>> This way I could clean up the #define right away. >>> >>> I tested it thouroughly on >>> x86_64: bsd, nt, linux, solaris >>> x86_32: nt, linux >>> by adding it into our internal VM. >>> Tonight I will get build/test on >>> sparc_64 solaris >>> sparc_32 solaris >>> x86_64 nt, linux >>> with the openjdk ppc port, but I tested that before submitting in a smaller >>> extend, too. >>> >>> Here the webrev: >>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >> >> I like this change. It removes a lot of duplication. One comment: >> >> + static bool is_safefetch_fault(address pc) { >> + return pc != NULL && >> + (pc == _safefetch32_fault_pc || >> + pc == _safefetchN_fault_pc); >> + } >> >> checks for pc != null. Should we remove the check here? >> >> + if (pc && StubRoutines::is_safefetch_fault(pc)) { >> + set_cont_address(uc, address(StubRoutines::continuation_for_safefetch_fault(pc))); >> return true; >> } >> >> -- Chris >> >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>> Sent: Dienstag, 18. Juni 2013 22:44 >>> To: Lindenmaier, Goetz >>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >>> >>> >>> On Jun 18, 2013, at 1:18 PM, "Lindenmaier, Goetz" wrote: >>> >>>> Ok, I will implement it on x86. >>>> >>>> To get a single change, you can give me the sparc patch, >>>> or you extend the webrev once I updated it with the >>>> x86 code. >>> >>> Sounds good. Let me know when it's there. >>> >>> -- Chris >>> >>>> If you prefer, you can also push it to some other repository, it >>>> will end up in the ppc repo in time I guess. >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Tuesday, June 18, 2013 6:59 PM >>>> To: Lindenmaier, Goetz >>>> Cc: Volker Simonis; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >>>> >>>> >>>> On Jun 18, 2013, at 1:50 AM, "Lindenmaier, Goetz" wrote: >>>> >>>>> Hi, >>>>> >>>>> We have it on these platforms: >>>>> ia64 (nt, linux, hp_ux) >>>>> parisc (hp_ux) >>>>> zArch (linux) >>>>> ppc (aix, linux) >>>>> >>>>> I would implement it on x86 & friends, you do it on sparc and wherever >>>>> else you like it? >>>> >>>> That sounds reasonable. Are we pushing this to the ppc repository then? >>>> >>>> -- Chris >>>> >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>> Sent: Dienstag, 18. Juni 2013 07:13 >>>>> To: Volker Simonis >>>>> Cc: Lindenmaier, Goetz; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch >>>>> >>>>> >>>>> On Jun 17, 2013, at 10:08 AM, Volker Simonis wrote: >>>>> >>>>>> Hi Goetz, >>>>>> >>>>>> I think the change is good and if the other reviewers don't decide to >>>>>> implement it for the current platforms we can push it. >>>>> >>>>> I talked with Vladimir about this today and I my opinion we should use this stub on all platforms. On which other platforms are you guys having this? >>>>> >>>>> -- Chris >>>>> >>>>>> >>>>>> By the way, the makefile changes in ppc64.make will follow in patch 8 for >>>>>> linux [1] and patch 14 for aix [2]. >>>>>> The implementation of the stubs will be in patch 9 for linux [3] and patch >>>>>> 15 for aix [4] (only the signal handling part). >>>>>> >>>>>> Regards, >>>>>> Volker >>>>>> >>>>>> [1] >>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0008_linux_ppc_make_changes.patch >>>>>> [2] >>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0014_aix_make_changes.patch >>>>>> [3] >>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0009_linux_ppc_files.patch >>>>>> [4] >>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0015_aix_ppc_files.patch >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Jun 17, 2013 at 3:55 PM, Lindenmaier, Goetz < >>>>>> goetz.lindenmaier at sap.com> wrote: >>>>>> >>>>>>> Hi,**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> the PPC64 port uses stub routines to implement safefetch. We had and**** >>>>>>> >>>>>>> have problems with inline assembly, especially with non-gcc**** >>>>>>> >>>>>>> compilers. Stub routines allow to implement safefetch without**** >>>>>>> >>>>>>> depending on OS or compiler, as it's the case with the current**** >>>>>>> >>>>>>> implementation. This also allows to use a single implementation if an**** >>>>>>> >>>>>>> architecture is supported on several os platforms.**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-safefetch/**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> Currently, we guard the code with **** >>>>>>> >>>>>>> #ifdef SAFEFETCH_STUBS**** >>>>>>> >>>>>>> which is set in ppc64.make.**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> I could also imagine an implementation that uses a pd_debug flag**** >>>>>>> >>>>>>> or a const flag set in os_.hpp that allows the C-compiler to **** >>>>>>> >>>>>>> optimize, and writing the code like this:**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> extern "C" int pd_SafeFetch32 (int * adr, int errValue) ;**** >>>>>>> >>>>>>> extern "C" intptr_t pd_SafeFetchN (intptr_t * adr, intptr_t errValue) ;*** >>>>>>> * >>>>>>> >>>>>>> inline int SafeFetch32(int* adr, int errValue) {**** >>>>>>> >>>>>>> if (UseSafefetchStub) {**** >>>>>>> >>>>>>> assert(StubRoutines::SafeFetch32_stub(), "stub not yet generated");*** >>>>>>> * >>>>>>> >>>>>>> return StubRoutines::SafeFetch32_stub()(adr, errValue);**** >>>>>>> >>>>>>> } else {**** >>>>>>> >>>>>>> pd_SafeFetch32(adr, errValue);**** >>>>>>> >>>>>>> }**** >>>>>>> >>>>>>> }**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> Unfortunately this requires **** >>>>>>> >>>>>>> 1) setting the flag on all platforms**** >>>>>>> >>>>>>> 2) renaming the safefetch function on all platfoms.**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> Actually I would prefer this second solution as it avoids the >>>>>>> preprocessor, **** >>>>>>> >>>>>>> and am happy to edit the sources accordingly if this finds acceptance.**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> For the implementation of a safefetch_stub see**** >>>>>>> >>>>>>> >>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/fce884e5ba0b/src/cpu/ppc/vm/stubGenerator_ppc.cpp >>>>>>> **** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> Could I get a review on this change, please?**** >>>>>>> >>>>>>> ** ** >>>>>>> >>>>>>> Thanks,**** >>>>>>> >>>>>>> Goetz.**** >>>>>>> >>>>> >>>> >>> >> From goetz.lindenmaier at sap.com Tue Jul 2 16:40:27 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 2 Jul 2013 23:40:27 +0000 Subject: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> Hi, we implemented support for G1 in the cppInterpreter. This is basically all done in the accessor routines, they just have to be called properly. http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInter_g1/ I would be happy if I could get a review on this change. Thanks and best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130702/18b811ff/attachment.html From goetz.lindenmaier at sap.com Tue Jul 2 16:46:51 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 2 Jul 2013 23:46:51 +0000 Subject: RFR (S): 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF1BB3@DEWDFEMB12A.global.corp.sap> Hi, we implemented the missing decode in aaload so that the cppInterpreter now works with compressed Oops. http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInterp_cOops/ Please review this change. Thanks and best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130702/c9385188/attachment.html From vladimir.kozlov at oracle.com Tue Jul 2 16:54:12 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 02 Jul 2013 16:54:12 -0700 Subject: RFR (S): 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1BB3@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1BB3@DEWDFEMB12A.global.corp.sap> Message-ID: <51D36824.2060100@oracle.com> What about stores to array and instance's oop fields access? Vladimir On 7/2/13 4:46 PM, Lindenmaier, Goetz wrote: > Hi, > > we implemented the missing decode in aaload so that the > > cppInterpreter now works with compressed Oops. > > http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInterp_cOops/ > > Please review this change. > > Thanks and best regards, > > Goetz. > From vladimir.kozlov at oracle.com Tue Jul 2 17:06:08 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 02 Jul 2013 17:06:08 -0700 Subject: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> Message-ID: <51D36AF0.3020302@oracle.com> Goetz, Do you still need next include?: #include "memory/cardTableModRefBS.hpp" Vladimir On 7/2/13 4:40 PM, Lindenmaier, Goetz wrote: > Hi, > > we implemented support for G1 in the cppInterpreter. > > This is basically all done in the accessor routines, they > > just have to be called properly. > > http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInter_g1/ > > I would be happy if I could get a review on this change. > > Thanks and best regards, > > Goetz. > From vladimir.kozlov at oracle.com Tue Jul 2 17:37:12 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 02 Jul 2013 17:37:12 -0700 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> <51CB0F42.5020604@oracle.com> <51CB1C80.9090305@oracle.com> <51CC10E7.5000903@oracle.com> <51CC274E.7050401@oracle.com> <4f66ed63-fb17-429e-893c-ea1497cbc6b6@default> <51CC77CF.9010108@oracle.com> <51D24D95.7050207@oracle.com> <51D27E30.2010002@oracle.com> <51D287B2.7080201@oracle.com> Message-ID: <51D37238.2040509@oracle.com> Running autogen.sh in top directory updates both files: $ bash common/autoconf/autogen.sh Autoconf found: /usr/local/bin/autoconf Autoconf-2.67 found: Generating generated-configure.sh with /usr/local/bin/autoconf Generating custom generated-configure.sh Test builds are running (and already passed on MacOS and Linux) so I think the problem is solved. Thank you, Erik and Volker. I will push (since we need to push closed part too) changesets into ppc-aix-port/stage repository with Erik as reviewer. Thanks, Vladimir On 7/2/13 1:54 AM, Volker Simonis wrote: > Ah, now I got it! > > The problem is with your closed sources which also have their own > closed, autoconf-generated config file which has to be recreated after > the OpenJDK autoconf-generated configure files changes. > > The warning "Warning: The generated configure file contains changes not > present in the custom generated file." from 'common/autoconf/configure:' > actually checks exactly that: > > if test -e $conf_custom_script_dir/generated-configure.sh; then > # Test if open configure is newer than custom configure, if so, > custom needs to > # be regenerated. This test is required to ensure consistency with > custom source. > conf_open_configure_timestamp=`grep DATE_WHEN_GENERATED= > $conf_script_dir/generated-configure.sh | cut -d"=" -f 2` > conf_custom_configure_timestamp=`grep DATE_WHEN_GENERATED= > $conf_custom_script_dir/generated-configure.sh | cut -d"=" -f 2` > if test $conf_open_configure_timestamp -gt > $conf_custom_configure_timestamp; then > echo "Warning: The generated configure file contains changes not > present in the custom generated file." > run_autogen_or_fail > fi > fi > > I obviously can not fix that:) > > But if you've already done a successful build on any other platform, you > can just copy the generated > '$conf_custom_script_dir/generated-configure.sh' from that build into > you workspace and that should do the job! > > Very nasty Closedsource/JPRT problems:( When will we finally overcome > this mess... > > Regards, > Volker > > On Tue, Jul 2, 2013 at 10:42 AM, Volker Simonis > > wrote: > > On Tue, Jul 2, 2013 at 9:56 AM, Vladimir Kozlov > > > wrote: > >> JPRT uses own target to build forest: > >> > >> jprt_build_product: sanity all_product_build > >> > >> > http://hg.openjdk.java.net/ppc-aix-port/stage/file/c156084add48/make/jprt.gmk > >> > >> That is why 'make sanity' is called I think. > >> > >> Note the next warning was present in JPRT logs on all platforms: > >> > >> Warning: The generated configure file contains changes not present > in the > >> custom generated file. > >> > >> I verified that submitted source > common/autoconf/generated-configure.sh is > >> matching file in stage repo plus changes from patch. > >> > >> Hmm, may be the problem is next change in generated-configure.sh: > >> > >> -DATE_WHEN_GENERATED=1371547824 > >> +DATE_WHEN_GENERATED=1372238067 > >> > >> It is date when Volker generated generated-configure.sh but the date of > >> changed .m4 files is when I applied patch which is later. It looks > like I > >> need to regenerate generated-configure.sh file myself as Erik said. > I will > >> give it a try tomorrow. > >> > > > > I doubt that that's the only reason, because I did exactly the same > > yesterday on MacOS without these problems: > > - clone jdk8/jdk8 > > - import the patches into the base and jdk repositroy > > - configure > > - make > > > > Is there a way I can simulate a JPRT build? > > If I just call 'make jprt_build_product' in the build directory where > > I have previously called 'configure' it fails because it wants to call > > configure again and doesn't find it. > > So from which directory am I supposed to start a JPRT build and which > > parameters should I pass to it? > > > >> Vladimir > >> > >> > >> On 7/2/13 12:31 AM, Volker Simonis wrote: > >>> > >>> Hi Erik, > >>> > >>> thank you for looking into this. > >>> > >>> On Tue, Jul 2, 2013 at 9:16 AM, Erik Joelsson > > > >>> wrote: > >>>> > >>>> This looks like you have applied a change to configure input files > (*.m4) > >>>> and haven't regenerated configure locally afterwards. The JPRT > machines > >>>> don't have autoconf setup so they can't do it. In this case it > looks like > >>>> one of them, probably the mac, has a faulty version of autoconf > that gets > >>>> picked up. I have seen this happen before on mac. > >>>> > >>> > >>> Actually, that was my guess as well. On the other hand that's still > >>> strange, because my patch also contains an updated > >>> 'common/autoconf/generated- > >>> configure.sh' and it works on the other platforms (and also locally > >>> for me on MacOS X) without regenerating it. I just saw that the mail I > >>> wrote yesterday wasn't send to the lists so I quote my assumptions > >>> here: > >>> > >>> ... > >>> From your logs I only see that the make process does not find any > >>> configuration, but the configuration should have been created by > >>> running configure. Then it tries to call configure but doesn't succeed > >>> because it says "The generated configure file contains changes not > >>> present in the custom generated file." That's also strange because my > >>> changesets also patch 'common/autoconf/generated- > >>> configure.sh' so it should not be re-generated. And finally the build > >>> fails because there's not autoconf on Windows and probably because the > >>> autoconf on Mac is too old (the checked-in file is generated by > >>> autoconf 2.8). > >>> > >>> I've just synced jdk8/jdk8 and applied the two patches. I could build > >>> without any problems on MacOS X 10.8 with the following command line. > >>> > >>> sh /usr/work/d046063/OpenJDK/ppc-aix-port/stage/configure > >>> --with-boot-jdk=/darwinintel64/output/sapjvm_7 > >>> --with-target-bits=64 --with-debug-level=release > >>> > >>> make images LOG=debug > >>> > >>> Attached you can find the output I get from running configure. > >>> > >>> Could you please retry one more time? If you still have problems, can > >>> you please run configure by hand and post the output. > >>> > >>> PS: I also saw from your logs that '/usr/bin/make sanity' is called. > >>> This also seems strange to me because I think there aren't any sanity > >>> targets any more in the new build system. Maybe you have a mismatch > >>> between old and new build system? > >>> ... > >>> > >>> Erik, could you please try this locally on Mac or Windows and post you > >>> findings. Alternatively, could you please explain post the complete > >>> JPRT output and explain what JPRT is trying to do. From Vladimir's log > >>> snippets it's hard for me t understand the whole picture. > >>> > >>> Thank you and best regards, > >>> Volker > >>> > >>>> The fix is to execute "bash common/autoconf/autogen.sh" locally > and then > >>>> resubmit to jprt. You need to have autoconf version 2.67 or newer > >>>> installed > >>>> for it to work. > >>>> > >>>> /Erik > >>>> > >>>> > >>>> On 2013-07-02 05:48, Vladimir Kozlov wrote: > >>>>> > >>>>> > >>>>> Need help from JDK build experts. > >>>>> > >>>>> I applied next 2 changesets: > >>>>> > >>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel/ > >>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ > >>>>> > >>>>> and got JPRT build problems (-control build) only on MacOS and Win64: > >>>>> > >>>>> > >>>>> > >>>>> > http://bus2001067.us.oracle.com/archives/2013/06/2013-06-28-213927.vkozlov.ppc64_jdk_build_test/ > >>>>> > >>>>> > >>>>> > >>>>> > ------------------------------------------------------------------------------ > >>>>> macosx_x64_10.7-product (details from log file) > >>>>> > >>>>> ... > >>>>> > >>>>> Warning: The generated configure file contains changes not present in > >>>>> the > >>>>> custom generated file. > >>>>> Running autogen.sh to correct the situation > >>>>> Autoconf found: /usr/bin/autoconf > >>>>> Autoconf-2.67 found: > >>>>> Generating generated-configure.sh with /usr/bin/autoconf > >>>>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > > >>>>> autom4te: /usr/bin/gm4 failed with exit status: 1 > >>>>> Generating custom generated-configure.sh > >>>>> /usr/bin/gm4:stdin:187: bad expression in eval: 32 > > >>>>> autom4te: /usr/bin/gm4 failed with exit status: 1 > >>>>> > >>>>> > >>>>> > >>>>> > ------------------------------------------------------------------------------ > >>>>> windows_x64_5.2-fastdebug (details from log file) > >>>>> > >>>>> ... > >>>>> > >>>>> Warning: The generated configure file contains changes not present in > >>>>> the > >>>>> custom generated file. > >>>>> Error: Cannot continue > >>>>> Cannot locate autoconf, unable to correct situation. > >>>>> Please install autoconf and run 'bash autogen.sh' to update the > >>>>> generated > >>>>> files. > >>>>> make: *** [bridge2configure] Error 1 > >>>>> > >>>>> > >>>>> > >>>>> > ------------------------------------------------------------------------------ > >>>>> > >>>>> Without these changes the output is: > >>>>> > >>>>> Running custom generated-configure.sh > >>>>> configure: Configuration created at Thu Jun 27 16:32:25 EDT 2013. > >>>>> configure: configure script generated at timestamp 1371547939. > >>>>> > >>>>> Thanks, > >>>>> Vladimir > >>>>> > >>>>> On 6/28/13 12:04 AM, Volker Simonis wrote: > >>>>>> > >>>>>> > >>>>>> Ok, that's fine. > >>>>>> > >>>>>> Could you please let me know when you've verified these changes. I > >>>>>> will then push them to the staging repository. > >>>>>> > >>>>>> > >>>>>> Regards, > >>>>>> Volker > >>>>>> > >>>>>> > >>>>>> On Thu, Jun 27, 2013 at 7:35 PM, Vladimir Kozlov > >>>>>> > > wrote: > >>>>>>> > >>>>>>> > >>>>>>> On 6/27/13 10:16 AM, Iris Clark wrote: > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> Hi, Volker. > >>>>>>>> > >>>>>>>> I think that the right thing for this change [1] is for you to > push > >>>>>>>> into > >>>>>>>> ppc-aix-port/stage once you get the necessary reviews (presumably > >>>>>>>> Erik > >>>>>>>> and > >>>>>>>> possibly Alan). While your changeset contains some general > purpose > >>>>>>>> updates, > >>>>>>>> it also contains PPC/AIX-specific files which can't be added > to a JDK > >>>>>>>> release repository until stage is pushed into the a JDK release. > >>>>>>>> > >>>>>>>> The recommendation to push to stage of course assumes that > Vladimir > >>>>>>>> doesn't think that this will adversely affect the Hotspot work > >>>>>>>> already > >>>>>>>> being > >>>>>>>> pushed to stage. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> This should not affect Hotspot in stage repo. Me or Albert will do > >>>>>>> JPRT > >>>>>>> bootstrap control build of jdk with this changes to make sure it > >>>>>>> works. > >>>>>>> After that Volker can push it into stage. > >>>>>>> > >>>>>>> When I talked about pushing *general* changes into main sources I > >>>>>>> meant > >>>>>>> changes with no ppc64 specific code. The example of such > changes was > >>>>>>> recent > >>>>>>> Goetz's fix for '8017531: 8010460 changes broke > >>>>>>> bytecodeInterpreter.cpp'. > >>>>>>> > >>>>>>> Thanks, > >>>>>>> Vladimir > >>>>>>> > >>>>>>> > >>>>>>>> > >>>>>>>> Thanks, > >>>>>>>> iris > >>>>>>>> > >>>>>>>> [1]: http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ > >>>>>>>> > >>>>>>>> -----Original Message----- > >>>>>>>> From: Volker Simonis [mailto:volker.simonis at gmail.com > ] > >>>>>>>> Sent: Thursday, June 27, 2013 9:23 AM > >>>>>>>> To: Erik Joelsson > >>>>>>>> Cc: Kumar Srinivasan; build-dev; > ppc-aix-port-dev at openjdk.java.net > ; > >>>>>>>> Alan > >>>>>>>> Bateman > >>>>>>>> Subject: Re: RFR (XS): Enable new build on Linux/PPC64 (jdk part) > >>>>>>>> > >>>>>>>> Hi Erik, > >>>>>>>> > >>>>>>>> we have no polices which are carved in stone:) It's all done > >>>>>>>> informally > >>>>>>>> and by common sense. > >>>>>>>> > >>>>>>>> The main reason for the ppc-aix-port/stage repository is to have a > >>>>>>>> sandbox > >>>>>>>> for in-depth review and testing of changes we had to make in > shared > >>>>>>>> code > >>>>>>>> before pushing them to the main repository (and this especially > >>>>>>>> applies > >>>>>>>> to > >>>>>>>> hotspot changes). If you feel comfortable with the current changes > >>>>>>>> and > >>>>>>>> don't > >>>>>>>> think that they will break anything (e.g. by running tests > build on > >>>>>>>> your > >>>>>>>> supported platforms including the closed source ones) I'd really > >>>>>>>> appreciate > >>>>>>>> if you could push them to the build repository. > >>>>>>>> > >>>>>>>> Otherwise I'll push them to the staging repository and you'll get > >>>>>>>> them > >>>>>>>> once we're finished with the integration of the port. > >>>>>>>> > >>>>>>>> Thank you and best regards, > >>>>>>>> Volker > >>>>>>>> > >>>>>>>> On Thu, Jun 27, 2013 at 1:51 PM, Erik Joelsson > >>>>>>>> > > >>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On 2013-06-27 13:00, Volker Simonis wrote: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On Thu, Jun 27, 2013 at 12:16 PM, Erik Joelsson > >>>>>>>>> > > >>>>>>>>> wrote: > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> Hello Volker, > >>>>>>>>>> > >>>>>>>>>> I wasn't aware of this project until now. From what I (now) > >>>>>>>>>> understand, generic patches can go into jdk8 repos, but port > >>>>>>>>>> specific > >>>>>>>>>> things need to go to staging and go in with the rest later. > These > >>>>>>>>>> changes contain a couple of port specific things so as it > looks now > >>>>>>>>>> they would need to go through staging. > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> Yes, that's the general approach. But I'd argue that for the most > >>>>>>>>> part > >>>>>>>>> this changes are generic (enable CPP-interpreter, enable CORE > build, > >>>>>>>>> fix for broken ld on SuSE, replacing OPENWIN_LIB by X_LIB, fix > >>>>>>>>> typos) > >>>>>>>>> with only very few PPC64 specific parts (map-files and a few > >>>>>>>>> defines). > >>>>>>>>> The problem we want to avoid is that some of our fixes go > into the > >>>>>>>>> main repositories in parallel which would result in merging pain > >>>>>>>>> when > >>>>>>>>> integrating the staging into the main repository. > >>>>>>>>> > >>>>>>>>> So if you think you don't need any of the general fixes any time > >>>>>>>>> soon, > >>>>>>>>> I'll push the changes into the staging repository. Otherwise > I think > >>>>>>>>> it would be better to push them right into the main repositories. > >>>>>>>>> > >>>>>>>>> Several of the general fixes in there are good and I don't > want to > >>>>>>>>> hinder those getting in. I also don't want to break policies > I'm not > >>>>>>>>> familiar with. > >>>>>>>>> > >>>>>>>>> /Erik > >>>>>>>>> > >>>>>>>>> Thanks, > >>>>>>>>> Volker > >>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> /Erik > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> On 2013-06-27 12:03, Volker Simonis wrote: > >>>>>>>>>> > >>>>>>>>>> Hi Erik, > >>>>>>>>>> > >>>>>>>>>> as Vladimir explained, we have a special staging repository > for our > >>>>>>>>>> PPC64/AIX port: > >>>>>>>>>> > >>>>>>>>>> I would be happy if you could push the changes right into the > >>>>>>>>>> build-infra repositories and we will then get them into our > staging > >>>>>>>>>> repository via jdk8/jdk8. > >>>>>>>>>> > >>>>>>>>>> Otherwise I'll have to push them to our staging repository and > >>>>>>>>>> later > >>>>>>>>>> when the whole port is completed in the staging repo they > will be > >>>>>>>>>> bulk-integrated into jdk8. > >>>>>>>>>> > >>>>>>>>>> What do you think? > >>>>>>>>>> > >>>>>>>>>> Regards, > >>>>>>>>>> Volker > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> On Wed, Jun 26, 2013 at 6:53 PM, Vladimir Kozlov > >>>>>>>>>> > wrote: > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> Erik, > >>>>>>>>>>> > >>>>>>>>>>> We have special staging forest for PPC64/AIX port: > >>>>>>>>>>> > >>>>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/stage > >>>>>>>>>>> > >>>>>>>>>>> We collect Hotspot and JDK changes there for testing before > >>>>>>>>>>> pushing > >>>>>>>>>>> into main sources in a future. But some general fixes we push > >>>>>>>>>>> directly into our main sources. > >>>>>>>>>>> If you think these build changes are acceptable for main, > please, > >>>>>>>>>>> ask someone sponsor these changes. > >>>>>>>>>>> > >>>>>>>>>>> Alan is our official contact for PPC64/AIX project. I CC him. > >>>>>>>>>>> > >>>>>>>>>>> Thanks, > >>>>>>>>>>> Vladimir > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> On 6/26/13 8:56 AM, Erik Joelsson wrote: > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> Hello, > >>>>>>>>>>>> > >>>>>>>>>>>> If you by staging area mean the build-infra forest, that's > more > >>>>>>>>>>>> or > >>>>>>>>>>>> less dead now. > >>>>>>>>>>>> > >>>>>>>>>>>> I think these changes look good now (both top level and > jdk). It > >>>>>>>>>>>> should be fine to push this to jdk8/build. > >>>>>>>>>>>> > >>>>>>>>>>>> /Erik > >>>>>>>>>>>> > >>>>>>>>>>>> On 2013-06-26 17:28, Volker Simonis wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> Hi Erik, > >>>>>>>>>>>>> > >>>>>>>>>>>>> thank you for looking at this. I've prepared a new webrev at: > >>>>>>>>>>>>> > >>>>>>>>>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> What do you think, do you want to push this directly into the > >>>>>>>>>>>>> build repositories or should I push it into the staging > >>>>>>>>>>>>> repository > >>>>>>>>>>>>> first? > >>>>>>>>>>>>> > >>>>>>>>>>>>> Please see my further comments inline. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Thank you and best regards, > >>>>>>>>>>>>> Volker > >>>>>>>>>>>>> > >>>>>>>>>>>>> On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson > >>>>>>>>>>>>> >> > >>>>>>>>>>>>> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> On 2013-06-25 12:27, Erik Joelsson wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> Hello Volker, > >>>>>>>>>>>>> > >>>>>>>>>>>>> On 2013-06-24 19:23, Volker Simonis wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> Hi, > >>>>>>>>>>>>> > >>>>>>>>>>>>> could somebody please review the following > change > >>>>>>>>>>>>> and > >>>>>>>>>>>>> create an appropriate > >>>>>>>>>>>>> Bug ID for it: > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_jdk/ > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> /> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> The patch contains two little changes > which are > >>>>>>>>>>>>> required > >>>>>>>>>>>>> to build the class > >>>>>>>>>>>>> library part of the OpenJDK on > Linux/PPC64. Most > >>>>>>>>>>>>> of > >>>>>>>>>>>>> the > >>>>>>>>>>>>> build magic is > >>>>>>>>>>>>> contained in the top-level part of this change > >>>>>>>>>>>>> which > >>>>>>>>>>>>> is > >>>>>>>>>>>>> separately reviewed > >>>>>>>>>>>>> at > >>>>>>>>>>>>> > >>>>>>>>>>>>> > http://cr.openjdk.java.net/~simonis/webrevs/linux_ppc_build_top > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> CompileLaunchers.gmk > >>>>>>>>>>>>> > >>>>>>>>>>>>> Remove mapfile from build instructions of > >>>>>>>>>>>>> BUILD_UNPACKEXE: > >>>>>>>>>>>>> > >>>>>>>>>>>>> CFLAGS_macosx:=-fPIC, \ > >>>>>>>>>>>>> - > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > MAPFILE:=$(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers-unpack200,\ > >>>>>>>>>>>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),\ > >>>>>>>>>>>>> > >>>>>>>>>>>>> I think it makes no sense to use a version > >>>>>>>>>>>>> script > >>>>>>>>>>>>> file > >>>>>>>>>>>>> for an executable > >>>>>>>>>>>>> and older linkers (e.g. on SLES 10) complain > >>>>>>>>>>>>> with: > >>>>>>>>>>>>> "*Invalid version tag > >>>>>>>>>>>>> `SUNWprivate_1.1'. Only anonymous version > tag is > >>>>>>>>>>>>> allowed > >>>>>>>>>>>>> in executable.*" > >>>>>>>>>>>>> The GNU ld > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > manualstates: > >>>>>>>>>>>>> "*Version scripts are only meaningful when > >>>>>>>>>>>>> creating > >>>>>>>>>>>>> shared > >>>>>>>>>>>>> libraries.*" > >>>>>>>>>>>>> Morover unpack200 was the only executable > which > >>>>>>>>>>>>> used > >>>>>>>>>>>>> a > >>>>>>>>>>>>> version script file. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Unpackexe has some weirdness and this isn't > >>>>>>>>>>>>> surprising > >>>>>>>>>>>>> me. > >>>>>>>>>>>>> Would be good if someone with more historic > knowledge > >>>>>>>>>>>>> could > >>>>>>>>>>>>> fill in on the reason for this. Someone apparently > >>>>>>>>>>>>> went > >>>>>>>>>>>>> through the trouble of creating a special > mapfile for > >>>>>>>>>>>>> this > >>>>>>>>>>>>> executable. Also, if not using it, should it be > >>>>>>>>>>>>> removed? > >>>>>>>>>>>>> > >>>>>>>>>>>>> I looked closer at this. These mapfiles were > explicitly > >>>>>>>>>>>>> added in > >>>>>>>>>>>>> http://bugs.sun.com/view_bug.do?bug_id=7033954, but it > >>>>>>>>>>>>> was > >>>>>>>>>>>>> noted > >>>>>>>>>>>>> that it broke builds for architectures that didn't > have > >>>>>>>>>>>>> mapfiles > >>>>>>>>>>>>> defined. If you look at the launchers, the mapfile is > >>>>>>>>>>>>> only > >>>>>>>>>>>>> set > >>>>>>>>>>>>> if > >>>>>>>>>>>>> the arch specific one exists. I think a safer > change here > >>>>>>>>>>>>> would > >>>>>>>>>>>>> be > >>>>>>>>>>>>> to make the mapfile conditional on platform or > arch for > >>>>>>>>>>>>> unpackexe. > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> I still do not fully understand why we need map-files for > >>>>>>>>>>>>> executables, but I also understand that you don't want to > change > >>>>>>>>>>>>> the > >>>>>>>>>>>>> current setup. > >>>>>>>>>>>>> So I went the hard (and hopefully right:) way and > implemented a > >>>>>>>>>>>>> detection of the buggy linkers on older SuSE distros (e.g. on > >>>>>>>>>>>>> SLES > >>>>>>>>>>>>> 10) which complain with: "Invalid version tag > `SUNWprivate_1.1' > >>>>>>>>>>>>> during the configure step (see top-level change). > Unfortunately > >>>>>>>>>>>>> we > >>>>>>>>>>>>> still have quite a lot of these systems so we really need the > >>>>>>>>>>>>> build with that buggy ld. > >>>>>>>>>>>>> > >>>>>>>>>>>>> I've therefore added map files with anonymous version > tags for > >>>>>>>>>>>>> these buggy linkers which are only used if the buggy > linker was > >>>>>>>>>>>>> detected during the configure step (i.e. if > >>>>>>>>>>>>> USING_BROKEN_SUSE_LD=yes). Notice that this is no PPC64 > specific > >>>>>>>>>>>>> problem but a occurs on all SuSE 10 platforms. > >>>>>>>>>>>>> > >>>>>>>>>>>>> And you've been right. I also had to add the arch > specific map > >>>>>>>>>>>>> files for ppc64 in order to use them for the other launchers. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Kumar, you made the change referred to here, do > you have > >>>>>>>>>>>>> anything > >>>>>>>>>>>>> to add? > >>>>>>>>>>>>> > >>>>>>>>>>>>> /Erik > >>>>>>>>>>>>> > >>>>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') > >>>>>>>>>>>>> > >>>>>>>>>>>>> default: all > >>>>>>>>>>>>> > >>>>>>>>>>>>> CompileNativeLibraries.gmk > >>>>>>>>>>>>> > >>>>>>>>>>>>> Only use $(OPENWIN_LIB) for linking > >>>>>>>>>>>>> LIBSPLASHSCREEN > >>>>>>>>>>>>> on > >>>>>>>>>>>>> Solaris! The old > >>>>>>>>>>>>> code worked only accidentally when the > >>>>>>>>>>>>> X-libraries > >>>>>>>>>>>>> are > >>>>>>>>>>>>> in > >>>>>>>>>>>>> the default > >>>>>>>>>>>>> linker path anyway. The right solution is > to use > >>>>>>>>>>>>> $(X_LIBS) > >>>>>>>>>>>>> if not on > >>>>>>>>>>>>> Windows or Solaris. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Append -DX_ARCH=X_PPC64 to > LIBJSOUND_CFLAGS on > >>>>>>>>>>>>> PPC64. > >>>>>>>>>>>>> The value of > >>>>>>>>>>>>> X_ARCHisn't actually used on the PPC > >>>>>>>>>>>>> architectures, > >>>>>>>>>>>>> but > >>>>>>>>>>>>> there's a > >>>>>>>>>>>>> check to verify > >>>>>>>>>>>>> that it is set. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Fix typo (replace 'defalt: all' by 'default') > >>>>>>>>>>>>> > >>>>>>>>>>>>> default: all > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> Otherwise looks good. > >>>>>>>>>>>>> > >>>>>>>>>>>>> /Erik > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>> > >>> > >> From vladimir.kozlov at oracle.com Tue Jul 2 18:00:06 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 03 Jul 2013 01:00:06 +0000 Subject: hg: ppc-aix-port/stage/jdk: 8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64 Message-ID: <20130703010039.00F6E4873B@hg.openjdk.java.net> Changeset: 2465dffd6054 Author: simonis Date: 2013-07-02 17:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/2465dffd6054 8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64 Summary: Enable new build on Linux/PPC64 Reviewed-by: erikj ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk + makefiles/mapfiles/launchers/mapfile-ppc64 + makefiles/mapfiles/launchers/mapfile-ppc64.anonymous + makefiles/mapfiles/launchers/mapfile-x86.anonymous + makefiles/mapfiles/launchers/mapfile-x86_64.anonymous + makefiles/mapfiles/libunpack/mapfile-vers-unpack200.anonymous + src/solaris/bin/ppc64/jvm.cfg From vladimir.kozlov at oracle.com Tue Jul 2 17:59:48 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 03 Jul 2013 00:59:48 +0000 Subject: hg: ppc-aix-port/stage: 8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64 Message-ID: <20130703005949.348BB48739@hg.openjdk.java.net> Changeset: 3ef3f4174c2b Author: simonis Date: 2013-07-02 17:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/3ef3f4174c2b 8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64 Summary: Enable new build on Linux/PPC64 Reviewed-by: erikj ! common/autoconf/boot-jdk.m4 ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/hotspot-spec.gmk.in ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 From christian.thalinger at oracle.com Tue Jul 2 21:36:29 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 2 Jul 2013 21:36:29 -0700 Subject: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> Message-ID: <0BE19811-50A4-4954-A9C1-8BAF4B395470@oracle.com> + // G1GC port. Use accessor instead of storing manually. + // Takes care of write barriers internally and replaces the code above. + ((objArrayOopDesc *) arrObj)->obj_at_put(index, rhsObject); The comment "replaces the code above" seems odd. Should it be removed? -- Chris On Jul 2, 2013, at 4:40 PM, "Lindenmaier, Goetz" wrote: > Hi, > > we implemented support for G1 in the cppInterpreter. > This is basically all done in the accessor routines, they > just have to be called properly. > http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInter_g1/ > > I would be happy if I could get a review on this change. > > Thanks and best regards, > Goetz. From goetz.lindenmaier at sap.com Wed Jul 3 00:31:09 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Wed, 03 Jul 2013 07:31:09 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking Message-ID: <20130703073113.A5BD848752@hg.openjdk.java.net> Changeset: 48d3d0eb193b Author: goetz Date: 2013-06-26 16:06 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/48d3d0eb193b 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking Reviewed-by: kvn, dholmes ! src/share/vm/interpreter/bytecodeInterpreter.cpp From goetz.lindenmaier at sap.com Wed Jul 3 01:48:50 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 3 Jul 2013 08:48:50 +0000 Subject: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support In-Reply-To: <0BE19811-50A4-4954-A9C1-8BAF4B395470@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> <0BE19811-50A4-4954-A9C1-8BAF4B395470@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF1CC7@DEWDFEMB12A.global.corp.sap> Hi Chris, I removed the comment altogether. The first line is nonsense, too. And the statement that the accessor does the memory ordering is not necessary, either, especially as it's not documented with all the other calls. I updated the webrev. http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInter_g1 Best regards, Goetz. -----Original Message----- From: Christian Thalinger [mailto:christian.thalinger at oracle.com] Sent: Mittwoch, 3. Juli 2013 06:36 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net'; 'Vladimir Kozlov' Subject: Re: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support + // G1GC port. Use accessor instead of storing manually. + // Takes care of write barriers internally and replaces the code above. + ((objArrayOopDesc *) arrObj)->obj_at_put(index, rhsObject); The comment "replaces the code above" seems odd. Should it be removed? -- Chris On Jul 2, 2013, at 4:40 PM, "Lindenmaier, Goetz" wrote: > Hi, > > we implemented support for G1 in the cppInterpreter. > This is basically all done in the accessor routines, they > just have to be called properly. > http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInter_g1/ > > I would be happy if I could get a review on this change. > > Thanks and best regards, > Goetz. From goetz.lindenmaier at sap.com Wed Jul 3 02:49:04 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 3 Jul 2013 09:49:04 +0000 Subject: RFR (S): 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops In-Reply-To: <51D36824.2060100@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF1BB3@DEWDFEMB12A.global.corp.sap> <51D36824.2060100@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF1D0B@DEWDFEMB12A.global.corp.sap> Hi, the other oop decode/encodes are all done in the access routines that are called there. The g1 change fixes the other array store. Maybe it reads better like this: http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInterp_cOops-2/ Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Mittwoch, 3. Juli 2013 01:54 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR (S): 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops What about stores to array and instance's oop fields access? Vladimir On 7/2/13 4:46 PM, Lindenmaier, Goetz wrote: > Hi, > > we implemented the missing decode in aaload so that the > > cppInterpreter now works with compressed Oops. > > http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInterp_cOops/ > > Please review this change. > > Thanks and best regards, > > Goetz. > From goetz.lindenmaier at sap.com Wed Jul 3 02:51:35 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 3 Jul 2013 09:51:35 +0000 Subject: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support In-Reply-To: <51D36AF0.3020302@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> <51D36AF0.3020302@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF1D46@DEWDFEMB12A.global.corp.sap> Yes, I removed it. Thanks, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Mittwoch, 3. Juli 2013 02:06 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support Goetz, Do you still need next include?: #include "memory/cardTableModRefBS.hpp" Vladimir On 7/2/13 4:40 PM, Lindenmaier, Goetz wrote: > Hi, > > we implemented support for G1 in the cppInterpreter. > > This is basically all done in the accessor routines, they > > just have to be called properly. > > http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInter_g1/ > > I would be happy if I could get a review on this change. > > Thanks and best regards, > > Goetz. > From goetz.lindenmaier at sap.com Wed Jul 3 03:24:05 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 3 Jul 2013 10:24:05 +0000 Subject: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> Hi, This change implements jvmti early return and pop frame support in the cppInterpreter. To work properly, the corresponding properties in JvmtiManageCapabilities::init_onload_capabilities() must be enabled. We will add this in a later change. I would be happy about a review of this change: http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet/ Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130703/37798db1/attachment.html From volker.simonis at gmail.com Wed Jul 3 07:41:08 2013 From: volker.simonis at gmail.com (volker.simonis at gmail.com) Date: Wed, 03 Jul 2013 14:41:08 +0000 Subject: hg: ppc-aix-port/jdk8/jdk: Fix UNIXProcess.java.aix after change '8008118: (process) Possible null pointer dereference' which renamed UNIXProcess.initIDs() to UNIXProcess.init() for the Oracle platforms Message-ID: <20130703144206.D0FBE48762@hg.openjdk.java.net> Changeset: fcbf9ed4a237 Author: simonis Date: 2013-07-03 16:40 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/fcbf9ed4a237 Fix UNIXProcess.java.aix after change '8008118: (process) Possible null pointer dereference' which renamed UNIXProcess.initIDs() to UNIXProcess.init() for the Oracle platforms ! src/solaris/classes/java/lang/UNIXProcess.java.aix From vladimir.kozlov at oracle.com Wed Jul 3 11:16:09 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 03 Jul 2013 11:16:09 -0700 Subject: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1D46@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1B9B@DEWDFEMB12A.global.corp.sap> <51D36AF0.3020302@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF1D46@DEWDFEMB12A.global.corp.sap> Message-ID: <51D46A69.1040202@oracle.com> Good. thanks, Vladimir On 7/3/13 2:51 AM, Lindenmaier, Goetz wrote: > Yes, I removed it. > Thanks, > Goetz. > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Mittwoch, 3. Juli 2013 02:06 > To: Lindenmaier, Goetz > Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (S): 8019517: PPC64 (part 102): cppInterpreter: implement G1 support > > Goetz, > > Do you still need next include?: > > #include "memory/cardTableModRefBS.hpp" > > Vladimir > > On 7/2/13 4:40 PM, Lindenmaier, Goetz wrote: >> Hi, >> >> we implemented support for G1 in the cppInterpreter. >> >> This is basically all done in the accessor routines, they >> >> just have to be called properly. >> >> http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInter_g1/ >> >> I would be happy if I could get a review on this change. >> >> Thanks and best regards, >> >> Goetz. >> From vladimir.kozlov at oracle.com Wed Jul 3 11:18:16 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 03 Jul 2013 11:18:16 -0700 Subject: RFR (S): 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1D0B@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1BB3@DEWDFEMB12A.global.corp.sap> <51D36824.2060100@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF1D0B@DEWDFEMB12A.global.corp.sap> Message-ID: <51D46AE8.6000308@oracle.com> Yes, it is better. Good. Thanks, Vladimir On 7/3/13 2:49 AM, Lindenmaier, Goetz wrote: > Hi, > > the other oop decode/encodes are all done in the access routines > that are called there. The g1 change fixes the other array store. > Maybe it reads better like this: > http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInterp_cOops-2/ > > Best regards, > Goetz. > > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Mittwoch, 3. Juli 2013 01:54 > To: Lindenmaier, Goetz > Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' > Subject: Re: RFR (S): 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops > > What about stores to array and instance's oop fields access? > > Vladimir > > On 7/2/13 4:46 PM, Lindenmaier, Goetz wrote: >> Hi, >> >> we implemented the missing decode in aaload so that the >> >> cppInterpreter now works with compressed Oops. >> >> http://cr.openjdk.java.net/~goetz/webrevs/8019518-cInterp_cOops/ >> >> Please review this change. >> >> Thanks and best regards, >> >> Goetz. >> From vladimir.kozlov at oracle.com Wed Jul 3 11:36:58 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 03 Jul 2013 11:36:58 -0700 Subject: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> Message-ID: <51D46F4A.2020905@oracle.com> Goetz, Just styling notes. Could you add {} for bodies of handle_Pop_Frame: and handle_Early_Return: cases? Also can you store THREAD->jvmti_thread_state() in local before the switch and use it in all those places? Could you explain why you removed from common code 'handle_return:' ? - istate->set_return_kind((Bytecodes::Code)opcode); Thanks, Vladimir On 7/3/13 3:24 AM, Lindenmaier, Goetz wrote: > Hi, > > This change implements jvmti early return and pop frame support > > in the cppInterpreter. To work properly, the corresponding properties in > > JvmtiManageCapabilities::init_onload_capabilities() must be enabled. > > We will add this in a later change. > > I would be happy about a review of this change: > > http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet/ > > Best regards, > > Goetz. > From serguei.spitsyn at oracle.com Wed Jul 3 12:58:44 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Wed, 03 Jul 2013 12:58:44 -0700 Subject: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> Message-ID: <51D48274.9090707@oracle.com> Hi Goetz, The fix looks good in general. Thank you for doing this! A couple of comments: src/share/vm/interpreter/bytecodeInterpreter.cpp: It looks like you have accidentally dropped the line: 2981 THREAD->clr_pop_frame_in_process(); What is the reason that the following lines are deleted? (the same as Vladimir already asked): 2962 istate->set_return_kind((Bytecodes::Code)opcode); 2987 istate->set_return_kind((Bytecodes::Code)opcode); Thanks, Serguei On 7/3/13 3:24 AM, Lindenmaier, Goetz wrote: > Hi, > > This change implements jvmti early return and pop frame support > in the cppInterpreter. To work properly, the corresponding properties in > JvmtiManageCapabilities::init_onload_capabilities() must be enabled. > We will add this in a later change. > > I would be happy about a review of this change: > http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet/ > > Best regards, > Goetz. > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130703/78abc201/attachment.html From vladimir.kozlov at oracle.com Wed Jul 3 16:03:32 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 03 Jul 2013 16:03:32 -0700 Subject: Sync from jdk8/jdk8/hotspot to ppc-aix-port/stage/hotspot Message-ID: <51D4ADC4.9080909@oracle.com> I am only syncing Hotspot this week because I am not sure how to merge generated-configure.sh in top ppc-aix-port/stage directory. The hotspot merge has fix for "8017308: Remove unused breakpoint relocation type" so Goetz can push (Part 4)"add relocation for trampoline stubs". Note, the fix for "8019382: PPC64: Fix bytecodeInterpreter to compile with '-Wunused-value'" will be merged next week. thanks, Vladimir From vladimir.kozlov at oracle.com Wed Jul 3 20:16:16 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Thu, 04 Jul 2013 03:16:16 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 27 new changesets Message-ID: <20130704031753.8AA0C487AA@hg.openjdk.java.net> Changeset: b6d1e42655cd Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b6d1e42655cd Added tag jdk8-b96 for changeset e6a4b8c71fa6 ! .hgtags Changeset: fc8a1a5de78e Author: amurillo Date: 2013-06-21 00:59 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/fc8a1a5de78e 8017253: new hotspot build - hs25-b39 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 91acb82a8b7a Author: dholmes Date: 2013-06-19 13:14 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/91acb82a8b7a 8014326: [OSX] All libjvm symbols are exported Summary: Add support for a MacOS X compatible form of the libjvm mapfile. Reviewed-by: dcubed, rdurbin, coleenp ! make/bsd/makefiles/build_vm_def.sh ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product Changeset: b9f4c4ec0f50 Author: iklam Date: 2013-06-19 20:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b9f4c4ec0f50 8008964: NPG: Memory regression: Thread::_metadata_handles uses 1 KB per thread. Summary: Reduce default size of Thread::_metadata_handles from 300 to 30 Reviewed-by: coleenp, sspitsyn ! src/share/vm/runtime/thread.cpp Changeset: b3cd8b58b798 Author: mgronlun Date: 2013-06-20 11:53 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b3cd8b58b798 8016735: Remove superfluous EnableInvokeDynamic warning from UnlockDiagnosticVMOptions check Reviewed-by: sla, dholmes ! src/share/vm/runtime/globals.cpp Changeset: 9ba41a4a71ff Author: coleenp Date: 2013-06-21 10:50 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/9ba41a4a71ff 8004124: Handle and/or warn about SI_KERNEL Summary: Detect this crash in the signal handler and give a fatal error message instead of making us chase down bugs that don't reproduce Reviewed-by: kvn, mgerdin, dholmes ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: bed34a7a3b9b Author: coleenp Date: 2013-06-21 10:57 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/bed34a7a3b9b 8017177: more explicit code location information in hs_err crash log Summary: Add code pc location for compiled code Reviewed-by: kvn, coleenp Contributed-by: doug.simon at oracle.com ! src/share/vm/runtime/frame.cpp Changeset: bb6c7f2f10fd Author: dcubed Date: 2013-06-21 08:18 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/bb6c7f2f10fd Merge Changeset: b7bc7c94b4b5 Author: dcubed Date: 2013-06-21 10:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b7bc7c94b4b5 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Changeset: d9eed26d638a Author: iklam Date: 2013-06-23 22:08 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/d9eed26d638a 8009575: Reduce Symbol::_refcount from 4 bytes to 2 bytes Summary: Added Atomic::inc(short*) to support this change. Reviewed-by: coleenp, dcubed, dholmes, minqi ! src/share/vm/oops/symbol.cpp ! src/share/vm/oops/symbol.hpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: e0c9a1d29eb4 Author: coleenp Date: 2013-06-24 18:55 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e0c9a1d29eb4 8016325: JVM hangs verifying system dictionary Summary: Minimize redundant verifications of Klasses. Reviewed-by: hseigel, jmasa ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/compiledICHolder.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/shark/sharkBuilder.cpp Changeset: 01e10b366055 Author: sla Date: 2013-06-25 14:11 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/01e10b366055 8017561: Build errors caused by missing .PHONY Reviewed-by: stefank, brutisso ! make/excludeSrc.make Changeset: feae15578b2f Author: tamao Date: 2013-06-07 09:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/feae15578b2f 7122222: GC log is limited to 2G for 32-bit Summary: Enable large file support for generated 32-bit ostream.o on Linux and Solaris (as only the two need this) by setting -D_FILE_OFFSET_BITS=64 in compilation Reviewed-by: tbell, mgerdin, dcubed Contributed-by: tamao ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make ! src/os/solaris/vm/os_solaris.inline.hpp Changeset: df7e1c0e3dc1 Author: jmasa Date: 2013-06-25 09:58 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/df7e1c0e3dc1 8014546: MetaspaceAux print_metaspace_change() should print "used" after GC not capacity Reviewed-by: johnc, tschatzl ! src/share/vm/memory/metaspace.cpp Changeset: f99cd6e20ab1 Author: jmasa Date: 2013-06-25 15:17 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/f99cd6e20ab1 8014851: UseAdaptiveGCBoundary is broken Reviewed-by: tschatzl, brutisso ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp + test/gc/parallelScavenge/AdaptiveGCBoundary.java Changeset: 71963b3f802a Author: ehelin Date: 2013-06-26 16:58 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/71963b3f802a 8013590: NPG: Add a memory pool MXBean for Metaspace Reviewed-by: jmasa, mgerdin ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp + test/gc/metaspace/TestMetaspaceMemoryPool.java Changeset: f8972b867ded Author: ehelin Date: 2013-06-27 10:56 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/f8972b867ded Merge Changeset: 7875ea94bea5 Author: goetz Date: 2013-06-24 11:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/7875ea94bea5 8017308: Remove unused breakpoint relocation type Summary: remove unused breakpoint relocation type Reviewed-by: kvn ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/relocInfo_sparc.cpp ! src/cpu/x86/vm/relocInfo_x86.cpp ! src/cpu/zero/vm/relocInfo_zero.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp Changeset: cc63bcb47cce Author: twisti Date: 2013-06-24 17:47 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/cc63bcb47cce 8017538: Clang support broke slowdebug build for i586 Reviewed-by: kvn ! make/linux/makefiles/gcc.make Changeset: a023da4ffc15 Author: twisti Date: 2013-06-24 18:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/a023da4ffc15 Merge Changeset: 3aa636f2a743 Author: adlertz Date: 2013-06-25 12:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/3aa636f2a743 8017243: 8001345 is incomplete Summary: Replaces unused decodeN at MemBarAcquire with its corresponding loadN if loadN is used at more than one place. Reviewed-by: kvn, twisti ! src/share/vm/opto/memnode.cpp Changeset: 9347cae673f0 Author: adlertz Date: 2013-06-26 00:40 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/9347cae673f0 8017510: Add a regression test for 8005956 Summary: Regression test for 8005956 Reviewed-by: kvn, twisti + test/compiler/8005956/PolynomialRoot.java Changeset: 6a0ead6dc6db Author: goetz Date: 2013-06-24 16:11 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/6a0ead6dc6db 8017531: 8010460 changes broke bytecodeInterpreter.cpp Summary: Replace _indy by _jsr292 and also fix VERIFY_OOP macros. Reviewed-by: kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: be0600ec1102 Author: kvn Date: 2013-06-27 11:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/be0600ec1102 Merge Changeset: 2b9380b0bf0b Author: amurillo Date: 2013-06-28 02:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2b9380b0bf0b Merge ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp Changeset: d197d377ab2e Author: amurillo Date: 2013-06-28 02:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/d197d377ab2e Added tag hs25-b39 for changeset 2b9380b0bf0b ! .hgtags Changeset: 583211d4b16b Author: kvn Date: 2013-07-03 11:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/583211d4b16b Merge ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp From goetz.lindenmaier at sap.com Thu Jul 4 01:16:30 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Thu, 4 Jul 2013 08:16:30 +0000 Subject: Sync from jdk8/jdk8/hotspot to ppc-aix-port/stage/hotspot In-Reply-To: <51D4ADC4.9080909@oracle.com> References: <51D4ADC4.9080909@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF2058@DEWDFEMB12A.global.corp.sap> Hi Vladimir, thanks a lot for merging. I will push 4, 102 and 103 today. When jdk is merged, I will update our jdk8 to the most recent state of the staging repo. Best regards, Goetz -----Original Message----- From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov Sent: Donnerstag, 4. Juli 2013 01:04 To: ppc-aix-port-dev at openjdk.java.net Subject: Sync from jdk8/jdk8/hotspot to ppc-aix-port/stage/hotspot I am only syncing Hotspot this week because I am not sure how to merge generated-configure.sh in top ppc-aix-port/stage directory. The hotspot merge has fix for "8017308: Remove unused breakpoint relocation type" so Goetz can push (Part 4)"add relocation for trampoline stubs". Note, the fix for "8019382: PPC64: Fix bytecodeInterpreter to compile with '-Wunused-value'" will be merged next week. thanks, Vladimir From goetz.lindenmaier at sap.com Thu Jul 4 02:04:11 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Thu, 04 Jul 2013 09:04:11 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 3 new changesets Message-ID: <20130704090420.0D4AD487B9@hg.openjdk.java.net> Changeset: 53fa76359eb1 Author: goetz Date: 2013-07-04 10:51 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/53fa76359eb1 8016696: PPC64 (part 4): add relocation for trampoline stubs Summary: A trampoline allows to encode a small branch in the code, even if there is the chance that this branch can not reach all possible code locations. If the relocation finds that a branch is too far for the instruction in the code, it can patch it to jump to the trampoline where is sufficient space for a far branch. Needed on PPC. Reviewed-by: kvn, bdelsart, jrose ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp Changeset: 641d55c11d6b Author: goetz Date: 2013-07-03 01:29 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/641d55c11d6b 8019517: PPC64 (part 102): cppInterpreter: implement G1 support Reviewed-by: kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: 48b178ff07b6 Author: goetz Date: 2013-07-03 01:41 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/48b178ff07b6 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops Reviewed-by: kvn, coleenp ! src/share/vm/interpreter/bytecodeInterpreter.cpp From volker.simonis at gmail.com Thu Jul 4 02:06:40 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 4 Jul 2013 11:06:40 +0200 Subject: Please create new BugIDs Message-ID: Hi Albert, could you please create new BugIDs for the following patches for which I want to send out webrevs for review: 0008_linux_ppc_make_changes.patch: Implement Linux/PPC64 support in HotSpot makefiles. 0106_rt-make_hsdis_build_and_work_on_Linux_PPC64.patch: Make hsdis build and work on Linux/PPC64 0107_rt-elf_decoder.patch: Extend ELF-decoder to support PPC64 function descriptor tables Thank you and best regards, Volker From albert.noll at oracle.com Thu Jul 4 02:36:00 2013 From: albert.noll at oracle.com (Albert Noll) Date: Thu, 04 Jul 2013 11:36:00 +0200 Subject: Please create new BugIDs In-Reply-To: References: Message-ID: <51D54200.8090200@oracle.com> Hi Volker, sure, here are the new bug IDs: On 04.07.2013 11:06, Volker Simonis wrote: > Hi Albert, > > could you please create new BugIDs for the following patches for which > I want to send out webrevs for review: > > 0008_linux_ppc_make_changes.patch: Implement Linux/PPC64 support in > HotSpot makefiles. 8019922 > 0106_rt-make_hsdis_build_and_work_on_Linux_PPC64.patch: Make hsdis > build and work on Linux/PPC64 8019926 > 0107_rt-elf_decoder.patch: Extend ELF-decoder to support PPC64 > function descriptor tables 8019929 > Thank you and best regards, > Volker Best, Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130704/8b13a116/attachment-0001.html From goetz.lindenmaier at sap.com Thu Jul 4 03:03:24 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Thu, 04 Jul 2013 10:03:24 +0000 Subject: hg: ppc-aix-port/jdk8/hotspot: Recent changes to patch queue Message-ID: <20130704100339.3CC37487C3@hg.openjdk.java.net> Changeset: 874e94d3b21d Author: goetz Date: 2013-07-04 11:30 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/874e94d3b21d Recent changes to patch queue ! ppc_patches/0003-2_C_interpreter-fix_for_8010460.patch ! ppc_patches/0005_rt-use_stubs_to_implement_safefetch_.patch ! ppc_patches/0007_C_interpreter-biased_locking.patch ! ppc_patches/0009_linux_ppc_files.patch ! ppc_patches/0013_basic_Aix_adaptions.patch ! ppc_patches/0015_aix_ppc_files.patch ! ppc_patches/0102_C_interpreter-implement_G1_support.patch ! ppc_patches/0103_C_interpreter-support_method_handles.patch ! ppc_patches/0104_C_interpreter-support_compressed_Oops.patch + ppc_patches/0105-2_C_interpreter-enable_new_features.patch ! ppc_patches/0105_C_interpreter-support_early_return.patch ! ppc_patches/0201_C_interpreter-implement_bytecode_profiling.patch ! ppc_patches/0212_rt-gc_memory_ordering.patch ! ppc_patches/series ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/runtime/arguments.cpp From goetz.lindenmaier at sap.com Thu Jul 4 05:39:42 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Thu, 4 Jul 2013 12:39:42 +0000 Subject: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. In-Reply-To: <51D48274.9090707@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> <51D48274.9090707@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF2160@DEWDFEMB12A.global.corp.sap> Hi, pop_frame_in_process will be cleared when the frame manager calls the interpreter loop again with the message popping_frame. 6953477 broke our pop_frame tests. I don't see though how pop_frame could be tested with 6953477, as the capability is not set if CC_INTERP is defined. (I removed a ShouldNotReachHere in the updated change, that was in the wrong patch of the port but belongs here.) _return_kind is unused. In the updated webrev I also removed the definition of the field. I also fixed the syntax stuff. This is the new webrev: http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet-2/ Best regards, Goetz. From: serguei.spitsyn at oracle.com [mailto:serguei.spitsyn at oracle.com] Sent: Mittwoch, 3. Juli 2013 21:59 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net'; Vladimir Kozlov Subject: Re: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. Hi Goetz, The fix looks good in general. Thank you for doing this! A couple of comments: src/share/vm/interpreter/bytecodeInterpreter.cpp: It looks like you have accidentally dropped the line: 2981 THREAD->clr_pop_frame_in_process(); What is the reason that the following lines are deleted? (the same as Vladimir already asked): 2962 istate->set_return_kind((Bytecodes::Code)opcode); 2987 istate->set_return_kind((Bytecodes::Code)opcode); Thanks, Serguei On 7/3/13 3:24 AM, Lindenmaier, Goetz wrote: Hi, This change implements jvmti early return and pop frame support in the cppInterpreter. To work properly, the corresponding properties in JvmtiManageCapabilities::init_onload_capabilities() must be enabled. We will add this in a later change. I would be happy about a review of this change: http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet/ Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130704/603f2609/attachment.html From volker.simonis at gmail.com Thu Jul 4 09:07:32 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 4 Jul 2013 18:07:32 +0200 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles Message-ID: Hi, can sombody please review this change. It implements the relevant HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't touch any existing platforms (but of course testing it on your closed platforms - especially ppc - is probably necessary and much appreciated). It also contains two small fixes for the CORE build (one is a type and the other is necessary to accomodate to the changes in "8008772: remove gamma launcher") in 'make/Makefile' for which I didn't wanted to open an extra bug for. Notice that this patch determines the name and location of the platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with 0009_linux_ppc_files.patch. http://cr.openjdk.java.net/~simonis/webrevs/8019922/ Thank you and best regards, Volker From david.holmes at oracle.com Thu Jul 4 22:21:42 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 05 Jul 2013 15:21:42 +1000 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: References: Message-ID: <51D657E6.2060606@oracle.com> Hi Volker, This all looks fine to me. A couple of minor comments below. I will also test it but I don't expect to see any conflicts with our other ports. Thanks, David ----- make/defs.make Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the sparcv9 code and reduce this: 288 ifeq ($(BUILDARCH), ppc) 289 ifdef LP64 290 BUILDARCH = ppc64 291 else 292 BUILDARCH = ppc 293 endif 294 endif to 288 ifeq ($(BUILDARCH), ppc) 289 ifdef LP64 290 BUILDARCH = ppc64 291 endif 292 endif --- make/linux/makefiles/defs.make I note you have: HS_ARCH = ppc and this is only used with the SA for which we presently have: ADD_SA_BINARIES/ppc = but you also added: ADD_SA_BINARIES/ppc64 = so was the HS_ARCH setting a typo? --- make/linux/makefiles/gcc.make You added: ARCHFLAG/ppc64 = -m64 which is fine, but then in ppc64.make you also have: CFLAGS += -m64 LFLAGS_VM += -m64 AOUT_FLAGS += -m64 which seems redundant given gcc.make has: 186 CFLAGS += $(ARCHFLAG) 187 AOUT_FLAGS += $(ARCHFLAG) 188 LFLAGS += $(ARCHFLAG) 189 ASFLAGS += $(ARCHFLAG) Also the initial copyright line seems suspect: 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. Not sure how a new file can have a 2004-2011 copyright year range ?? On 5/07/2013 2:07 AM, Volker Simonis wrote: > Hi, > > can sombody please review this change. It implements the relevant > HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't > touch any existing platforms (but of course testing it on your closed > platforms - especially ppc - is probably necessary and much > appreciated). > > It also contains two small fixes for the CORE build (one is a type and > the other is necessary to accomodate to the changes in "8008772: > remove gamma launcher") in 'make/Makefile' for which I didn't wanted > to open an extra bug for. > > Notice that this patch determines the name and location of the > platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or > src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with > 0009_linux_ppc_files.patch. > > http://cr.openjdk.java.net/~simonis/webrevs/8019922/ > > Thank you and best regards, > Volker > From david.holmes at oracle.com Thu Jul 4 22:51:41 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 05 Jul 2013 15:51:41 +1000 Subject: RFR (S): Enable new build on Linux/PPC64 (top-level part) In-Reply-To: References: <51C96F37.9060808@oracle.com> Message-ID: <51D65EED.4020300@oracle.com> Hi Volker, This seems okay to me. The CFLAGS -m64 bit seems unfortunately messy for you, but I don't think we've encountered a 64-bit platform where the compiler builds 32-bit by default. :( Hopefully this can be cleaned up. Just in case it hasn't been noticed, please note that INCLUDE_SA only controls whether or not sa-jdi.jar gets copied into the final image. It doesn't get passed through to the hotspot build to control whether the SA is indeed built or not. (In fact hotspot doesn't have a single variable to control this as the sa-jdi.jar can be built even if there is no native support built via saproc :( ). David On 27/06/2013 1:28 AM, Volker Simonis wrote: > Hi Erik, > > thanks for the BugID! > > Here's the new webrev: > > http://cr.openjdk.java.net/~simonis/webrevs/8017568_toplevel > > I've added a detection for buggy linkers on older SuSE distros (e.g. on > SLES 10) which complains with: "Invalid version tag `SUNWprivate_1.1'. Only > anonymous version tag is allowed in executable." if feeded with a version > script which contains named tags. If detected this will be exported as > USING_BROKEN_SUSE_LD=yes > for the jdk build. > > What do you think, do you want to push this directly into the build > repositories or should I push it into the staging repository first? > > Please see further comments inline. > > Thank you and best regards, > Volker > > On Tue, Jun 25, 2013 at 12:21 PM, Erik Joelsson wrote: > >> Hello Volker, >> >> >> On 2013-06-24 19:23, Volker Simonis wrote: >> >>> Hi, >>> >>> could somebody please review the following change and create an >>> appropriate >>> Bug ID for it: >>> >>> Created 8017568: Enable new build on Linux/PPC64 >> You can use it for both root and jdk changes. >> >>> http://cr.openjdk.java.net/~**simonis/webrevs/linux_ppc_**build_top/ >>> >>> The change will enable to build the PowerPC/AIX port on Linux/PPC64 with >>> the new build system using an interpreter only VM using the C++ >>> interpreter. Therefore it introduces a new JVM variant called "core" which >>> enables an interpreter only build and a new configure option called >>> "--with-jvm-interpreter" which can be used to choose either the default >>> "template" interpreter or the "C++" interpreter. >>> >>> Notice that this 'core' build currently only works on Linux/PPC64 and it >>> is >>> used for the PowerPC/AIX porting project to bootstrap its build. (See >>> 8016476: >>> PPC64 (part 1): reenable CORE >>> build >>>> for >>> >>> the corresponding HotSpot change). >>> >>> Once we have all the required patches in the HotSpot repository (and the >>> small JDK changes from >>> http://cr.openjdk.java.net/~**simonis/webrevs/linux_ppc_**build_jdk), >>> building >>> on newer Linux distros like Fedora 17 will be as easy as: >>> >>> sh /priv/openjdk/OpenJDK/ppc-aix-**port/jdk8/configure >>> --with-boot-jdk=/priv/openjdk/**OpenJDK/openjdk1.7.0-ppc-aix-**port-b03 >>> --with-jvm-variants=core --with-jvm-interpreter=cpp >>> --with-debug-level=slowdebug >>> >>> make images LOG=debug >>> >>> On older releases like SLES 10 you'll have to use something like: >>> >>> sh /priv/openjdk/OpenJDK/ppc-aix-**port/jdk8/configure --with-boot-jdk= >>> /priv/openjdk/OpenJDK/**openjdk1.7.0-ppc-aix-port-b03-** >>> -with-jvm-variants=core >>> --with-jvm-interpreter=cpp--**with-debug-level=release >>> --with-extra-cflags=-m64 >>> --with-extra-cxxflags=-m64 --with-extra-ldflags='-m64 -L/lib64' >>> --x-libraries=/usr/X11R6/lib64 --x-includes=/usr/X11R6/**include >>> CFLAGS=-m64 >>> CXXFLAGS=-m64 >>> >>> make images LOG=debug >>> >>> The extra options and flags are mainly necessary because the GCC on the >>> latter platform produces 32-bit binaries by default. Notice that the >>> environment variables "CFLAGS=-m64 CXXFLAGS=-m64" are necessary for the >>> configure script itself to detect the correct 64-bit platform while the >>> configure options like "--with-extra-cflags" are needed in order to select >>> the right flags for the build. >>> >> This should be addressed I think. I'm not happy with the current handling >> of CFLAGS*, CXXFLAGS* and LDFLAGS*. But not in this patch. >> > > Yes, I didn't change anything here, I just wanted to explain the command > line and why both, "--with-extra-cflags" and CFLAGS are necessary. > > Following some more detailed descriptions of the change: >>> common/autoconf/boot-jdk.m4 >>> >>> Linux/PPC64 needs a slightly bigger heap for the huge JDK batch. Treat it >>> like MacOS which uses '-Xmx1600M'. >>> common/autoconf/configure.ac >>> common/autoconf/hotspot-spec.**gmk.in >>> common/autoconf/jdk-options.m4 >>> >>> Add --with-interpreter option to configure which can be used th choose one >>> of the 'template' or the 'C++' interpreter. Default is the 'template' >>> interpreter. >>> common/autoconf/jdk-options.m4 >>> common/autoconf/spec.gmk.in >>> make/hotspot-rules.gmk >>> >>> Add JVM variant 'core' to configure which can be used th choose the >>> HotSpot >>> 'core' (i.e. 'interpreter only') build. Notice that this 'core' build >>> currently only works on Linux/PPC64 and it is used for the PowerPC/AIX >>> porting project to bootstrap its build. (See 8016476: PPC64 (part 1): >>> reenable CORE build>> id=8016476 >>>> for >>> >>> the corresponding HotSpot change). >>> >>> We currently also don't build the serviceability agent on PPC64. >>> common/autoconf/libraries.m4 >>> >>> Older Linuxes (e.g. SLES 10) may still have the X11R6 directory but also a >>> symlink from /usr/include/X11 to ../X11R6/include/X11 so we need to check >>> for the X11R6 directory AFTER we checked for /usr/include/X11 >>> Thank you and best regards, >>> >> Note that this last part won't apply cleanly after some recent changes. >> >> > The good news here is that the recent change which broke my patch also > fixed my problem, so this part isn't necessary any more! > > >> Why change make/hotspot-rules.gmk? It's only used in the old build. >> Otherwise this all looks good to me from a build perspective. >> > > You're right, that was an leftover in the patch from the old build system. > I've removed it. > > >> /Erik >> From david.holmes at oracle.com Thu Jul 4 23:11:04 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 05 Jul 2013 16:11:04 +1000 Subject: RFR (XS): Enable new build on Linux/PPC64 (jdk part) In-Reply-To: References: <51C970A7.4080601@oracle.com> <51C973EC.8020204@oracle.com> Message-ID: <51D66378.6000109@oracle.com> Just a minor note already mentioned in another review. I'm seeing a number of new files that were obviously copied from existing files but the copyright information has not been updated. I know some files have been in the aix-port repo for a while but not, I think, since 2004 :) David On 27/06/2013 1:28 AM, Volker Simonis wrote: > Hi Erik, > > thank you for looking at this. I've prepared a new webrev at: > > http://cr.openjdk.java.net/~simonis/webrevs/8017568_jdk/ > > What do you think, do you want to push this directly into the build > repositories or should I push it into the staging repository first? > > Please see my further comments inline. > > Thank you and best regards, > Volker > > On Tue, Jun 25, 2013 at 12:41 PM, Erik Joelsson wrote: > >> >> On 2013-06-25 12:27, Erik Joelsson wrote: >> >>> Hello Volker, >>> >>> On 2013-06-24 19:23, Volker Simonis wrote: >>> >>>> Hi, >>>> >>>> could somebody please review the following change and create an >>>> appropriate >>>> Bug ID for it: >>>> >>>> http://cr.openjdk.java.net/~**simonis/webrevs/linux_ppc_**build_jdk/ >>>> >>>> The patch contains two little changes which are required to build the >>>> class >>>> library part of the OpenJDK on Linux/PPC64. Most of the build magic is >>>> contained in the top-level part of this change which is separately >>>> reviewed >>>> at http://cr.openjdk.java.net/~**simonis/webrevs/linux_ppc_**build_top >>>> CompileLaunchers.gmk >>>> >>>> Remove mapfile from build instructions of BUILD_UNPACKEXE: >>>> >>>> CFLAGS_macosx:=-fPIC, \ >>>> - MAPFILE:=$(JDK_TOPDIR)/**makefiles/mapfiles/libunpack/** >>>> mapfile-vers-unpack200,\ >>>> LDFLAGS:=$(UNPACKEXE_ZIPOBJS),**\ >>>> >>>> I think it makes no sense to use a version script file for an >>>> executable >>>> and older linkers (e.g. on SLES 10) complain with: "*Invalid version tag >>>> `SUNWprivate_1.1'. Only anonymous version tag is allowed in executable.*" >>>> The GNU ld manual>>> node/ld_25.html >>>>> states: >>>> "*Version scripts are only meaningful when creating shared libraries.*" >>>> Morover unpack200 was the only executable which used a version script >>>> file. >>>> >>>> Unpackexe has some weirdness and this isn't surprising me. Would be >>> good if someone with more historic knowledge could fill in on the reason >>> for this. Someone apparently went through the trouble of creating a special >>> mapfile for this executable. Also, if not using it, should it be removed? >>> >> I looked closer at this. These mapfiles were explicitly added in >> http://bugs.sun.com/view_bug.**do?bug_id=7033954, >> but it was noted that it broke builds for architectures that didn't have >> mapfiles defined. If you look at the launchers, the mapfile is only set if >> the arch specific one exists. I think a safer change here would be to make >> the mapfile conditional on platform or arch for unpackexe. >> >> > I still do not fully understand why we need map-files for executables, but > I also understand that you don't want to change the current setup. So I > went the hard (and hopefully right:) way and implemented a detection of the > buggy linkers on older SuSE distros (e.g. on SLES 10) which complain with: > "Invalid version tag `SUNWprivate_1.1' during the configure step (see > top-level change). Unfortunately we still have quite a lot of these systems > so we really need the build with that buggy ld. > > I've therefore added map files with anonymous version tags for these buggy > linkers which are only used if the buggy linker was detected during the > configure step (i.e. if USING_BROKEN_SUSE_LD=yes). Notice that this is no > PPC64 specific problem but a occurs on all SuSE 10 platforms. > > And you've been right. I also had to add the arch specific map files for > ppc64 in order to use them for the other launchers. > > >> Kumar, you made the change referred to here, do you have anything to add? >> >> /Erik >> >> Fix typo (replace 'defalt: all' by 'default') >>>> >>>> default: all >>>> >>>> CompileNativeLibraries.gmk >>>> >>>> Only use $(OPENWIN_LIB) for linking LIBSPLASHSCREEN on Solaris! The old >>>> code worked only accidentally when the X-libraries are in the default >>>> linker path anyway. The right solution is to use $(X_LIBS) if not on >>>> Windows or Solaris. >>>> >>>> Append -DX_ARCH=X_PPC64 to LIBJSOUND_CFLAGS on PPC64. The value of >>>> X_ARCHisn't actually used on the PPC architectures, but there's a >>>> check to verify >>>> that it is set. >>>> >>>> Fix typo (replace 'defalt: all' by 'default') >>>> >>>> default: all >>>> >>>> >>>> Otherwise looks good. >>> >>> /Erik >>> >>> From goetz.lindenmaier at sap.com Fri Jul 5 00:51:56 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 5 Jul 2013 07:51:56 +0000 Subject: Please create new BugIDs In-Reply-To: <51D54200.8090200@oracle.com> References: <51D54200.8090200@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF2928@DEWDFEMB12A.global.corp.sap> Hi Albert, could you please give me bug IDs for the following two changes: PPC64 (part 9): platform files for interpreter only VM. PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/874e94d3b21d/ppc_patches/0009_linux_ppc_files.patch http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/874e94d3b21d/ppc_patches/0011_AIX_IA64_preprocessor_conditionals.patch Thanks & best regards, Goetz. From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Albert Noll Sent: Thursday, July 04, 2013 11:36 AM To: Volker Simonis Cc: ppc-aix-port-dev at openjdk.java.net Subject: Re: Please create new BugIDs Hi Volker, sure, here are the new bug IDs: On 04.07.2013 11:06, Volker Simonis wrote: Hi Albert, could you please create new BugIDs for the following patches for which I want to send out webrevs for review: 0008_linux_ppc_make_changes.patch: Implement Linux/PPC64 support in HotSpot makefiles. 8019922 0106_rt-make_hsdis_build_and_work_on_Linux_PPC64.patch: Make hsdis build and work on Linux/PPC64 8019926 0107_rt-elf_decoder.patch: Extend ELF-decoder to support PPC64 function descriptor tables 8019929 Thank you and best regards, Volker Best, Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130705/0d90c40b/attachment-0001.html From albert.noll at oracle.com Fri Jul 5 06:17:26 2013 From: albert.noll at oracle.com (Albert Noll) Date: Fri, 05 Jul 2013 15:17:26 +0200 Subject: Please create new BugIDs In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF2928@DEWDFEMB12A.global.corp.sap> References: <51D54200.8090200@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2928@DEWDFEMB12A.global.corp.sap> Message-ID: <51D6C766.1020802@oracle.com> Hi Goetz, sure, here are the new bug IDs: On 05.07.2013 09:51, Lindenmaier, Goetz wrote: > > Hi Albert, > > could you please give me bug IDs for the following two changes: > > PPC64 (part 9): platform files for interpreter only VM. > 8019972 > > PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > 8019973 > > http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/874e94d3b21d/ppc_patches/0009_linux_ppc_files.patch > > http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/874e94d3b21d/ppc_patches/0011_AIX_IA64_preprocessor_conditionals.patch > > Thanks & best regards, > > Goetz. > Best, Albert > > *From:*ppc-aix-port-dev-bounces at openjdk.java.net > [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] *On Behalf Of > *Albert Noll > *Sent:* Thursday, July 04, 2013 11:36 AM > *To:* Volker Simonis > *Cc:* ppc-aix-port-dev at openjdk.java.net > *Subject:* Re: Please create new BugIDs > > Hi Volker, > > sure, here are the new bug IDs: > > On 04.07.2013 11:06, Volker Simonis wrote: > > Hi Albert, > > > > could you please create new BugIDs for the following patches for which > > I want to send out webrevs for review: > > > > 0008_linux_ppc_make_changes.patch: Implement Linux/PPC64 support in > > HotSpot makefiles. > > 8019922 > > > 0106_rt-make_hsdis_build_and_work_on_Linux_PPC64.patch: Make hsdis > build and work on Linux/PPC64 > > 8019926 > > > 0107_rt-elf_decoder.patch: Extend ELF-decoder to support PPC64 > function descriptor tables > > 8019929 > > > Thank you and best regards, > Volker > > Best, > Albert > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130705/8a6bf447/attachment.html From iris.clark at oracle.com Fri Jul 5 12:36:38 2013 From: iris.clark at oracle.com (Iris Clark) Date: Fri, 5 Jul 2013 12:36:38 -0700 (PDT) Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51D657E6.2060606@oracle.com> References: <51D657E6.2060606@oracle.com> Message-ID: <262b3e97-c118-403b-851b-f475f31e7625@default> For the copyright, please change "2011" to "2013". This problem would be caught by various scripts later, but since it's been spotted in a pre-commit, it may as well be handled now. Thanks, iris -----Original Message----- From: David Holmes Sent: Thursday, July 04, 2013 10:22 PM To: Volker Simonis Cc: ppc-aix-port-dev at openjdk.java.net; HotSpot Open Source Developers Subject: Re: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles Hi Volker, This all looks fine to me. A couple of minor comments below. I will also test it but I don't expect to see any conflicts with our other ports. Thanks, David ----- make/defs.make Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the sparcv9 code and reduce this: 288 ifeq ($(BUILDARCH), ppc) 289 ifdef LP64 290 BUILDARCH = ppc64 291 else 292 BUILDARCH = ppc 293 endif 294 endif to 288 ifeq ($(BUILDARCH), ppc) 289 ifdef LP64 290 BUILDARCH = ppc64 291 endif 292 endif --- make/linux/makefiles/defs.make I note you have: HS_ARCH = ppc and this is only used with the SA for which we presently have: ADD_SA_BINARIES/ppc = but you also added: ADD_SA_BINARIES/ppc64 = so was the HS_ARCH setting a typo? --- make/linux/makefiles/gcc.make You added: ARCHFLAG/ppc64 = -m64 which is fine, but then in ppc64.make you also have: CFLAGS += -m64 LFLAGS_VM += -m64 AOUT_FLAGS += -m64 which seems redundant given gcc.make has: 186 CFLAGS += $(ARCHFLAG) 187 AOUT_FLAGS += $(ARCHFLAG) 188 LFLAGS += $(ARCHFLAG) 189 ASFLAGS += $(ARCHFLAG) Also the initial copyright line seems suspect: 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. Not sure how a new file can have a 2004-2011 copyright year range ?? On 5/07/2013 2:07 AM, Volker Simonis wrote: > Hi, > > can sombody please review this change. It implements the relevant > HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't > touch any existing platforms (but of course testing it on your closed > platforms - especially ppc - is probably necessary and much > appreciated). > > It also contains two small fixes for the CORE build (one is a type and > the other is necessary to accomodate to the changes in "8008772: > remove gamma launcher") in 'make/Makefile' for which I didn't wanted > to open an extra bug for. > > Notice that this patch determines the name and location of the > platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or > src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with > 0009_linux_ppc_files.patch. > > http://cr.openjdk.java.net/~simonis/webrevs/8019922/ > > Thank you and best regards, > Volker > From serguei.spitsyn at oracle.com Fri Jul 5 18:10:23 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Fri, 05 Jul 2013 18:10:23 -0700 Subject: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF2160@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> <51D48274.9090707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2160@DEWDFEMB12A.global.corp.sap> Message-ID: <51D76E7F.60809@oracle.com> Hi Goetz, As before it looks good in general. I'm not sure the following change is correct: - THREAD->clr_pop_frame_in_process(); + } else { + istate->set_msg(return_from_method); } The above will reset the *msg* to the *return_from_method* when it was already set to the *early_return* which is inconsistent with the *popping_frame* case. Could you explain why did you make it for non-popping_frame cases only? It would not surprise me if it does not matter though. :) Also, one more case needs to be added to the BytecodeInterpreter::C_msg(): 322? case BytecodeInterpreter::early_return: return("early_return"); One more comment below... On 7/4/13 5:39 AM, Lindenmaier, Goetz wrote: > > Hi, > > pop_frame_in_process will be cleared when the frame manager calls > > the interpreter loop again with the message popping_frame. > > 6953477 broke our pop_frame tests. I don't see though how pop_frame > > could be tested with 6953477, as the capability is not set > > if CC_INTERP is defined. > It is explicitly disabled in the jvmtiManageCapabilities.cpp: #ifndef CC_INTERP jc.can_pop_frame = 1; jc.can_force_early_return = 1; #endif // !CC_INTERP It is because it was not fully implemented yet for CC_INTERP. You can take the can_force_early_return out of the ifdef. Thanks, Serguei > (I removed a ShouldNotReachHere in the updated change, that was > > in the wrong patch of the port but belongs here.) > > _/return/_kind is unused. In the updated webrev I also removed the > > definition of the field. > > I also fixed the syntax stuff. > > This is the new webrev: > > http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet-2/ > > > Best regards, > > Goetz. > > *From:*serguei.spitsyn at oracle.com [mailto:serguei.spitsyn at oracle.com] > *Sent:* Mittwoch, 3. Juli 2013 21:59 > *To:* Lindenmaier, Goetz > *Cc:* 'hotspot-dev at openjdk.java.net'; > 'ppc-aix-port-dev at openjdk.java.net'; Vladimir Kozlov > *Subject:* Re: RFR (M): 8019519: PPC64 (part 105): C interpreter: > implement support for jvmti early return. > > Hi Goetz, > > The fix looks good in general. > Thank you for doing this! > > A couple of comments: > > src/share/vm/interpreter/bytecodeInterpreter.cpp: > > It looks like you have accidentally dropped the line: > > 2981 THREAD->clr_pop_frame_in_process(); > > > What is the reason that the following lines are deleted? (the same as > Vladimir already asked): > > 2962 istate->set_return_kind((Bytecodes::Code)opcode); > 2987 istate->set_return_kind((Bytecodes::Code)opcode); > > > Thanks, > Serguei > > On 7/3/13 3:24 AM, Lindenmaier, Goetz wrote: > > Hi, > > > > This change implements jvmti early return and pop frame support > > in the cppInterpreter. To work properly, the corresponding properties in > > JvmtiManageCapabilities::init_onload_capabilities() must be enabled. > > We will add this in a later change. > > > > I would be happy about a review of this change: > > http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet/ > > > > Best regards, > > Goetz. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130705/07dc1223/attachment.html From goetz.lindenmaier at sap.com Sat Jul 6 12:35:06 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Sat, 6 Jul 2013 19:35:06 +0000 Subject: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. In-Reply-To: <51D76E7F.60809@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> <51D48274.9090707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2160@DEWDFEMB12A.global.corp.sap> <51D76E7F.60809@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF2C32@DEWDFEMB12A.global.corp.sap> Hi Serguei, >The above will reset the msg to the return_from_method >when it was already set to the early_return which is >inconsistent with the popping_frame case. That's because the frame manager tests for popping_frame. The early_return case is handled as a normal return, we faked the return result in the cppInterpreter code that's in this change. See also http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/874e94d3b21d/src/cpu/ppc/vm/cppInterpreter_ppc.cpp line 1922 > jc.can_force_early_return = 1; We will enable the capabilities in a change later on. Best regards & thanks for your review, Goetz. From: serguei.spitsyn at oracle.com [mailto:serguei.spitsyn at oracle.com] Sent: Saturday, July 06, 2013 3:10 AM To: Lindenmaier, Goetz Cc: Vladimir Kozlov; 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net' Subject: Re: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. Hi Goetz, As before it looks good in general. I'm not sure the following change is correct: - THREAD->clr_pop_frame_in_process(); + } else { + istate->set_msg(return_from_method); } The above will reset the msg to the return_from_method when it was already set to the early_return which is inconsistent with the popping_frame case. Could you explain why did you make it for non-popping_frame cases only? It would not surprise me if it does not matter though. :) Also, one more case needs to be added to the BytecodeInterpreter::C_msg(): 322? case BytecodeInterpreter::early_return: return("early_return"); One more comment below... On 7/4/13 5:39 AM, Lindenmaier, Goetz wrote: Hi, pop_frame_in_process will be cleared when the frame manager calls the interpreter loop again with the message popping_frame. 6953477 broke our pop_frame tests. I don't see though how pop_frame could be tested with 6953477, as the capability is not set if CC_INTERP is defined. It is explicitly disabled in the jvmtiManageCapabilities.cpp: #ifndef CC_INTERP jc.can_pop_frame = 1; jc.can_force_early_return = 1; #endif // !CC_INTERP It is because it was not fully implemented yet for CC_INTERP. You can take the can_force_early_return out of the ifdef. Thanks, Serguei (I removed a ShouldNotReachHere in the updated change, that was in the wrong patch of the port but belongs here.) _return_kind is unused. In the updated webrev I also removed the definition of the field. I also fixed the syntax stuff. This is the new webrev: http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet-2/ Best regards, Goetz. From: serguei.spitsyn at oracle.com [mailto:serguei.spitsyn at oracle.com] Sent: Mittwoch, 3. Juli 2013 21:59 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; 'ppc-aix-port-dev at openjdk.java.net'; Vladimir Kozlov Subject: Re: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. Hi Goetz, The fix looks good in general. Thank you for doing this! A couple of comments: src/share/vm/interpreter/bytecodeInterpreter.cpp: It looks like you have accidentally dropped the line: 2981 THREAD->clr_pop_frame_in_process(); What is the reason that the following lines are deleted? (the same as Vladimir already asked): 2962 istate->set_return_kind((Bytecodes::Code)opcode); 2987 istate->set_return_kind((Bytecodes::Code)opcode); Thanks, Serguei On 7/3/13 3:24 AM, Lindenmaier, Goetz wrote: Hi, This change implements jvmti early return and pop frame support in the cppInterpreter. To work properly, the corresponding properties in JvmtiManageCapabilities::init_onload_capabilities() must be enabled. We will add this in a later change. I would be happy about a review of this change: http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet/ Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130706/5e51c91a/attachment.html From david.holmes at oracle.com Sun Jul 7 18:19:46 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 08 Jul 2013 11:19:46 +1000 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <262b3e97-c118-403b-851b-f475f31e7625@default> References: <51D657E6.2060606@oracle.com> <262b3e97-c118-403b-851b-f475f31e7625@default> Message-ID: <51DA13B2.5020402@oracle.com> Iris, On 6/07/2013 5:36 AM, Iris Clark wrote: > For the copyright, please change "2011" to "2013". What about the 2004 initial year? That doesn't seem right for new files. Seems to be due to copying existing files and renaming. David > This problem would be caught by various scripts later, but since it's been spotted in a pre-commit, it may as well be handled now. > > Thanks, > iris > > -----Original Message----- > From: David Holmes > Sent: Thursday, July 04, 2013 10:22 PM > To: Volker Simonis > Cc: ppc-aix-port-dev at openjdk.java.net; HotSpot Open Source Developers > Subject: Re: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles > > Hi Volker, > > This all looks fine to me. A couple of minor comments below. > > I will also test it but I don't expect to see any conflicts with our other ports. > > Thanks, > David > ----- > > make/defs.make > > Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the > sparcv9 code and reduce this: > > 288 ifeq ($(BUILDARCH), ppc) > 289 ifdef LP64 > 290 BUILDARCH = ppc64 > 291 else > 292 BUILDARCH = ppc > 293 endif > 294 endif > > to > > 288 ifeq ($(BUILDARCH), ppc) > 289 ifdef LP64 > 290 BUILDARCH = ppc64 > 291 endif > 292 endif > > --- > > make/linux/makefiles/defs.make > > I note you have: > > HS_ARCH = ppc > > and this is only used with the SA for which we presently have: > > ADD_SA_BINARIES/ppc = > > but you also added: > > ADD_SA_BINARIES/ppc64 = > > so was the HS_ARCH setting a typo? > > --- > > make/linux/makefiles/gcc.make > > You added: > > ARCHFLAG/ppc64 = -m64 > > which is fine, but then in ppc64.make you also have: > > CFLAGS += -m64 > LFLAGS_VM += -m64 > AOUT_FLAGS += -m64 > > which seems redundant given gcc.make has: > > 186 CFLAGS += $(ARCHFLAG) > 187 AOUT_FLAGS += $(ARCHFLAG) > 188 LFLAGS += $(ARCHFLAG) > 189 ASFLAGS += $(ARCHFLAG) > > Also the initial copyright line seems suspect: > > 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. > > Not sure how a new file can have a 2004-2011 copyright year range ?? > > > On 5/07/2013 2:07 AM, Volker Simonis wrote: >> Hi, >> >> can sombody please review this change. It implements the relevant >> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >> touch any existing platforms (but of course testing it on your closed >> platforms - especially ppc - is probably necessary and much >> appreciated). >> >> It also contains two small fixes for the CORE build (one is a type and >> the other is necessary to accomodate to the changes in "8008772: >> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >> to open an extra bug for. >> >> Notice that this patch determines the name and location of the >> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >> 0009_linux_ppc_files.patch. >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >> >> Thank you and best regards, >> Volker >> From dean.long at oracle.com Sun Jul 7 23:34:30 2013 From: dean.long at oracle.com (Dean Long) Date: Sun, 07 Jul 2013 23:34:30 -0700 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51DA13B2.5020402@oracle.com> References: <51D657E6.2060606@oracle.com> <262b3e97-c118-403b-851b-f475f31e7625@default> <51DA13B2.5020402@oracle.com> Message-ID: <51DA5D76.2050108@oracle.com> I had a similar question. Do the copyright dates follow the file or the content of the file? I assume they follow the content, and renaming a file wouldn't mean resetting the initial year. So copying a file and then modifying it would mean keeping the initial year because of the copied (old) content? dl On 7/7/2013 6:19 PM, David Holmes wrote: > Iris, > > On 6/07/2013 5:36 AM, Iris Clark wrote: >> For the copyright, please change "2011" to "2013". > > What about the 2004 initial year? That doesn't seem right for new > files. Seems to be due to copying existing files and renaming. > > David > >> This problem would be caught by various scripts later, but since it's >> been spotted in a pre-commit, it may as well be handled now. >> >> Thanks, >> iris >> >> -----Original Message----- >> From: David Holmes >> Sent: Thursday, July 04, 2013 10:22 PM >> To: Volker Simonis >> Cc: ppc-aix-port-dev at openjdk.java.net; HotSpot Open Source Developers >> Subject: Re: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 >> support in HotSpot makefiles >> >> Hi Volker, >> >> This all looks fine to me. A couple of minor comments below. >> >> I will also test it but I don't expect to see any conflicts with our >> other ports. >> >> Thanks, >> David >> ----- >> >> make/defs.make >> >> Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the >> sparcv9 code and reduce this: >> >> 288 ifeq ($(BUILDARCH), ppc) >> 289 ifdef LP64 >> 290 BUILDARCH = ppc64 >> 291 else >> 292 BUILDARCH = ppc >> 293 endif >> 294 endif >> >> to >> >> 288 ifeq ($(BUILDARCH), ppc) >> 289 ifdef LP64 >> 290 BUILDARCH = ppc64 >> 291 endif >> 292 endif >> >> --- >> >> make/linux/makefiles/defs.make >> >> I note you have: >> >> HS_ARCH = ppc >> >> and this is only used with the SA for which we presently have: >> >> ADD_SA_BINARIES/ppc = >> >> but you also added: >> >> ADD_SA_BINARIES/ppc64 = >> >> so was the HS_ARCH setting a typo? >> >> --- >> >> make/linux/makefiles/gcc.make >> >> You added: >> >> ARCHFLAG/ppc64 = -m64 >> >> which is fine, but then in ppc64.make you also have: >> >> CFLAGS += -m64 >> LFLAGS_VM += -m64 >> AOUT_FLAGS += -m64 >> >> which seems redundant given gcc.make has: >> >> 186 CFLAGS += $(ARCHFLAG) >> 187 AOUT_FLAGS += $(ARCHFLAG) >> 188 LFLAGS += $(ARCHFLAG) >> 189 ASFLAGS += $(ARCHFLAG) >> >> Also the initial copyright line seems suspect: >> >> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All >> rights reserved. >> >> Not sure how a new file can have a 2004-2011 copyright year range ?? >> >> >> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>> Hi, >>> >>> can sombody please review this change. It implements the relevant >>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>> touch any existing platforms (but of course testing it on your closed >>> platforms - especially ppc - is probably necessary and much >>> appreciated). >>> >>> It also contains two small fixes for the CORE build (one is a type and >>> the other is necessary to accomodate to the changes in "8008772: >>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>> to open an extra bug for. >>> >>> Notice that this patch determines the name and location of the >>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>> 0009_linux_ppc_files.patch. >>> >>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>> >>> Thank you and best regards, >>> Volker >>> From david.holmes at oracle.com Sun Jul 7 23:47:48 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 08 Jul 2013 16:47:48 +1000 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51DA5D76.2050108@oracle.com> References: <51D657E6.2060606@oracle.com> <262b3e97-c118-403b-851b-f475f31e7625@default> <51DA13B2.5020402@oracle.com> <51DA5D76.2050108@oracle.com> Message-ID: <51DA6094.8070004@oracle.com> On 8/07/2013 4:34 PM, Dean Long wrote: > I had a similar question. Do the copyright dates follow the file or the > content of the file? I assume they follow the content, > and renaming a file wouldn't mean resetting the initial year. So > copying a file and then modifying it would mean > keeping the initial year because of the copied (old) content? Yes Joe Darcy also suggested that in separate email. But as I posited to him it seems odd that if you copy the file and edit it you get one copyright notice, but if you created a new file with content based on what you read in the existing file, then it gets a different copyright notice. Seems somewhat arbitrary. I think I'll just let this drop and henceforth pay no attention to copyright notices during code reviews. It just isn't worth the pain. :) Cheers, David > dl > > On 7/7/2013 6:19 PM, David Holmes wrote: >> Iris, >> >> On 6/07/2013 5:36 AM, Iris Clark wrote: >>> For the copyright, please change "2011" to "2013". >> >> What about the 2004 initial year? That doesn't seem right for new >> files. Seems to be due to copying existing files and renaming. >> >> David >> >>> This problem would be caught by various scripts later, but since it's >>> been spotted in a pre-commit, it may as well be handled now. >>> >>> Thanks, >>> iris >>> >>> -----Original Message----- >>> From: David Holmes >>> Sent: Thursday, July 04, 2013 10:22 PM >>> To: Volker Simonis >>> Cc: ppc-aix-port-dev at openjdk.java.net; HotSpot Open Source Developers >>> Subject: Re: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 >>> support in HotSpot makefiles >>> >>> Hi Volker, >>> >>> This all looks fine to me. A couple of minor comments below. >>> >>> I will also test it but I don't expect to see any conflicts with our >>> other ports. >>> >>> Thanks, >>> David >>> ----- >>> >>> make/defs.make >>> >>> Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the >>> sparcv9 code and reduce this: >>> >>> 288 ifeq ($(BUILDARCH), ppc) >>> 289 ifdef LP64 >>> 290 BUILDARCH = ppc64 >>> 291 else >>> 292 BUILDARCH = ppc >>> 293 endif >>> 294 endif >>> >>> to >>> >>> 288 ifeq ($(BUILDARCH), ppc) >>> 289 ifdef LP64 >>> 290 BUILDARCH = ppc64 >>> 291 endif >>> 292 endif >>> >>> --- >>> >>> make/linux/makefiles/defs.make >>> >>> I note you have: >>> >>> HS_ARCH = ppc >>> >>> and this is only used with the SA for which we presently have: >>> >>> ADD_SA_BINARIES/ppc = >>> >>> but you also added: >>> >>> ADD_SA_BINARIES/ppc64 = >>> >>> so was the HS_ARCH setting a typo? >>> >>> --- >>> >>> make/linux/makefiles/gcc.make >>> >>> You added: >>> >>> ARCHFLAG/ppc64 = -m64 >>> >>> which is fine, but then in ppc64.make you also have: >>> >>> CFLAGS += -m64 >>> LFLAGS_VM += -m64 >>> AOUT_FLAGS += -m64 >>> >>> which seems redundant given gcc.make has: >>> >>> 186 CFLAGS += $(ARCHFLAG) >>> 187 AOUT_FLAGS += $(ARCHFLAG) >>> 188 LFLAGS += $(ARCHFLAG) >>> 189 ASFLAGS += $(ARCHFLAG) >>> >>> Also the initial copyright line seems suspect: >>> >>> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All >>> rights reserved. >>> >>> Not sure how a new file can have a 2004-2011 copyright year range ?? >>> >>> >>> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>>> Hi, >>>> >>>> can sombody please review this change. It implements the relevant >>>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>>> touch any existing platforms (but of course testing it on your closed >>>> platforms - especially ppc - is probably necessary and much >>>> appreciated). >>>> >>>> It also contains two small fixes for the CORE build (one is a type and >>>> the other is necessary to accomodate to the changes in "8008772: >>>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>>> to open an extra bug for. >>>> >>>> Notice that this patch determines the name and location of the >>>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>>> 0009_linux_ppc_files.patch. >>>> >>>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>>> >>>> Thank you and best regards, >>>> Volker >>>> > From serguei.spitsyn at oracle.com Mon Jul 8 01:33:28 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Mon, 08 Jul 2013 01:33:28 -0700 Subject: RFR (M): 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF2C32@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF1D63@DEWDFEMB12A.global.corp.sap> <51D48274.9090707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2160@DEWDFEMB12A.global.corp.sap> <51D76E7F.60809@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2C32@DEWDFEMB12A.global.corp.sap> Message-ID: <51DA7958.2090406@oracle.com> Hi Goetz, Thank you for the explanations. A thumbs up from me. Thanks, Serguei On 7/6/13 12:35 PM, Lindenmaier, Goetz wrote: > > Hi Serguei, > > > >The above will reset the *msg* to the *return_from_method* > >when it was already set to the *early_return* which is > >inconsistent with the *popping_frame* case. > > That's because the frame manager tests for popping_frame. > > The early_return case is handled as a normal return, we faked the > > return result in the cppInterpreter code that's in this change. > > See also > > http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/874e94d3b21d/src/cpu/ppc/vm/cppInterpreter_ppc.cpp > > line 1922 > > > > jc.can_force_early_return = 1; > > We will enable the capabilities in a change later on. > > Best regards & thanks for your review, > > Goetz. > > *From:*serguei.spitsyn at oracle.com [mailto:serguei.spitsyn at oracle.com] > *Sent:* Saturday, July 06, 2013 3:10 AM > *To:* Lindenmaier, Goetz > *Cc:* Vladimir Kozlov; 'hotspot-dev at openjdk.java.net'; > 'ppc-aix-port-dev at openjdk.java.net' > *Subject:* Re: RFR (M): 8019519: PPC64 (part 105): C interpreter: > implement support for jvmti early return. > > > Hi Goetz, > > As before it looks good in general. > > I'm not sure the following change is correct: > > > - THREAD->clr_pop_frame_in_process(); > + } else { > + istate->set_msg(return_from_method); > } > > > The above will reset the *msg* to the *return_from_method* > when it was already set to the *early_return* which is > inconsistent with the *popping_frame* case. > > Could you explain why did you make it for non-popping_frame cases only? > It would not surprise me if it does not matter though. :) > > > Also, one more case needs to be added to the BytecodeInterpreter::C_msg(): > > 322? case BytecodeInterpreter::early_return: return("early_return"); > > > > One more comment below... > > > On 7/4/13 5:39 AM, Lindenmaier, Goetz wrote: > > Hi, > > pop_frame_in_process will be cleared when the frame manager calls > > the interpreter loop again with the message popping_frame. > > 6953477 broke our pop_frame tests. I don't see though how pop_frame > > could be tested with 6953477, as the capability is not set > > if CC_INTERP is defined. > > > It is explicitly disabled in the jvmtiManageCapabilities.cpp: > #ifndef CC_INTERP > jc.can_pop_frame = 1; > jc.can_force_early_return = 1; > #endif // !CC_INTERP > > It is because it was not fully implemented yet for CC_INTERP. > You can take the can_force_early_return out of the ifdef. > > > Thanks, > Serguei > > > (I removed a ShouldNotReachHere in the updated change, that was > > in the wrong patch of the port but belongs here.) > > _/return/_kind is unused. In the updated webrev I also removed the > > definition of the field. > > I also fixed the syntax stuff. > > This is the new webrev: > > http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet-2/ > > > Best regards, > > Goetz. > > *From:*serguei.spitsyn at oracle.com > [mailto:serguei.spitsyn at oracle.com] > *Sent:* Mittwoch, 3. Juli 2013 21:59 > *To:* Lindenmaier, Goetz > *Cc:* 'hotspot-dev at openjdk.java.net > '; > 'ppc-aix-port-dev at openjdk.java.net > '; Vladimir Kozlov > *Subject:* Re: RFR (M): 8019519: PPC64 (part 105): C interpreter: > implement support for jvmti early return. > > Hi Goetz, > > The fix looks good in general. > Thank you for doing this! > > A couple of comments: > > src/share/vm/interpreter/bytecodeInterpreter.cpp: > > It looks like you have accidentally dropped the line: > > 2981 THREAD->clr_pop_frame_in_process(); > > > What is the reason that the following lines are deleted? (the same as > Vladimir already asked): > > 2962 istate->set_return_kind((Bytecodes::Code)opcode); > 2987 istate->set_return_kind((Bytecodes::Code)opcode); > > > Thanks, > Serguei > > On 7/3/13 3:24 AM, Lindenmaier, Goetz wrote: > > Hi, > > > > This change implements jvmti early return and pop frame support > > in the cppInterpreter. To work properly, the corresponding properties in > > JvmtiManageCapabilities::init_onload_capabilities() must be enabled. > > We will add this in a later change. > > > > I would be happy about a review of this change: > > http://cr.openjdk.java.net/~goetz/webrevs/8019519-cInter_earlyRet/ > > > > Best regards, > > Goetz. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130708/503fc85b/attachment-0001.html From goetz.lindenmaier at sap.com Mon Jul 8 05:45:13 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 8 Jul 2013 12:45:13 +0000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> Hi, This is in preparation of the PPC AIX port. A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. This leads to wrong configurations of shared files on Aix where IA64 is used. This change replaces uses of "IA64" by "IA64 && !AIX". To reduce the complexity we propose to simplify two matters: Since the initial checkin objectMonitor.cpp and synchronizer.cpp define #define ATTR __attribute__((noinline)) claiming this is needed to avoid a gcc build time error with - at that time - old gcc versions. This define depends on IA64. We remove it altogether. prims/forte.cpp uses a lot of different mechanisms all disabling forte support on windows, apple and ia64. We would have to add Aix. Instead, we propose to use a check for the supported platforms (see webrev). We could also add a macro SUPPORTS_FORTE that is defined in the corresponding makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 directories. Are there other platforms that need to be supported? I derived the platforms from the comment in forte.cpp. Please review this change. I'm happy to incorporate your comments. http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130708/eb1576a9/attachment.html From goetz.lindenmaier at sap.com Mon Jul 8 06:26:00 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Mon, 08 Jul 2013 13:26:00 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. Message-ID: <20130708132604.6A84A48899@hg.openjdk.java.net> Changeset: bfd9d884693d Author: goetz Date: 2013-07-03 11:25 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/bfd9d884693d 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. Reviewed-by: sspitsyn, kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.hpp From goetz.lindenmaier at sap.com Mon Jul 8 07:31:53 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 8 Jul 2013 14:31:53 +0000 Subject: RFR (XS): Fix after 8014972 Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF3731@DEWDFEMB12A.global.corp.sap> Hi, The flag introduced by 8014972 is not defined if Hotspot is built without a compiler (zero, ppc64 core build). Please open a bug for this and review the fix. http://cr.openjdk.java.net/~goetz/webrevs/fix_after_8014972/ Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130708/62d5a3f7/attachment.html From goetz.lindenmaier at sap.com Mon Jul 8 07:38:03 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 8 Jul 2013 14:38:03 +0000 Subject: Test build of main hotspot repositories with our port Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF3746@DEWDFEMB12A.global.corp.sap> Hi, In the recent past we had several changes that broke features used in the ppc aix port. So far we only detected these after updating hotspot in the staging directory and building that with our patches on top. To detect such issues early, we installed a build that - Clones the 5 hsx hotspot directories - Pulls the changes from the staging directory there - Applies the remaining patches - Builds this and does a very basic test. The results can be seen here, in the second table: http://cr.openjdk.java.net/~simonis/ppc-aix-port/index.html Today, the test shows that the core build is broken, I filed a fix for that. In future we hope to catch such problems even more early. Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130708/92758a5d/attachment.html From vladimir.kozlov at oracle.com Mon Jul 8 08:34:17 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 08 Jul 2013 08:34:17 -0700 Subject: Test build of main hotspot repositories with our port In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF3746@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3746@DEWDFEMB12A.global.corp.sap> Message-ID: <51DADBF9.1010204@oracle.com> Thank you, Goet On 7/8/13 7:38 AM, Lindenmaier, Goetz wrote: > Hi, > > In the recent past we had several changes that broke features used > in the ppc aix port. So far we only detected these after updating > hotspot in the staging directory and building that with our patches > on top. Sorry about that. > > To detect such issues early, we installed a build that > -Clones the 5 hsx hotspot directories We don't push major changes into -main but for completeness you are right. > -Pulls the changes from the staging directory there > -Applies the remaining patches > -Builds this and does a very basic test. > > The results can be seen here, in the second table: > http://cr.openjdk.java.net/~simonis/ppc-aix-port/index.html Could you add testing of your port on MacOS? We had few issues on it with the port before. > Today, the test shows that the core build is broken, I filed a fix for > that. In future we hope to catch such problems even more early. We file a bug and push your fix. > Best regards, > Goetz. Thanks, Vladimir From volker.simonis at gmail.com Mon Jul 8 08:42:32 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Mon, 8 Jul 2013 17:42:32 +0200 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51D657E6.2060606@oracle.com> References: <51D657E6.2060606@oracle.com> Message-ID: Hi David, thank you for the review. I prepared a new webrev according to your suggestions: http://cr.openjdk.java.net/~simonis/webrevs/8019922.v2/ Please find my comments inline: Thank you and best regards, Volker On Fri, Jul 5, 2013 at 7:21 AM, David Holmes wrote: > Hi Volker, > > This all looks fine to me. A couple of minor comments below. > > I will also test it but I don't expect to see any conflicts with our other > ports. > > Thanks, > David > ----- > > make/defs.make > > Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the > sparcv9 code and reduce this: > > 288 ifeq ($(BUILDARCH), ppc) > 289 ifdef LP64 > 290 BUILDARCH = ppc64 > 291 else > 292 BUILDARCH = ppc > 293 endif > 294 endif > > to > > 288 ifeq ($(BUILDARCH), ppc) > 289 ifdef LP64 > 290 BUILDARCH = ppc64 > 291 endif > 292 endif > > --- fixed as suggested. > > make/linux/makefiles/defs.make > > I note you have: > > HS_ARCH = ppc > > and this is only used with the SA for which we presently have: > > ADD_SA_BINARIES/ppc = > > but you also added: > > ADD_SA_BINARIES/ppc64 = > > so was the HS_ARCH setting a typo? > > --- Well, I did it in the same way as the other architectures did it:) Moreover, HS_ARCH is also used in make/Makefile. > > make/linux/makefiles/gcc.make > > You added: > > ARCHFLAG/ppc64 = -m64 > > which is fine, but then in ppc64.make you also have: > > CFLAGS += -m64 > LFLAGS_VM += -m64 > AOUT_FLAGS += -m64 > > which seems redundant given gcc.make has: > > 186 CFLAGS += $(ARCHFLAG) > 187 AOUT_FLAGS += $(ARCHFLAG) > 188 LFLAGS += $(ARCHFLAG) > 189 ASFLAGS += $(ARCHFLAG) > You're right. I removed the '-m64' settings from ppc64.make Also, 'LAUNCHERFLAGS' isn't used anymore so I removed it from pp464.make as well. The same applies to 'AOUT_FLAGS' which isn't necessary for our build. > Also the initial copyright line seems suspect: > > 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights > reserved. > > Not sure how a new file can have a 2004-2011 copyright year range ?? > That was a copy-paste issue. After the lengthy discussions below I changed it to "2004, 2013" to keep things simple:) > > > On 5/07/2013 2:07 AM, Volker Simonis wrote: >> >> Hi, >> >> can sombody please review this change. It implements the relevant >> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >> touch any existing platforms (but of course testing it on your closed >> platforms - especially ppc - is probably necessary and much >> appreciated). >> >> It also contains two small fixes for the CORE build (one is a type and >> the other is necessary to accomodate to the changes in "8008772: >> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >> to open an extra bug for. >> >> Notice that this patch determines the name and location of the >> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >> 0009_linux_ppc_files.patch. >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >> >> Thank you and best regards, >> Volker >> > From iris.clark at oracle.com Mon Jul 8 09:30:52 2013 From: iris.clark at oracle.com (Iris Clark) Date: Mon, 8 Jul 2013 09:30:52 -0700 (PDT) Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51DA13B2.5020402@oracle.com> References: <51D657E6.2060606@oracle.com> <262b3e97-c118-403b-851b-f475f31e7625@default> <51DA13B2.5020402@oracle.com> Message-ID: Hi, David. The copyright follows the content, so the initial year should not be changed. iris -----Original Message----- From: David Holmes Sent: Sunday, July 07, 2013 6:20 PM To: Iris Clark Cc: Volker Simonis; ppc-aix-port-dev at openjdk.java.net; HotSpot Open Source Developers Subject: Re: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles Iris, On 6/07/2013 5:36 AM, Iris Clark wrote: > For the copyright, please change "2011" to "2013". What about the 2004 initial year? That doesn't seem right for new files. Seems to be due to copying existing files and renaming. David > This problem would be caught by various scripts later, but since it's been spotted in a pre-commit, it may as well be handled now. > > Thanks, > iris > > -----Original Message----- > From: David Holmes > Sent: Thursday, July 04, 2013 10:22 PM > To: Volker Simonis > Cc: ppc-aix-port-dev at openjdk.java.net; HotSpot Open Source Developers > Subject: Re: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 > support in HotSpot makefiles > > Hi Volker, > > This all looks fine to me. A couple of minor comments below. > > I will also test it but I don't expect to see any conflicts with our other ports. > > Thanks, > David > ----- > > make/defs.make > > Minor observation: As BUILDARCH defaults to SRCARCH you can emulate > the > sparcv9 code and reduce this: > > 288 ifeq ($(BUILDARCH), ppc) > 289 ifdef LP64 > 290 BUILDARCH = ppc64 > 291 else > 292 BUILDARCH = ppc > 293 endif > 294 endif > > to > > 288 ifeq ($(BUILDARCH), ppc) > 289 ifdef LP64 > 290 BUILDARCH = ppc64 > 291 endif > 292 endif > > --- > > make/linux/makefiles/defs.make > > I note you have: > > HS_ARCH = ppc > > and this is only used with the SA for which we presently have: > > ADD_SA_BINARIES/ppc = > > but you also added: > > ADD_SA_BINARIES/ppc64 = > > so was the HS_ARCH setting a typo? > > --- > > make/linux/makefiles/gcc.make > > You added: > > ARCHFLAG/ppc64 = -m64 > > which is fine, but then in ppc64.make you also have: > > CFLAGS += -m64 > LFLAGS_VM += -m64 > AOUT_FLAGS += -m64 > > which seems redundant given gcc.make has: > > 186 CFLAGS += $(ARCHFLAG) > 187 AOUT_FLAGS += $(ARCHFLAG) > 188 LFLAGS += $(ARCHFLAG) > 189 ASFLAGS += $(ARCHFLAG) > > Also the initial copyright line seems suspect: > > 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. > > Not sure how a new file can have a 2004-2011 copyright year range ?? > > > On 5/07/2013 2:07 AM, Volker Simonis wrote: >> Hi, >> >> can sombody please review this change. It implements the relevant >> HotSpot make changes to build the HotSpot on Linux/PPC64 and >> shouldn't touch any existing platforms (but of course testing it on >> your closed platforms - especially ppc - is probably necessary and >> much appreciated). >> >> It also contains two small fixes for the CORE build (one is a type >> and the other is necessary to accomodate to the changes in "8008772: >> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >> to open an extra bug for. >> >> Notice that this patch determines the name and location of the >> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >> 0009_linux_ppc_files.patch. >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >> >> Thank you and best regards, >> Volker >> From albert.noll at oracle.com Mon Jul 8 11:55:05 2013 From: albert.noll at oracle.com (Albert Noll) Date: Mon, 08 Jul 2013 20:55:05 +0200 Subject: RFR (XS): Fix after 8014972 In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF3731@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3731@DEWDFEMB12A.global.corp.sap> Message-ID: <51DB0B09.7020702@oracle.com> Hi, I created a new bug for your fix. 8020059 Best, Albert On 08.07.2013 16:31, Lindenmaier, Goetz wrote: > > Hi, > > The flag introduced by 8014972 is not defined if Hotspot is built > > without a compiler (zero, ppc64 core build). > > Please open a bug for this and review the fix. > > http://cr.openjdk.java.net/~goetz/webrevs/fix_after_8014972/ > > > Best regards, > > Goetz. > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130708/f127c008/attachment.html From vladimir.kozlov at oracle.com Mon Jul 8 14:17:32 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 08 Jul 2013 14:17:32 -0700 Subject: RFR (XS): Fix after 8014972 In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF3731@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3731@DEWDFEMB12A.global.corp.sap> Message-ID: <51DB2C6C.9040400@oracle.com> Reviewed. I am pushing the fix (8020059) into hotspot-comp/hotspot thanks, Vladimir On 7/8/13 7:31 AM, Lindenmaier, Goetz wrote: > Hi, > > The flag introduced by 8014972 is not defined if Hotspot is built > > without a compiler (zero, ppc64 core build). > > Please open a bug for this and review the fix. > > http://cr.openjdk.java.net/~goetz/webrevs/fix_after_8014972/ > > Best regards, > > Goetz. > From vladimir.kozlov at oracle.com Mon Jul 8 16:37:34 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 08 Jul 2013 16:37:34 -0700 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: References: <51D657E6.2060606@oracle.com> Message-ID: <51DB4D3E.40808@oracle.com> Looks good. I started JPRT testing. Hopefully will get result tonight. Thanks, Vladimir On 7/8/13 8:42 AM, Volker Simonis wrote: > Hi David, > > thank you for the review. I prepared a new webrev according to your suggestions: > > http://cr.openjdk.java.net/~simonis/webrevs/8019922.v2/ > > Please find my comments inline: > > Thank you and best regards, > Volker > > On Fri, Jul 5, 2013 at 7:21 AM, David Holmes wrote: >> Hi Volker, >> >> This all looks fine to me. A couple of minor comments below. >> >> I will also test it but I don't expect to see any conflicts with our other >> ports. >> >> Thanks, >> David >> ----- >> >> make/defs.make >> >> Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the >> sparcv9 code and reduce this: >> >> 288 ifeq ($(BUILDARCH), ppc) >> 289 ifdef LP64 >> 290 BUILDARCH = ppc64 >> 291 else >> 292 BUILDARCH = ppc >> 293 endif >> 294 endif >> >> to >> >> 288 ifeq ($(BUILDARCH), ppc) >> 289 ifdef LP64 >> 290 BUILDARCH = ppc64 >> 291 endif >> 292 endif >> >> --- > > fixed as suggested. > >> >> make/linux/makefiles/defs.make >> >> I note you have: >> >> HS_ARCH = ppc >> >> and this is only used with the SA for which we presently have: >> >> ADD_SA_BINARIES/ppc = >> >> but you also added: >> >> ADD_SA_BINARIES/ppc64 = >> >> so was the HS_ARCH setting a typo? >> >> --- > > Well, I did it in the same way as the other architectures did it:) > > Moreover, HS_ARCH is also used in make/Makefile. > >> >> make/linux/makefiles/gcc.make >> >> You added: >> >> ARCHFLAG/ppc64 = -m64 >> >> which is fine, but then in ppc64.make you also have: >> >> CFLAGS += -m64 >> LFLAGS_VM += -m64 >> AOUT_FLAGS += -m64 >> >> which seems redundant given gcc.make has: >> >> 186 CFLAGS += $(ARCHFLAG) >> 187 AOUT_FLAGS += $(ARCHFLAG) >> 188 LFLAGS += $(ARCHFLAG) >> 189 ASFLAGS += $(ARCHFLAG) >> > > You're right. I removed the '-m64' settings from ppc64.make > Also, 'LAUNCHERFLAGS' isn't used anymore so I removed it from > pp464.make as well. > The same applies to 'AOUT_FLAGS' which isn't necessary for our build. > >> Also the initial copyright line seems suspect: >> >> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights >> reserved. >> >> Not sure how a new file can have a 2004-2011 copyright year range ?? >> > > That was a copy-paste issue. After the lengthy discussions below I > changed it to "2004, 2013" to keep things simple:) > >> >> >> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>> >>> Hi, >>> >>> can sombody please review this change. It implements the relevant >>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>> touch any existing platforms (but of course testing it on your closed >>> platforms - especially ppc - is probably necessary and much >>> appreciated). >>> >>> It also contains two small fixes for the CORE build (one is a type and >>> the other is necessary to accomodate to the changes in "8008772: >>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>> to open an extra bug for. >>> >>> Notice that this patch determines the name and location of the >>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>> 0009_linux_ppc_files.patch. >>> >>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>> >>> Thank you and best regards, >>> Volker >>> >> From david.holmes at oracle.com Mon Jul 8 18:30:24 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 09 Jul 2013 11:30:24 +1000 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: References: <51D657E6.2060606@oracle.com> Message-ID: <51DB67B0.8080902@oracle.com> Hi Volker, I'll trim to the remaining issue: On 9/07/2013 1:42 AM, Volker Simonis wrote: > On Fri, Jul 5, 2013 at 7:21 AM, David Holmes wrote: >> make/linux/makefiles/defs.make >> >> I note you have: >> >> HS_ARCH = ppc >> >> and this is only used with the SA for which we presently have: >> >> ADD_SA_BINARIES/ppc = >> >> but you also added: >> >> ADD_SA_BINARIES/ppc64 = >> >> so was the HS_ARCH setting a typo? >> >> --- > > Well, I did it in the same way as the other architectures did it:) > > Moreover, HS_ARCH is also used in make/Makefile. So this is broken. If you use HS_ARCH=ppc then you will never use the ADD_SA_BINARIES/ppc64 definition because it is selected based on HS_ARCH. This suggests you want HS_ARCH=ppc64. However, as you pointed out HS_ARCH is also used in the top-level Makefile: HS_JNI_ARCH_SRC=$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h) and I'm assuming that your cpu directory, and arch naming is using ppc here not ppc64. In which case you do want HS_ARCH=ppc. So there is a conflict. Simple solution is to delete ADD_SA_BINARIES/ppc64 but if you/we were ever to add the 32-bit PPC port and they differed in whether SA was supported, then we would have to resolve that somehow. As you know we have far too many "arch" variables in the hotspot build system, but in this case it isn't clear to me that HS_ARCH should be being used for the two situations it presently is. Thanks, David ----- >> >> make/linux/makefiles/gcc.make >> >> You added: >> >> ARCHFLAG/ppc64 = -m64 >> >> which is fine, but then in ppc64.make you also have: >> >> CFLAGS += -m64 >> LFLAGS_VM += -m64 >> AOUT_FLAGS += -m64 >> >> which seems redundant given gcc.make has: >> >> 186 CFLAGS += $(ARCHFLAG) >> 187 AOUT_FLAGS += $(ARCHFLAG) >> 188 LFLAGS += $(ARCHFLAG) >> 189 ASFLAGS += $(ARCHFLAG) >> > > You're right. I removed the '-m64' settings from ppc64.make > Also, 'LAUNCHERFLAGS' isn't used anymore so I removed it from > pp464.make as well. > The same applies to 'AOUT_FLAGS' which isn't necessary for our build. > >> Also the initial copyright line seems suspect: >> >> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights >> reserved. >> >> Not sure how a new file can have a 2004-2011 copyright year range ?? >> > > That was a copy-paste issue. After the lengthy discussions below I > changed it to "2004, 2013" to keep things simple:) > >> >> >> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>> >>> Hi, >>> >>> can sombody please review this change. It implements the relevant >>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>> touch any existing platforms (but of course testing it on your closed >>> platforms - especially ppc - is probably necessary and much >>> appreciated). >>> >>> It also contains two small fixes for the CORE build (one is a type and >>> the other is necessary to accomodate to the changes in "8008772: >>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>> to open an extra bug for. >>> >>> Notice that this patch determines the name and location of the >>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>> 0009_linux_ppc_files.patch. >>> >>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>> >>> Thank you and best regards, >>> Volker >>> >> From david.holmes at oracle.com Mon Jul 8 18:56:23 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 09 Jul 2013 11:56:23 +1000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> Message-ID: <51DB6DC7.1020900@oracle.com> Hi Goetz, On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: > Hi, > > This is in preparation of the PPC AIX port. > > A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. A curious thing to do ;-) Aside: presumably this is included in turn by other standard headers, not directly included - otherwise we could just undef IA64 after the include. > This leads to wrong configurations of shared files on Aix where IA64 is used. > This change replaces uses of "IA64" by "IA64 && !AIX". Might be simpler if we just eradicate the IA64 remnants in the code. I think we may even have a RFE for this. AFAIK there are no remaining users of the IA64 code in the hotspot codebase. > To reduce the complexity we propose to simplify two matters: > > Since the initial checkin objectMonitor.cpp and synchronizer.cpp > define #define ATTR __attribute__((noinline)) claiming this is needed > to avoid a gcc build time error with - at that time - old gcc versions. > This define depends on IA64. We remove it altogether. Well it doesn't "depend" on IA64: #if defined(__GNUC__) && !defined(IA64) // Need to inhibit inlining for older versions of GCC to avoid build-time failures #define ATTR __attribute__((noinline)) #else #define ATTR #endif it becomes empty on IA64 (and non gcc systems). So removing it altogether is changing things for all the other gcc using platforms. Now it may be that we don't need to preclude inlining of these methods any more to avoid build-failures, but we may still want to avoid inlining them for other reasons! So this aspect needs further investigation. Or you can just leave it as-is - if you have IA64 always defined then you will get the empty #else part. Or if we go with the "eradicate IA64" path then you can change IA64 to AIX (though it is odd to exchange an architecture check with an OS check). > prims/forte.cpp uses a lot of different mechanisms all disabling forte > support on windows, apple and ia64. We would have to add Aix. > Instead, we propose to use a check for the supported platforms (see webrev). > We could also add a macro SUPPORTS_FORTE that is defined in the corresponding > makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 > directories. Again if we just get rid of IA64 this will be a non-issue right? Thanks, David > Are there other platforms that need to be supported? I derived the platforms > from the comment in forte.cpp. > > Please review this change. I'm happy to incorporate your comments. > http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset > > Best regards, > Goetz. > From vladimir.kozlov at oracle.com Mon Jul 8 21:24:26 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 08 Jul 2013 21:24:26 -0700 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51DB4D3E.40808@oracle.com> References: <51D657E6.2060606@oracle.com> <51DB4D3E.40808@oracle.com> Message-ID: <51DB907A.2080208@oracle.com> Tests passed (included our ppc builds and testing). Vladimir On 7/8/13 4:37 PM, Vladimir Kozlov wrote: > Looks good. > > I started JPRT testing. Hopefully will get result tonight. > > Thanks, > Vladimir > > On 7/8/13 8:42 AM, Volker Simonis wrote: >> Hi David, >> >> thank you for the review. I prepared a new webrev according to your suggestions: >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019922.v2/ >> >> Please find my comments inline: >> >> Thank you and best regards, >> Volker >> >> On Fri, Jul 5, 2013 at 7:21 AM, David Holmes wrote: >>> Hi Volker, >>> >>> This all looks fine to me. A couple of minor comments below. >>> >>> I will also test it but I don't expect to see any conflicts with our other >>> ports. >>> >>> Thanks, >>> David >>> ----- >>> >>> make/defs.make >>> >>> Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the >>> sparcv9 code and reduce this: >>> >>> 288 ifeq ($(BUILDARCH), ppc) >>> 289 ifdef LP64 >>> 290 BUILDARCH = ppc64 >>> 291 else >>> 292 BUILDARCH = ppc >>> 293 endif >>> 294 endif >>> >>> to >>> >>> 288 ifeq ($(BUILDARCH), ppc) >>> 289 ifdef LP64 >>> 290 BUILDARCH = ppc64 >>> 291 endif >>> 292 endif >>> >>> --- >> >> fixed as suggested. >> >>> >>> make/linux/makefiles/defs.make >>> >>> I note you have: >>> >>> HS_ARCH = ppc >>> >>> and this is only used with the SA for which we presently have: >>> >>> ADD_SA_BINARIES/ppc = >>> >>> but you also added: >>> >>> ADD_SA_BINARIES/ppc64 = >>> >>> so was the HS_ARCH setting a typo? >>> >>> --- >> >> Well, I did it in the same way as the other architectures did it:) >> >> Moreover, HS_ARCH is also used in make/Makefile. >> >>> >>> make/linux/makefiles/gcc.make >>> >>> You added: >>> >>> ARCHFLAG/ppc64 = -m64 >>> >>> which is fine, but then in ppc64.make you also have: >>> >>> CFLAGS += -m64 >>> LFLAGS_VM += -m64 >>> AOUT_FLAGS += -m64 >>> >>> which seems redundant given gcc.make has: >>> >>> 186 CFLAGS += $(ARCHFLAG) >>> 187 AOUT_FLAGS += $(ARCHFLAG) >>> 188 LFLAGS += $(ARCHFLAG) >>> 189 ASFLAGS += $(ARCHFLAG) >>> >> >> You're right. I removed the '-m64' settings from ppc64.make >> Also, 'LAUNCHERFLAGS' isn't used anymore so I removed it from >> pp464.make as well. >> The same applies to 'AOUT_FLAGS' which isn't necessary for our build. >> >>> Also the initial copyright line seems suspect: >>> >>> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights >>> reserved. >>> >>> Not sure how a new file can have a 2004-2011 copyright year range ?? >>> >> >> That was a copy-paste issue. After the lengthy discussions below I >> changed it to "2004, 2013" to keep things simple:) >> >>> >>> >>> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>>> >>>> Hi, >>>> >>>> can sombody please review this change. It implements the relevant >>>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>>> touch any existing platforms (but of course testing it on your closed >>>> platforms - especially ppc - is probably necessary and much >>>> appreciated). >>>> >>>> It also contains two small fixes for the CORE build (one is a type and >>>> the other is necessary to accomodate to the changes in "8008772: >>>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>>> to open an extra bug for. >>>> >>>> Notice that this patch determines the name and location of the >>>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>>> 0009_linux_ppc_files.patch. >>>> >>>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>>> >>>> Thank you and best regards, >>>> Volker >>>> >>> From goetz.lindenmaier at sap.com Tue Jul 9 00:29:49 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 9 Jul 2013 07:29:49 +0000 Subject: RFR (XS): Fix after 8014972 In-Reply-To: <51DB2C6C.9040400@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF3731@DEWDFEMB12A.global.corp.sap> <51DB2C6C.9040400@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF3CFE@DEWDFEMB12A.global.corp.sap> Very nice, that was fast! Thanks a lot! Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Montag, 8. Juli 2013 23:18 To: Lindenmaier, Goetz Cc: 'hotspot-dev at openjdk.java.net'; ppc-aix-port-dev at openjdk.java.net Subject: Re: RFR (XS): Fix after 8014972 Reviewed. I am pushing the fix (8020059) into hotspot-comp/hotspot thanks, Vladimir On 7/8/13 7:31 AM, Lindenmaier, Goetz wrote: > Hi, > > The flag introduced by 8014972 is not defined if Hotspot is built > > without a compiler (zero, ppc64 core build). > > Please open a bug for this and review the fix. > > http://cr.openjdk.java.net/~goetz/webrevs/fix_after_8014972/ > > Best regards, > > Goetz. > From goetz.lindenmaier at sap.com Tue Jul 9 02:56:27 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 9 Jul 2013 09:56:27 +0000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <51DB6DC7.1020900@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> Hi David, > A curious thing to do ;-) Yes, I agree. > Aside: presumably this is included in turn by other standard headers, > not directly included - otherwise we could just undef IA64 after the > include. Yes, that's the case. > Might be simpler if we just eradicate the IA64 remnants in the code. I > think we may even have a RFE for this. AFAIK there are no remaining > users of the IA64 code in the hotspot codebase. Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win Ia64. 8 in development, all soon based on hs25. We also contributed to the change cleaning up the IA64 defines. There are only such left we need in our code. http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 > #if defined(__GNUC__) && !defined(IA64) You are right, I could just leave it as is, except if __GNUC__ is define on AIX, who knows ;). If we don't remove it, I need to add !PPC64 so that it's inlined in our port on linux. > more to avoid build-failures, but we may still want to avoid inlining > them for other reasons! So this aspect needs further investigation. Or I think it's a good idea to clean it up. The build problem is documented. There may be 'other reasons', but unexpected issues can be there with any change. > > prims/forte.cpp uses a lot of different mechanisms all disabling forte > Again if we just get rid of IA64 this will be a non-issue right? Here I would add !AIX. But have a look at the file, there are also several other platforms where this is excluded, and the exclusion is implemented differently on each platform. Not that nice ... Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing functional. Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Dienstag, 9. Juli 2013 03:56 To: Lindenmaier, Goetz Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. Hi Goetz, On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: > Hi, > > This is in preparation of the PPC AIX port. > > A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. A curious thing to do ;-) Aside: presumably this is included in turn by other standard headers, not directly included - otherwise we could just undef IA64 after the include. > This leads to wrong configurations of shared files on Aix where IA64 is used. > This change replaces uses of "IA64" by "IA64 && !AIX". Might be simpler if we just eradicate the IA64 remnants in the code. I think we may even have a RFE for this. AFAIK there are no remaining users of the IA64 code in the hotspot codebase. > To reduce the complexity we propose to simplify two matters: > > Since the initial checkin objectMonitor.cpp and synchronizer.cpp > define #define ATTR __attribute__((noinline)) claiming this is needed > to avoid a gcc build time error with - at that time - old gcc versions. > This define depends on IA64. We remove it altogether. Well it doesn't "depend" on IA64: #if defined(__GNUC__) && !defined(IA64) // Need to inhibit inlining for older versions of GCC to avoid build-time failures #define ATTR __attribute__((noinline)) #else #define ATTR #endif it becomes empty on IA64 (and non gcc systems). So removing it altogether is changing things for all the other gcc using platforms. Now it may be that we don't need to preclude inlining of these methods any more to avoid build-failures, but we may still want to avoid inlining them for other reasons! So this aspect needs further investigation. Or you can just leave it as-is - if you have IA64 always defined then you will get the empty #else part. Or if we go with the "eradicate IA64" path then you can change IA64 to AIX (though it is odd to exchange an architecture check with an OS check). > prims/forte.cpp uses a lot of different mechanisms all disabling forte > support on windows, apple and ia64. We would have to add Aix. > Instead, we propose to use a check for the supported platforms (see webrev). > We could also add a macro SUPPORTS_FORTE that is defined in the corresponding > makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 > directories. Again if we just get rid of IA64 this will be a non-issue right? Thanks, David > Are there other platforms that need to be supported? I derived the platforms > from the comment in forte.cpp. > > Please review this change. I'm happy to incorporate your comments. > http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset > > Best regards, > Goetz. > From david.holmes at oracle.com Tue Jul 9 05:08:03 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 09 Jul 2013 22:08:03 +1000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> Message-ID: <51DBFD23.90407@oracle.com> On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: > Hi David, > >> A curious thing to do ;-) > Yes, I agree. > >> Aside: presumably this is included in turn by other standard headers, >> not directly included - otherwise we could just undef IA64 after the >> include. > Yes, that's the case. > >> Might be simpler if we just eradicate the IA64 remnants in the code. I >> think we may even have a RFE for this. AFAIK there are no remaining >> users of the IA64 code in the hotspot codebase. > Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win > Ia64. 8 in development, all soon based on hs25. We also contributed to > the change cleaning up the IA64 defines. There are only such left > we need in our code. > http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 I'm somewhat perplexed. The IA64 uses you still see in the hotspot sources are ancient remnants of the IA64 support. Most of it has been stripped out completely. So how anyone could be using any of this is, as I said, perplexing ??? >> #if defined(__GNUC__) && !defined(IA64) > You are right, I could just leave it as is, except if __GNUC__ is define on AIX, > who knows ;). If we don't remove it, I need to add !PPC64 so that it's > inlined in our port on linux. >> more to avoid build-failures, but we may still want to avoid inlining >> them for other reasons! So this aspect needs further investigation. Or > I think it's a good idea to clean it up. The build problem > is documented. There may be 'other reasons', but unexpected issues > can be there with any change. But the aim is to avoid making gratuitous changes to code that is not part of the ppc64/AIX port. If you start inlining these functions you don't know what the impact will be. So why change them when it is not necessary. David ----- >>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >> Again if we just get rid of IA64 this will be a non-issue right? > Here I would add !AIX. > But have a look at the file, there are also several other platforms > where this is excluded, and the exclusion is implemented differently > on each platform. Not that nice ... > > Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing > functional. > > Best regards, > Goetz. > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Dienstag, 9. Juli 2013 03:56 > To: Lindenmaier, Goetz > Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > Hi Goetz, > > On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >> Hi, >> >> This is in preparation of the PPC AIX port. >> >> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. > > A curious thing to do ;-) > > Aside: presumably this is included in turn by other standard headers, > not directly included - otherwise we could just undef IA64 after the > include. > >> This leads to wrong configurations of shared files on Aix where IA64 is used. >> This change replaces uses of "IA64" by "IA64 && !AIX". > > Might be simpler if we just eradicate the IA64 remnants in the code. I > think we may even have a RFE for this. AFAIK there are no remaining > users of the IA64 code in the hotspot codebase. > >> To reduce the complexity we propose to simplify two matters: >> >> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >> define #define ATTR __attribute__((noinline)) claiming this is needed >> to avoid a gcc build time error with - at that time - old gcc versions. >> This define depends on IA64. We remove it altogether. > > Well it doesn't "depend" on IA64: > > #if defined(__GNUC__) && !defined(IA64) > // Need to inhibit inlining for older versions of GCC to avoid > build-time failures > #define ATTR __attribute__((noinline)) > #else > #define ATTR > #endif > > it becomes empty on IA64 (and non gcc systems). So removing it > altogether is changing things for all the other gcc using platforms. Now > it may be that we don't need to preclude inlining of these methods any > more to avoid build-failures, but we may still want to avoid inlining > them for other reasons! So this aspect needs further investigation. Or > you can just leave it as-is - if you have IA64 always defined then you > will get the empty #else part. Or if we go with the "eradicate IA64" > path then you can change IA64 to AIX (though it is odd to exchange an > architecture check with an OS check). > >> prims/forte.cpp uses a lot of different mechanisms all disabling forte >> support on windows, apple and ia64. We would have to add Aix. >> Instead, we propose to use a check for the supported platforms (see webrev). >> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >> directories. > > Again if we just get rid of IA64 this will be a non-issue right? > > Thanks, > David > >> Are there other platforms that need to be supported? I derived the platforms >> from the comment in forte.cpp. >> >> Please review this change. I'm happy to incorporate your comments. >> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >> >> Best regards, >> Goetz. >> From volker.simonis at gmail.com Tue Jul 9 05:15:57 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 9 Jul 2013 14:15:57 +0200 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <51DBFD23.90407@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> Message-ID: On Tue, Jul 9, 2013 at 2:08 PM, David Holmes wrote: > On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >> >> Hi David, >> >>> A curious thing to do ;-) >> >> Yes, I agree. >> >>> Aside: presumably this is included in turn by other standard headers, >>> not directly included - otherwise we could just undef IA64 after the >>> include. >> >> Yes, that's the case. >> >>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>> think we may even have a RFE for this. AFAIK there are no remaining >>> users of the IA64 code in the hotspot codebase. >> >> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >> Ia64. 8 in development, all soon based on hs25. We also contributed to >> the change cleaning up the IA64 defines. There are only such left >> we need in our code. >> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 > > > I'm somewhat perplexed. The IA64 uses you still see in the hotspot sources > are ancient remnants of the IA64 support. Most of it has been stripped out > completely. So how anyone could be using any of this is, as I said, > perplexing ??? > You're too Oracle-centric, but it's not only Oracle who has closed HotSpot ports:) > >>> #if defined(__GNUC__) && !defined(IA64) >> >> You are right, I could just leave it as is, except if __GNUC__ is define >> on AIX, >> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >> inlined in our port on linux. >>> >>> more to avoid build-failures, but we may still want to avoid inlining >>> them for other reasons! So this aspect needs further investigation. Or >> >> I think it's a good idea to clean it up. The build problem >> is documented. There may be 'other reasons', but unexpected issues >> can be there with any change. > > > But the aim is to avoid making gratuitous changes to code that is not part > of the ppc64/AIX port. If you start inlining these functions you don't know > what the impact will be. So why change them when it is not necessary. > > David > ----- > > >>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> >>> Again if we just get rid of IA64 this will be a non-issue right? >> >> Here I would add !AIX. >> But have a look at the file, there are also several other platforms >> where this is excluded, and the exclusion is implemented differently >> on each platform. Not that nice ... >> >> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >> functional. >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 9. Juli 2013 03:56 >> To: Lindenmaier, Goetz >> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; >> Vladimir Kozlov >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor >> conditionals on AIX. >> >> Hi Goetz, >> >> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>> >>> Hi, >>> >>> This is in preparation of the PPC AIX port. >>> >>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" >>> unconditionally. >> >> >> A curious thing to do ;-) >> >> Aside: presumably this is included in turn by other standard headers, >> not directly included - otherwise we could just undef IA64 after the >> include. >> >>> This leads to wrong configurations of shared files on Aix where IA64 is >>> used. >>> This change replaces uses of "IA64" by "IA64 && !AIX". >> >> >> Might be simpler if we just eradicate the IA64 remnants in the code. I >> think we may even have a RFE for this. AFAIK there are no remaining >> users of the IA64 code in the hotspot codebase. >> >>> To reduce the complexity we propose to simplify two matters: >>> >>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>> define #define ATTR __attribute__((noinline)) claiming this is needed >>> to avoid a gcc build time error with - at that time - old gcc versions. >>> This define depends on IA64. We remove it altogether. >> >> >> Well it doesn't "depend" on IA64: >> >> #if defined(__GNUC__) && !defined(IA64) >> // Need to inhibit inlining for older versions of GCC to avoid >> build-time failures >> #define ATTR __attribute__((noinline)) >> #else >> #define ATTR >> #endif >> >> it becomes empty on IA64 (and non gcc systems). So removing it >> altogether is changing things for all the other gcc using platforms. Now >> it may be that we don't need to preclude inlining of these methods any >> more to avoid build-failures, but we may still want to avoid inlining >> them for other reasons! So this aspect needs further investigation. Or >> you can just leave it as-is - if you have IA64 always defined then you >> will get the empty #else part. Or if we go with the "eradicate IA64" >> path then you can change IA64 to AIX (though it is odd to exchange an >> architecture check with an OS check). >> >>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> support on windows, apple and ia64. We would have to add Aix. >>> Instead, we propose to use a check for the supported platforms (see >>> webrev). >>> We could also add a macro SUPPORTS_FORTE that is defined in the >>> corresponding >>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>> directories. >> >> >> Again if we just get rid of IA64 this will be a non-issue right? >> >> Thanks, >> David >> >>> Are there other platforms that need to be supported? I derived the >>> platforms >>> from the comment in forte.cpp. >>> >>> Please review this change. I'm happy to incorporate your comments. >>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>> >>> Best regards, >>> Goetz. >>> > From goetz.lindenmaier at sap.com Tue Jul 9 05:38:37 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 9 Jul 2013 12:38:37 +0000 Subject: Please create new BugIDs In-Reply-To: <51D6C766.1020802@oracle.com> References: <51D54200.8090200@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2928@DEWDFEMB12A.global.corp.sap> <51D6C766.1020802@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF407E@DEWDFEMB12A.global.corp.sap> Hi, I please need a bugid, I broke the cppInterpreter build (three cheers for JPRT). PPC64: fix build in cppInterpreter after 8019519 Vladimir, should there be a (part 105-2) in the synopsis? There is no such patch, though. http://cr.openjdk.java.net/~goetz/webrevs/cppInterp_fix_ts/ Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130709/f2c45b45/attachment.html From albert.noll at oracle.com Tue Jul 9 05:46:55 2013 From: albert.noll at oracle.com (Albert Noll) Date: Tue, 09 Jul 2013 14:46:55 +0200 Subject: Please create new BugIDs In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF407E@DEWDFEMB12A.global.corp.sap> References: <51D54200.8090200@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2928@DEWDFEMB12A.global.corp.sap> <51D6C766.1020802@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF407E@DEWDFEMB12A.global.corp.sap> Message-ID: <51DC063F.4010400@oracle.com> Hi Goetz, here is the new bug id. I used the synopsis as you proposed. 8020121 Best, Albert On 09.07.2013 14:38, Lindenmaier, Goetz wrote: > > Hi, > > I please need a bugid, I broke the cppInterpreter build > > (three cheers for JPRT). > > PPC64: fix build in cppInterpreter after8019519 > > Vladimir, should there be a (part 105-2) in the synopsis? > There is no such patch, though. > > http://cr.openjdk.java.net/~goetz/webrevs/cppInterp_fix_ts/ > > Best regards, > Goetz. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130709/f2db797f/attachment-0001.html From volker.simonis at gmail.com Tue Jul 9 06:09:31 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 9 Jul 2013 15:09:31 +0200 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51DB67B0.8080902@oracle.com> References: <51D657E6.2060606@oracle.com> <51DB67B0.8080902@oracle.com> Message-ID: On Tue, Jul 9, 2013 at 3:30 AM, David Holmes wrote: > Hi Volker, > > I'll trim to the remaining issue: > > > On 9/07/2013 1:42 AM, Volker Simonis wrote: >> >> On Fri, Jul 5, 2013 at 7:21 AM, David Holmes >> wrote: >>> >>> make/linux/makefiles/defs.make >>> >>> I note you have: >>> >>> HS_ARCH = ppc >>> >>> and this is only used with the SA for which we presently have: >>> >>> ADD_SA_BINARIES/ppc = >>> >>> but you also added: >>> >>> ADD_SA_BINARIES/ppc64 = >>> >>> so was the HS_ARCH setting a typo? >>> >>> --- >> >> >> Well, I did it in the same way as the other architectures did it:) >> >> Moreover, HS_ARCH is also used in make/Makefile. > > > So this is broken. If you use HS_ARCH=ppc then you will never use the > > ADD_SA_BINARIES/ppc64 > > definition because it is selected based on HS_ARCH. This suggests you want > HS_ARCH=ppc64. > > However, as you pointed out HS_ARCH is also used in the top-level Makefile: > > HS_JNI_ARCH_SRC=$(call > altsrc-replace,$(HS_COMMON_SRC)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h) > > and I'm assuming that your cpu directory, and arch naming is using ppc here > not ppc64. In which case you do want HS_ARCH=ppc. > > So there is a conflict. Simple solution is to delete > > ADD_SA_BINARIES/ppc64 > > but if you/we were ever to add the 32-bit PPC port and they differed in > whether SA was supported, then we would have to resolve that somehow. As you > know we have far too many "arch" variables in the hotspot build system, but > in this case it isn't clear to me that HS_ARCH should be being used for the > two situations it presently is. > OK, I'll remove ADD_SA_BINARIES/ppc64 and wait with the general fix until you add the 32-bit PPC port AND only one of the two ports will exclusivley support SA (whenever that will happen:) Ready to push now? Thank you and best regards, Volker > Thanks, > David > ----- > > >>> >>> make/linux/makefiles/gcc.make >>> >>> You added: >>> >>> ARCHFLAG/ppc64 = -m64 >>> >>> which is fine, but then in ppc64.make you also have: >>> >>> CFLAGS += -m64 >>> LFLAGS_VM += -m64 >>> AOUT_FLAGS += -m64 >>> >>> which seems redundant given gcc.make has: >>> >>> 186 CFLAGS += $(ARCHFLAG) >>> 187 AOUT_FLAGS += $(ARCHFLAG) >>> 188 LFLAGS += $(ARCHFLAG) >>> 189 ASFLAGS += $(ARCHFLAG) >>> >> >> You're right. I removed the '-m64' settings from ppc64.make >> Also, 'LAUNCHERFLAGS' isn't used anymore so I removed it from >> pp464.make as well. >> The same applies to 'AOUT_FLAGS' which isn't necessary for our build. >> >>> Also the initial copyright line seems suspect: >>> >>> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All >>> rights >>> reserved. >>> >>> Not sure how a new file can have a 2004-2011 copyright year range ?? >>> >> >> That was a copy-paste issue. After the lengthy discussions below I >> changed it to "2004, 2013" to keep things simple:) >> >>> >>> >>> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>>> >>>> >>>> Hi, >>>> >>>> can sombody please review this change. It implements the relevant >>>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>>> touch any existing platforms (but of course testing it on your closed >>>> platforms - especially ppc - is probably necessary and much >>>> appreciated). >>>> >>>> It also contains two small fixes for the CORE build (one is a type and >>>> the other is necessary to accomodate to the changes in "8008772: >>>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>>> to open an extra bug for. >>>> >>>> Notice that this patch determines the name and location of the >>>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>>> 0009_linux_ppc_files.patch. >>>> >>>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>>> >>>> Thank you and best regards, >>>> Volker >>>> >>> > From goetz.lindenmaier at sap.com Tue Jul 9 06:12:51 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 9 Jul 2013 13:12:51 +0000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <51DBFD23.90407@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> Hi, Here a webrev without the cleanups: http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Dienstag, 9. Juli 2013 14:08 To: Lindenmaier, Goetz Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: > Hi David, > >> A curious thing to do ;-) > Yes, I agree. > >> Aside: presumably this is included in turn by other standard headers, >> not directly included - otherwise we could just undef IA64 after the >> include. > Yes, that's the case. > >> Might be simpler if we just eradicate the IA64 remnants in the code. I >> think we may even have a RFE for this. AFAIK there are no remaining >> users of the IA64 code in the hotspot codebase. > Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win > Ia64. 8 in development, all soon based on hs25. We also contributed to > the change cleaning up the IA64 defines. There are only such left > we need in our code. > http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 I'm somewhat perplexed. The IA64 uses you still see in the hotspot sources are ancient remnants of the IA64 support. Most of it has been stripped out completely. So how anyone could be using any of this is, as I said, perplexing ??? >> #if defined(__GNUC__) && !defined(IA64) > You are right, I could just leave it as is, except if __GNUC__ is define on AIX, > who knows ;). If we don't remove it, I need to add !PPC64 so that it's > inlined in our port on linux. >> more to avoid build-failures, but we may still want to avoid inlining >> them for other reasons! So this aspect needs further investigation. Or > I think it's a good idea to clean it up. The build problem > is documented. There may be 'other reasons', but unexpected issues > can be there with any change. But the aim is to avoid making gratuitous changes to code that is not part of the ppc64/AIX port. If you start inlining these functions you don't know what the impact will be. So why change them when it is not necessary. David ----- >>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >> Again if we just get rid of IA64 this will be a non-issue right? > Here I would add !AIX. > But have a look at the file, there are also several other platforms > where this is excluded, and the exclusion is implemented differently > on each platform. Not that nice ... > > Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing > functional. > > Best regards, > Goetz. > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Dienstag, 9. Juli 2013 03:56 > To: Lindenmaier, Goetz > Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > Hi Goetz, > > On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >> Hi, >> >> This is in preparation of the PPC AIX port. >> >> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. > > A curious thing to do ;-) > > Aside: presumably this is included in turn by other standard headers, > not directly included - otherwise we could just undef IA64 after the > include. > >> This leads to wrong configurations of shared files on Aix where IA64 is used. >> This change replaces uses of "IA64" by "IA64 && !AIX". > > Might be simpler if we just eradicate the IA64 remnants in the code. I > think we may even have a RFE for this. AFAIK there are no remaining > users of the IA64 code in the hotspot codebase. > >> To reduce the complexity we propose to simplify two matters: >> >> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >> define #define ATTR __attribute__((noinline)) claiming this is needed >> to avoid a gcc build time error with - at that time - old gcc versions. >> This define depends on IA64. We remove it altogether. > > Well it doesn't "depend" on IA64: > > #if defined(__GNUC__) && !defined(IA64) > // Need to inhibit inlining for older versions of GCC to avoid > build-time failures > #define ATTR __attribute__((noinline)) > #else > #define ATTR > #endif > > it becomes empty on IA64 (and non gcc systems). So removing it > altogether is changing things for all the other gcc using platforms. Now > it may be that we don't need to preclude inlining of these methods any > more to avoid build-failures, but we may still want to avoid inlining > them for other reasons! So this aspect needs further investigation. Or > you can just leave it as-is - if you have IA64 always defined then you > will get the empty #else part. Or if we go with the "eradicate IA64" > path then you can change IA64 to AIX (though it is odd to exchange an > architecture check with an OS check). > >> prims/forte.cpp uses a lot of different mechanisms all disabling forte >> support on windows, apple and ia64. We would have to add Aix. >> Instead, we propose to use a check for the supported platforms (see webrev). >> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >> directories. > > Again if we just get rid of IA64 this will be a non-issue right? > > Thanks, > David > >> Are there other platforms that need to be supported? I derived the platforms >> from the comment in forte.cpp. >> >> Please review this change. I'm happy to incorporate your comments. >> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >> >> Best regards, >> Goetz. >> From goetz.lindenmaier at sap.com Tue Jul 9 06:24:54 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 9 Jul 2013 13:24:54 +0000 Subject: RFR (XS): 8020121: PPC64: fix build in cppInterpreter after 8019519 Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF4221@DEWDFEMB12A.global.corp.sap> Hi, I please need a review for this small change: http://cr.openjdk.java.net/~goetz/webrevs/8020121-fix_ts/ I broke the build of the cppInterpreter only in the ppc staging repository by 8019519. This fixes it again. Thanks & best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130709/5325df51/attachment.html From goetz.lindenmaier at sap.com Tue Jul 9 06:26:23 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 09 Jul 2013 13:26:23 +0000 Subject: hg: ppc-aix-port/jdk8/hotspot: Recent changes to patch queue Message-ID: <20130709132630.7F9C9488F1@hg.openjdk.java.net> Changeset: 48f6312a5673 Author: goetz Date: 2013-07-09 15:25 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/48f6312a5673 Recent changes to patch queue + ppc_patches/0004-2_fixFlag_core_build.patch ! ppc_patches/0009_linux_ppc_files.patch ! ppc_patches/0011_AIX_IA64_preprocessor_conditionals.patch ! ppc_patches/0013_basic_Aix_adaptions.patch ! ppc_patches/0015_aix_ppc_files.patch ! ppc_patches/0122_PPC-C2_compiler_port-ppc_files.patch ! ppc_patches/0201_C_interpreter-implement_bytecode_profiling.patch ! ppc_patches/0202_C_interpreter-support_OSR_.patch ! ppc_patches/0213_C_interpreter-memory_ordering.patch ! ppc_patches/series From vladimir.kozlov at oracle.com Tue Jul 9 07:44:37 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 09 Jul 2013 07:44:37 -0700 Subject: RFR (XS): 8020121: PPC64: fix build in cppInterpreter after 8019519 In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF4221@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF4221@DEWDFEMB12A.global.corp.sap> Message-ID: <51DC21D5.1060206@oracle.com> Good. Vladimir On 7/9/13 6:24 AM, Lindenmaier, Goetz wrote: > Hi, > > I please need a review for this small change: > > http://cr.openjdk.java.net/~goetz/webrevs/8020121-fix_ts/ > > I broke the build of the cppInterpreter only in the ppc staging > > repository by 8019519. This fixes it again. > > Thanks & best regards, > > Goetz. > From serguei.spitsyn at oracle.com Tue Jul 9 10:38:02 2013 From: serguei.spitsyn at oracle.com (serguei.spitsyn at oracle.com) Date: Tue, 09 Jul 2013 10:38:02 -0700 Subject: RFR (XS): 8020121: PPC64: fix build in cppInterpreter after 8019519 In-Reply-To: <51DC21D5.1060206@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF4221@DEWDFEMB12A.global.corp.sap> <51DC21D5.1060206@oracle.com> Message-ID: <51DC4A7A.60702@oracle.com> The fix is good. Thanks, Serguei On 7/9/13 7:44 AM, Vladimir Kozlov wrote: > Good. > > Vladimir > > On 7/9/13 6:24 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> I please need a review for this small change: >> >> http://cr.openjdk.java.net/~goetz/webrevs/8020121-fix_ts/ >> >> I broke the build of the cppInterpreter only in the ppc staging >> >> repository by 8019519. This fixes it again. >> >> Thanks & best regards, >> >> Goetz. >> From goetz.lindenmaier at sap.com Tue Jul 9 09:17:18 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 09 Jul 2013 16:17:18 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 8020121: PPC64: fix build in cppInterpreter after 8019519 Message-ID: <20130709161724.44CAA488FF@hg.openjdk.java.net> Changeset: 0014add32e54 Author: goetz Date: 2013-07-09 14:28 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/0014add32e54 8020121: PPC64: fix build in cppInterpreter after 8019519 Reviewed-by: kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp From volker.simonis at gmail.com Wed Jul 10 08:28:13 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 10 Jul 2013 17:28:13 +0200 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: <51DB907A.2080208@oracle.com> References: <51D657E6.2060606@oracle.com> <51DB4D3E.40808@oracle.com> <51DB907A.2080208@oracle.com> Message-ID: Hi Vladimir, do you want to push this change or should I do it? Here's the last version with (including David's suggestion of removing ''ADD_SA_BINARIES/ppc64"): http://cr.openjdk.java.net/~simonis/webrevs/8019922.v3/ Thank you and best regards, Volker On Tue, Jul 9, 2013 at 6:24 AM, Vladimir Kozlov wrote: > Tests passed (included our ppc builds and testing). > > Vladimir > > > On 7/8/13 4:37 PM, Vladimir Kozlov wrote: >> >> Looks good. >> >> I started JPRT testing. Hopefully will get result tonight. >> >> Thanks, >> Vladimir >> >> On 7/8/13 8:42 AM, Volker Simonis wrote: >>> >>> Hi David, >>> >>> thank you for the review. I prepared a new webrev according to your >>> suggestions: >>> >>> http://cr.openjdk.java.net/~simonis/webrevs/8019922.v2/ >>> >>> Please find my comments inline: >>> >>> Thank you and best regards, >>> Volker >>> >>> On Fri, Jul 5, 2013 at 7:21 AM, David Holmes >>> wrote: >>>> >>>> Hi Volker, >>>> >>>> This all looks fine to me. A couple of minor comments below. >>>> >>>> I will also test it but I don't expect to see any conflicts with our >>>> other >>>> ports. >>>> >>>> Thanks, >>>> David >>>> ----- >>>> >>>> make/defs.make >>>> >>>> Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the >>>> sparcv9 code and reduce this: >>>> >>>> 288 ifeq ($(BUILDARCH), ppc) >>>> 289 ifdef LP64 >>>> 290 BUILDARCH = ppc64 >>>> 291 else >>>> 292 BUILDARCH = ppc >>>> 293 endif >>>> 294 endif >>>> >>>> to >>>> >>>> 288 ifeq ($(BUILDARCH), ppc) >>>> 289 ifdef LP64 >>>> 290 BUILDARCH = ppc64 >>>> 291 endif >>>> 292 endif >>>> >>>> --- >>> >>> >>> fixed as suggested. >>> >>>> >>>> make/linux/makefiles/defs.make >>>> >>>> I note you have: >>>> >>>> HS_ARCH = ppc >>>> >>>> and this is only used with the SA for which we presently have: >>>> >>>> ADD_SA_BINARIES/ppc = >>>> >>>> but you also added: >>>> >>>> ADD_SA_BINARIES/ppc64 = >>>> >>>> so was the HS_ARCH setting a typo? >>>> >>>> --- >>> >>> >>> Well, I did it in the same way as the other architectures did it:) >>> >>> Moreover, HS_ARCH is also used in make/Makefile. >>> >>>> >>>> make/linux/makefiles/gcc.make >>>> >>>> You added: >>>> >>>> ARCHFLAG/ppc64 = -m64 >>>> >>>> which is fine, but then in ppc64.make you also have: >>>> >>>> CFLAGS += -m64 >>>> LFLAGS_VM += -m64 >>>> AOUT_FLAGS += -m64 >>>> >>>> which seems redundant given gcc.make has: >>>> >>>> 186 CFLAGS += $(ARCHFLAG) >>>> 187 AOUT_FLAGS += $(ARCHFLAG) >>>> 188 LFLAGS += $(ARCHFLAG) >>>> 189 ASFLAGS += $(ARCHFLAG) >>>> >>> >>> You're right. I removed the '-m64' settings from ppc64.make >>> Also, 'LAUNCHERFLAGS' isn't used anymore so I removed it from >>> pp464.make as well. >>> The same applies to 'AOUT_FLAGS' which isn't necessary for our build. >>> >>>> Also the initial copyright line seems suspect: >>>> >>>> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All >>>> rights >>>> reserved. >>>> >>>> Not sure how a new file can have a 2004-2011 copyright year range ?? >>>> >>> >>> That was a copy-paste issue. After the lengthy discussions below I >>> changed it to "2004, 2013" to keep things simple:) >>> >>>> >>>> >>>> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>>>> >>>>> >>>>> Hi, >>>>> >>>>> can sombody please review this change. It implements the relevant >>>>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>>>> touch any existing platforms (but of course testing it on your closed >>>>> platforms - especially ppc - is probably necessary and much >>>>> appreciated). >>>>> >>>>> It also contains two small fixes for the CORE build (one is a type and >>>>> the other is necessary to accomodate to the changes in "8008772: >>>>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>>>> to open an extra bug for. >>>>> >>>>> Notice that this patch determines the name and location of the >>>>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>>>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>>>> 0009_linux_ppc_files.patch. >>>>> >>>>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>>>> >>>>> Thank you and best regards, >>>>> Volker >>>>> >>>> > From volker.simonis at gmail.com Wed Jul 10 08:29:26 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 10 Jul 2013 17:29:26 +0200 Subject: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch In-Reply-To: <51D3515F.10402@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFE9848@DEWDFEMB12A.global.corp.sap> <7D0A3D84-A235-4400-8406-95D5EE765E55@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFE9ADF@DEWDFEMB12A.global.corp.sap> <8AA57E4C-80A8-4D10-AE68-64FCB113CC33@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEADA2@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC0CFEC4BA@DEWDFEMB12A.global.corp.sap> <6D628389-7082-450E-AF0E-1EC3249058F7@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> <51D20DEC.7050904@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF1499@DEWDFEMB12A.global.corp.sap> <51D3515F.10402@oracle.com> Message-ID: Hi Vladimir, what's the status of this patch? Are you still evaluate the required closed source changes? Regards, Volker On Wed, Jul 3, 2013 at 12:17 AM, Vladimir Kozlov wrote: > Thank you, Goetz > > We are doing review of closed changes. When they are ready I will push. > > Thanks, > Vladimir > > > On 7/2/13 2:47 AM, Lindenmaier, Goetz wrote: >> >> Hi, >> >> Sorry for that, I didn't grok the comment. The alignment is a good idea. >> Fixed: >> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >> Sent: Dienstag, 2. Juli 2013 01:17 >> To: Lindenmaier, Goetz >> Cc: 'Christian Thalinger'; 'Albert Noll (albert.noll at oracle.com)'; >> 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >> safefetch >> >> Goetz, >> >> Why you did not add 'nop' between load and return instructions on sparc? >> It was in assembler in .s file. The next comment said we need it: >> >> !! By convention with the trap handler we ensure there is a non-CTI >> !! instruction in the trap shadow. >> >> Also should we align code in stubs to keep it in one cache line? >> >> __ align(CodeEntryAlignment); >> *entry = __ pc(); >> >> Thanks, >> Vladimir >> >> On 6/24/13 12:31 PM, Lindenmaier, Goetz wrote: >>> >>> Hi, >>> >>> you are right, the check is redundant. >>> I removed it and updated the webrev and also based it on the >>> recent staging repo: >>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>> >>> Best regards, >>> Goetz. >>> >>> >>> -----Original Message----- >>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>> Sent: Monday, June 24, 2013 7:48 PM >>> To: Lindenmaier, Goetz >>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>> 'hotspot-dev at openjdk.java.net' >>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>> safefetch >>> >>> >>> On Jun 20, 2013, at 7:01 AM, "Lindenmaier, Goetz" >>> wrote: >>> >>>> Hi, >>>> >>>> I implemented the safefetch stubs for x86 and sparc (was quiet simple). >>>> This way I could clean up the #define right away. >>>> >>>> I tested it thouroughly on >>>> x86_64: bsd, nt, linux, solaris >>>> x86_32: nt, linux >>>> by adding it into our internal VM. >>>> Tonight I will get build/test on >>>> sparc_64 solaris >>>> sparc_32 solaris >>>> x86_64 nt, linux >>>> with the openjdk ppc port, but I tested that before submitting in a >>>> smaller >>>> extend, too. >>>> >>>> Here the webrev: >>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>> >>> >>> I like this change. It removes a lot of duplication. One comment: >>> >>> + static bool is_safefetch_fault(address pc) { >>> + return pc != NULL && >>> + (pc == _safefetch32_fault_pc || >>> + pc == _safefetchN_fault_pc); >>> + } >>> >>> checks for pc != null. Should we remove the check here? >>> >>> + if (pc && StubRoutines::is_safefetch_fault(pc)) { >>> + set_cont_address(uc, >>> address(StubRoutines::continuation_for_safefetch_fault(pc))); >>> return true; >>> } >>> >>> -- Chris >>> >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Dienstag, 18. Juni 2013 22:44 >>>> To: Lindenmaier, Goetz >>>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>>> 'hotspot-dev at openjdk.java.net' >>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>> safefetch >>>> >>>> >>>> On Jun 18, 2013, at 1:18 PM, "Lindenmaier, Goetz" >>>> wrote: >>>> >>>>> Ok, I will implement it on x86. >>>>> >>>>> To get a single change, you can give me the sparc patch, >>>>> or you extend the webrev once I updated it with the >>>>> x86 code. >>>> >>>> >>>> Sounds good. Let me know when it's there. >>>> >>>> -- Chris >>>> >>>>> If you prefer, you can also push it to some other repository, it >>>>> will end up in the ppc repo in time I guess. >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>> Sent: Tuesday, June 18, 2013 6:59 PM >>>>> To: Lindenmaier, Goetz >>>>> Cc: Volker Simonis; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>> hotspot-dev at openjdk.java.net >>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>> safefetch >>>>> >>>>> >>>>> On Jun 18, 2013, at 1:50 AM, "Lindenmaier, Goetz" >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> We have it on these platforms: >>>>>> ia64 (nt, linux, hp_ux) >>>>>> parisc (hp_ux) >>>>>> zArch (linux) >>>>>> ppc (aix, linux) >>>>>> >>>>>> I would implement it on x86 & friends, you do it on sparc and wherever >>>>>> else you like it? >>>>> >>>>> >>>>> That sounds reasonable. Are we pushing this to the ppc repository >>>>> then? >>>>> >>>>> -- Chris >>>>> >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>> Sent: Dienstag, 18. Juni 2013 07:13 >>>>>> To: Volker Simonis >>>>>> Cc: Lindenmaier, Goetz; Vladimir Kozlov; >>>>>> ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>> safefetch >>>>>> >>>>>> >>>>>> On Jun 17, 2013, at 10:08 AM, Volker Simonis >>>>>> wrote: >>>>>> >>>>>>> Hi Goetz, >>>>>>> >>>>>>> I think the change is good and if the other reviewers don't decide to >>>>>>> implement it for the current platforms we can push it. >>>>>> >>>>>> >>>>>> I talked with Vladimir about this today and I my opinion we should use >>>>>> this stub on all platforms. On which other platforms are you guys having >>>>>> this? >>>>>> >>>>>> -- Chris >>>>>> >>>>>>> >>>>>>> By the way, the makefile changes in ppc64.make will follow in patch 8 >>>>>>> for >>>>>>> linux [1] and patch 14 for aix [2]. >>>>>>> The implementation of the stubs will be in patch 9 for linux [3] and >>>>>>> patch >>>>>>> 15 for aix [4] (only the signal handling part). >>>>>>> >>>>>>> Regards, >>>>>>> Volker >>>>>>> >>>>>>> [1] >>>>>>> >>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0008_linux_ppc_make_changes.patch >>>>>>> [2] >>>>>>> >>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0014_aix_make_changes.patch >>>>>>> [3] >>>>>>> >>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0009_linux_ppc_files.patch >>>>>>> [4] >>>>>>> >>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0015_aix_ppc_files.patch >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Jun 17, 2013 at 3:55 PM, Lindenmaier, Goetz < >>>>>>> goetz.lindenmaier at sap.com> wrote: >>>>>>> >>>>>>>> Hi,**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> the PPC64 port uses stub routines to implement safefetch. We had >>>>>>>> and**** >>>>>>>> >>>>>>>> have problems with inline assembly, especially with non-gcc**** >>>>>>>> >>>>>>>> compilers. Stub routines allow to implement safefetch without**** >>>>>>>> >>>>>>>> depending on OS or compiler, as it's the case with the current**** >>>>>>>> >>>>>>>> implementation. This also allows to use a single implementation if >>>>>>>> an**** >>>>>>>> >>>>>>>> architecture is supported on several os platforms.**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-safefetch/**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> Currently, we guard the code with **** >>>>>>>> >>>>>>>> #ifdef SAFEFETCH_STUBS**** >>>>>>>> >>>>>>>> which is set in ppc64.make.**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> I could also imagine an implementation that uses a pd_debug flag**** >>>>>>>> >>>>>>>> or a const flag set in os_.hpp that allows the C-compiler to >>>>>>>> **** >>>>>>>> >>>>>>>> optimize, and writing the code like this:**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> extern "C" int pd_SafeFetch32 (int * adr, int errValue) ;**** >>>>>>>> >>>>>>>> extern "C" intptr_t pd_SafeFetchN (intptr_t * adr, intptr_t >>>>>>>> errValue) ;*** >>>>>>>> * >>>>>>>> >>>>>>>> inline int SafeFetch32(int* adr, int errValue) {**** >>>>>>>> >>>>>>>> if (UseSafefetchStub) {**** >>>>>>>> >>>>>>>> assert(StubRoutines::SafeFetch32_stub(), "stub not yet >>>>>>>> generated");*** >>>>>>>> * >>>>>>>> >>>>>>>> return StubRoutines::SafeFetch32_stub()(adr, errValue);**** >>>>>>>> >>>>>>>> } else {**** >>>>>>>> >>>>>>>> pd_SafeFetch32(adr, errValue);**** >>>>>>>> >>>>>>>> }**** >>>>>>>> >>>>>>>> }**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> Unfortunately this requires **** >>>>>>>> >>>>>>>> 1) setting the flag on all platforms**** >>>>>>>> >>>>>>>> 2) renaming the safefetch function on all platfoms.**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> Actually I would prefer this second solution as it avoids the >>>>>>>> preprocessor, **** >>>>>>>> >>>>>>>> and am happy to edit the sources accordingly if this finds >>>>>>>> acceptance.**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> For the implementation of a safefetch_stub see**** >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/fce884e5ba0b/src/cpu/ppc/vm/stubGenerator_ppc.cpp >>>>>>>> **** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> Could I get a review on this change, please?**** >>>>>>>> >>>>>>>> ** ** >>>>>>>> >>>>>>>> Thanks,**** >>>>>>>> >>>>>>>> Goetz.**** >>>>>>>> >>>>>> >>>>> >>>> >>> > From vladimir.kozlov at oracle.com Wed Jul 10 08:31:40 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 10 Jul 2013 08:31:40 -0700 Subject: RFR (S): 8019922 : PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles In-Reply-To: References: <51D657E6.2060606@oracle.com> <51DB4D3E.40808@oracle.com> <51DB907A.2080208@oracle.com> Message-ID: <51DD7E5C.9040607@oracle.com> I will push it today through JPRT. thanks, Vladimir On 7/10/13 8:28 AM, Volker Simonis wrote: > Hi Vladimir, > > do you want to push this change or should I do it? > > Here's the last version with (including David's suggestion of removing > ''ADD_SA_BINARIES/ppc64"): > > http://cr.openjdk.java.net/~simonis/webrevs/8019922.v3/ > > Thank you and best regards, > Volker > > > On Tue, Jul 9, 2013 at 6:24 AM, Vladimir Kozlov > wrote: >> Tests passed (included our ppc builds and testing). >> >> Vladimir >> >> >> On 7/8/13 4:37 PM, Vladimir Kozlov wrote: >>> >>> Looks good. >>> >>> I started JPRT testing. Hopefully will get result tonight. >>> >>> Thanks, >>> Vladimir >>> >>> On 7/8/13 8:42 AM, Volker Simonis wrote: >>>> >>>> Hi David, >>>> >>>> thank you for the review. I prepared a new webrev according to your >>>> suggestions: >>>> >>>> http://cr.openjdk.java.net/~simonis/webrevs/8019922.v2/ >>>> >>>> Please find my comments inline: >>>> >>>> Thank you and best regards, >>>> Volker >>>> >>>> On Fri, Jul 5, 2013 at 7:21 AM, David Holmes >>>> wrote: >>>>> >>>>> Hi Volker, >>>>> >>>>> This all looks fine to me. A couple of minor comments below. >>>>> >>>>> I will also test it but I don't expect to see any conflicts with our >>>>> other >>>>> ports. >>>>> >>>>> Thanks, >>>>> David >>>>> ----- >>>>> >>>>> make/defs.make >>>>> >>>>> Minor observation: As BUILDARCH defaults to SRCARCH you can emulate the >>>>> sparcv9 code and reduce this: >>>>> >>>>> 288 ifeq ($(BUILDARCH), ppc) >>>>> 289 ifdef LP64 >>>>> 290 BUILDARCH = ppc64 >>>>> 291 else >>>>> 292 BUILDARCH = ppc >>>>> 293 endif >>>>> 294 endif >>>>> >>>>> to >>>>> >>>>> 288 ifeq ($(BUILDARCH), ppc) >>>>> 289 ifdef LP64 >>>>> 290 BUILDARCH = ppc64 >>>>> 291 endif >>>>> 292 endif >>>>> >>>>> --- >>>> >>>> >>>> fixed as suggested. >>>> >>>>> >>>>> make/linux/makefiles/defs.make >>>>> >>>>> I note you have: >>>>> >>>>> HS_ARCH = ppc >>>>> >>>>> and this is only used with the SA for which we presently have: >>>>> >>>>> ADD_SA_BINARIES/ppc = >>>>> >>>>> but you also added: >>>>> >>>>> ADD_SA_BINARIES/ppc64 = >>>>> >>>>> so was the HS_ARCH setting a typo? >>>>> >>>>> --- >>>> >>>> >>>> Well, I did it in the same way as the other architectures did it:) >>>> >>>> Moreover, HS_ARCH is also used in make/Makefile. >>>> >>>>> >>>>> make/linux/makefiles/gcc.make >>>>> >>>>> You added: >>>>> >>>>> ARCHFLAG/ppc64 = -m64 >>>>> >>>>> which is fine, but then in ppc64.make you also have: >>>>> >>>>> CFLAGS += -m64 >>>>> LFLAGS_VM += -m64 >>>>> AOUT_FLAGS += -m64 >>>>> >>>>> which seems redundant given gcc.make has: >>>>> >>>>> 186 CFLAGS += $(ARCHFLAG) >>>>> 187 AOUT_FLAGS += $(ARCHFLAG) >>>>> 188 LFLAGS += $(ARCHFLAG) >>>>> 189 ASFLAGS += $(ARCHFLAG) >>>>> >>>> >>>> You're right. I removed the '-m64' settings from ppc64.make >>>> Also, 'LAUNCHERFLAGS' isn't used anymore so I removed it from >>>> pp464.make as well. >>>> The same applies to 'AOUT_FLAGS' which isn't necessary for our build. >>>> >>>>> Also the initial copyright line seems suspect: >>>>> >>>>> 2 # Copyright (c) 2004, 2011, Oracle and/or its affiliates. All >>>>> rights >>>>> reserved. >>>>> >>>>> Not sure how a new file can have a 2004-2011 copyright year range ?? >>>>> >>>> >>>> That was a copy-paste issue. After the lengthy discussions below I >>>> changed it to "2004, 2013" to keep things simple:) >>>> >>>>> >>>>> >>>>> On 5/07/2013 2:07 AM, Volker Simonis wrote: >>>>>> >>>>>> >>>>>> Hi, >>>>>> >>>>>> can sombody please review this change. It implements the relevant >>>>>> HotSpot make changes to build the HotSpot on Linux/PPC64 and shouldn't >>>>>> touch any existing platforms (but of course testing it on your closed >>>>>> platforms - especially ppc - is probably necessary and much >>>>>> appreciated). >>>>>> >>>>>> It also contains two small fixes for the CORE build (one is a type and >>>>>> the other is necessary to accomodate to the changes in "8008772: >>>>>> remove gamma launcher") in 'make/Makefile' for which I didn't wanted >>>>>> to open an extra bug for. >>>>>> >>>>>> Notice that this patch determines the name and location of the >>>>>> platform relevant files (e.g. src/cpu/ppc/vm/assembler_ppc.cpp or >>>>>> src/os_cpu/linux_ppc/vm/globals_linux_ppc.hpp) which will come with >>>>>> 0009_linux_ppc_files.patch. >>>>>> >>>>>> http://cr.openjdk.java.net/~simonis/webrevs/8019922/ >>>>>> >>>>>> Thank you and best regards, >>>>>> Volker >>>>>> >>>>> >> From vladimir.kozlov at oracle.com Wed Jul 10 08:38:16 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 10 Jul 2013 08:38:16 -0700 Subject: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch In-Reply-To: References: <4295855A5C1DE049A61835A1887419CC0CFE9848@DEWDFEMB12A.global.corp.sap> <7D0A3D84-A235-4400-8406-95D5EE765E55@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFE9ADF@DEWDFEMB12A.global.corp.sap> <8AA57E4C-80A8-4D10-AE68-64FCB113CC33@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEADA2@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC0CFEC4BA@DEWDFEMB12A.global.corp.sap> <6D628389-7082-450E-AF0E-1EC3249058F7@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> <51D20DEC.7050904@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF1499@DEWDFEMB12A.global.corp.sap> <51D3515F.10402@oracle.com> Message-ID: <51DD7FE8.9070207@oracle.com> Albert is working on other urgent issues so the work on safefetch is delayed. Regards, Vladimir On 7/10/13 8:29 AM, Volker Simonis wrote: > Hi Vladimir, > > what's the status of this patch? > Are you still evaluate the required closed source changes? > > Regards, > Volker > > > On Wed, Jul 3, 2013 at 12:17 AM, Vladimir Kozlov > wrote: >> Thank you, Goetz >> >> We are doing review of closed changes. When they are ready I will push. >> >> Thanks, >> Vladimir >> >> >> On 7/2/13 2:47 AM, Lindenmaier, Goetz wrote: >>> >>> Hi, >>> >>> Sorry for that, I didn't grok the comment. The alignment is a good idea. >>> Fixed: >>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>> >>> Best regards, >>> Goetz. >>> >>> >>> -----Original Message----- >>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>> Sent: Dienstag, 2. Juli 2013 01:17 >>> To: Lindenmaier, Goetz >>> Cc: 'Christian Thalinger'; 'Albert Noll (albert.noll at oracle.com)'; >>> 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>> safefetch >>> >>> Goetz, >>> >>> Why you did not add 'nop' between load and return instructions on sparc? >>> It was in assembler in .s file. The next comment said we need it: >>> >>> !! By convention with the trap handler we ensure there is a non-CTI >>> !! instruction in the trap shadow. >>> >>> Also should we align code in stubs to keep it in one cache line? >>> >>> __ align(CodeEntryAlignment); >>> *entry = __ pc(); >>> >>> Thanks, >>> Vladimir >>> >>> On 6/24/13 12:31 PM, Lindenmaier, Goetz wrote: >>>> >>>> Hi, >>>> >>>> you are right, the check is redundant. >>>> I removed it and updated the webrev and also based it on the >>>> recent staging repo: >>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Monday, June 24, 2013 7:48 PM >>>> To: Lindenmaier, Goetz >>>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>>> 'hotspot-dev at openjdk.java.net' >>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>> safefetch >>>> >>>> >>>> On Jun 20, 2013, at 7:01 AM, "Lindenmaier, Goetz" >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> I implemented the safefetch stubs for x86 and sparc (was quiet simple). >>>>> This way I could clean up the #define right away. >>>>> >>>>> I tested it thouroughly on >>>>> x86_64: bsd, nt, linux, solaris >>>>> x86_32: nt, linux >>>>> by adding it into our internal VM. >>>>> Tonight I will get build/test on >>>>> sparc_64 solaris >>>>> sparc_32 solaris >>>>> x86_64 nt, linux >>>>> with the openjdk ppc port, but I tested that before submitting in a >>>>> smaller >>>>> extend, too. >>>>> >>>>> Here the webrev: >>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>>> >>>> >>>> I like this change. It removes a lot of duplication. One comment: >>>> >>>> + static bool is_safefetch_fault(address pc) { >>>> + return pc != NULL && >>>> + (pc == _safefetch32_fault_pc || >>>> + pc == _safefetchN_fault_pc); >>>> + } >>>> >>>> checks for pc != null. Should we remove the check here? >>>> >>>> + if (pc && StubRoutines::is_safefetch_fault(pc)) { >>>> + set_cont_address(uc, >>>> address(StubRoutines::continuation_for_safefetch_fault(pc))); >>>> return true; >>>> } >>>> >>>> -- Chris >>>> >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>> Sent: Dienstag, 18. Juni 2013 22:44 >>>>> To: Lindenmaier, Goetz >>>>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>>>> 'hotspot-dev at openjdk.java.net' >>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>> safefetch >>>>> >>>>> >>>>> On Jun 18, 2013, at 1:18 PM, "Lindenmaier, Goetz" >>>>> wrote: >>>>> >>>>>> Ok, I will implement it on x86. >>>>>> >>>>>> To get a single change, you can give me the sparc patch, >>>>>> or you extend the webrev once I updated it with the >>>>>> x86 code. >>>>> >>>>> >>>>> Sounds good. Let me know when it's there. >>>>> >>>>> -- Chris >>>>> >>>>>> If you prefer, you can also push it to some other repository, it >>>>>> will end up in the ppc repo in time I guess. >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>> Sent: Tuesday, June 18, 2013 6:59 PM >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: Volker Simonis; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>> hotspot-dev at openjdk.java.net >>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>> safefetch >>>>>> >>>>>> >>>>>> On Jun 18, 2013, at 1:50 AM, "Lindenmaier, Goetz" >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> We have it on these platforms: >>>>>>> ia64 (nt, linux, hp_ux) >>>>>>> parisc (hp_ux) >>>>>>> zArch (linux) >>>>>>> ppc (aix, linux) >>>>>>> >>>>>>> I would implement it on x86 & friends, you do it on sparc and wherever >>>>>>> else you like it? >>>>>> >>>>>> >>>>>> That sounds reasonable. Are we pushing this to the ppc repository >>>>>> then? >>>>>> >>>>>> -- Chris >>>>>> >>>>>>> >>>>>>> Best regards, >>>>>>> Goetz. >>>>>>> >>>>>>> >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>>> Sent: Dienstag, 18. Juni 2013 07:13 >>>>>>> To: Volker Simonis >>>>>>> Cc: Lindenmaier, Goetz; Vladimir Kozlov; >>>>>>> ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>>> safefetch >>>>>>> >>>>>>> >>>>>>> On Jun 17, 2013, at 10:08 AM, Volker Simonis >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Goetz, >>>>>>>> >>>>>>>> I think the change is good and if the other reviewers don't decide to >>>>>>>> implement it for the current platforms we can push it. >>>>>>> >>>>>>> >>>>>>> I talked with Vladimir about this today and I my opinion we should use >>>>>>> this stub on all platforms. On which other platforms are you guys having >>>>>>> this? >>>>>>> >>>>>>> -- Chris >>>>>>> >>>>>>>> >>>>>>>> By the way, the makefile changes in ppc64.make will follow in patch 8 >>>>>>>> for >>>>>>>> linux [1] and patch 14 for aix [2]. >>>>>>>> The implementation of the stubs will be in patch 9 for linux [3] and >>>>>>>> patch >>>>>>>> 15 for aix [4] (only the signal handling part). >>>>>>>> >>>>>>>> Regards, >>>>>>>> Volker >>>>>>>> >>>>>>>> [1] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0008_linux_ppc_make_changes.patch >>>>>>>> [2] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0014_aix_make_changes.patch >>>>>>>> [3] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0009_linux_ppc_files.patch >>>>>>>> [4] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0015_aix_ppc_files.patch >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Jun 17, 2013 at 3:55 PM, Lindenmaier, Goetz < >>>>>>>> goetz.lindenmaier at sap.com> wrote: >>>>>>>> >>>>>>>>> Hi,**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> the PPC64 port uses stub routines to implement safefetch. We had >>>>>>>>> and**** >>>>>>>>> >>>>>>>>> have problems with inline assembly, especially with non-gcc**** >>>>>>>>> >>>>>>>>> compilers. Stub routines allow to implement safefetch without**** >>>>>>>>> >>>>>>>>> depending on OS or compiler, as it's the case with the current**** >>>>>>>>> >>>>>>>>> implementation. This also allows to use a single implementation if >>>>>>>>> an**** >>>>>>>>> >>>>>>>>> architecture is supported on several os platforms.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-safefetch/**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Currently, we guard the code with **** >>>>>>>>> >>>>>>>>> #ifdef SAFEFETCH_STUBS**** >>>>>>>>> >>>>>>>>> which is set in ppc64.make.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> I could also imagine an implementation that uses a pd_debug flag**** >>>>>>>>> >>>>>>>>> or a const flag set in os_.hpp that allows the C-compiler to >>>>>>>>> **** >>>>>>>>> >>>>>>>>> optimize, and writing the code like this:**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> extern "C" int pd_SafeFetch32 (int * adr, int errValue) ;**** >>>>>>>>> >>>>>>>>> extern "C" intptr_t pd_SafeFetchN (intptr_t * adr, intptr_t >>>>>>>>> errValue) ;*** >>>>>>>>> * >>>>>>>>> >>>>>>>>> inline int SafeFetch32(int* adr, int errValue) {**** >>>>>>>>> >>>>>>>>> if (UseSafefetchStub) {**** >>>>>>>>> >>>>>>>>> assert(StubRoutines::SafeFetch32_stub(), "stub not yet >>>>>>>>> generated");*** >>>>>>>>> * >>>>>>>>> >>>>>>>>> return StubRoutines::SafeFetch32_stub()(adr, errValue);**** >>>>>>>>> >>>>>>>>> } else {**** >>>>>>>>> >>>>>>>>> pd_SafeFetch32(adr, errValue);**** >>>>>>>>> >>>>>>>>> }**** >>>>>>>>> >>>>>>>>> }**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Unfortunately this requires **** >>>>>>>>> >>>>>>>>> 1) setting the flag on all platforms**** >>>>>>>>> >>>>>>>>> 2) renaming the safefetch function on all platfoms.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Actually I would prefer this second solution as it avoids the >>>>>>>>> preprocessor, **** >>>>>>>>> >>>>>>>>> and am happy to edit the sources accordingly if this finds >>>>>>>>> acceptance.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> For the implementation of a safefetch_stub see**** >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/fce884e5ba0b/src/cpu/ppc/vm/stubGenerator_ppc.cpp >>>>>>>>> **** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Could I get a review on this change, please?**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Thanks,**** >>>>>>>>> >>>>>>>>> Goetz.**** >>>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >> From vladimir.kozlov at oracle.com Wed Jul 10 12:17:54 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 10 Jul 2013 12:17:54 -0700 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> Message-ID: <51DDB362.1020007@oracle.com> Goetz, macros.hpp is included in all other files. Can we just undef IA64 there?: // This is a REALLY BIG HACK, but on AIX unconditionally defines IA64. // At least on AIX 7.1 this is a real problem because 'systemcfg.h' is indirectly included // by 'pthread.h' and other common system headers. #ifdef AIX #undef IA64 #endif thanks, Vladimir On 7/9/13 6:12 AM, Lindenmaier, Goetz wrote: > Hi, > > Here a webrev without the cleanups: > http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ > > Best regards, > Goetz. > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Dienstag, 9. Juli 2013 14:08 > To: Lindenmaier, Goetz > Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >> Hi David, >> >>> A curious thing to do ;-) >> Yes, I agree. >> >>> Aside: presumably this is included in turn by other standard headers, >>> not directly included - otherwise we could just undef IA64 after the >>> include. >> Yes, that's the case. >> >>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>> think we may even have a RFE for this. AFAIK there are no remaining >>> users of the IA64 code in the hotspot codebase. >> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >> Ia64. 8 in development, all soon based on hs25. We also contributed to >> the change cleaning up the IA64 defines. There are only such left >> we need in our code. >> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 > > I'm somewhat perplexed. The IA64 uses you still see in the hotspot > sources are ancient remnants of the IA64 support. Most of it has been > stripped out completely. So how anyone could be using any of this is, as > I said, perplexing ??? > >>> #if defined(__GNUC__) && !defined(IA64) >> You are right, I could just leave it as is, except if __GNUC__ is define on AIX, >> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >> inlined in our port on linux. >>> more to avoid build-failures, but we may still want to avoid inlining >>> them for other reasons! So this aspect needs further investigation. Or >> I think it's a good idea to clean it up. The build problem >> is documented. There may be 'other reasons', but unexpected issues >> can be there with any change. > > But the aim is to avoid making gratuitous changes to code that is not > part of the ppc64/AIX port. If you start inlining these functions you > don't know what the impact will be. So why change them when it is not > necessary. > > David > ----- > >>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> Again if we just get rid of IA64 this will be a non-issue right? >> Here I would add !AIX. >> But have a look at the file, there are also several other platforms >> where this is excluded, and the exclusion is implemented differently >> on each platform. Not that nice ... >> >> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >> functional. >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 9. Juli 2013 03:56 >> To: Lindenmaier, Goetz >> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >> >> Hi Goetz, >> >> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> This is in preparation of the PPC AIX port. >>> >>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. >> >> A curious thing to do ;-) >> >> Aside: presumably this is included in turn by other standard headers, >> not directly included - otherwise we could just undef IA64 after the >> include. >> >>> This leads to wrong configurations of shared files on Aix where IA64 is used. >>> This change replaces uses of "IA64" by "IA64 && !AIX". >> >> Might be simpler if we just eradicate the IA64 remnants in the code. I >> think we may even have a RFE for this. AFAIK there are no remaining >> users of the IA64 code in the hotspot codebase. >> >>> To reduce the complexity we propose to simplify two matters: >>> >>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>> define #define ATTR __attribute__((noinline)) claiming this is needed >>> to avoid a gcc build time error with - at that time - old gcc versions. >>> This define depends on IA64. We remove it altogether. >> >> Well it doesn't "depend" on IA64: >> >> #if defined(__GNUC__) && !defined(IA64) >> // Need to inhibit inlining for older versions of GCC to avoid >> build-time failures >> #define ATTR __attribute__((noinline)) >> #else >> #define ATTR >> #endif >> >> it becomes empty on IA64 (and non gcc systems). So removing it >> altogether is changing things for all the other gcc using platforms. Now >> it may be that we don't need to preclude inlining of these methods any >> more to avoid build-failures, but we may still want to avoid inlining >> them for other reasons! So this aspect needs further investigation. Or >> you can just leave it as-is - if you have IA64 always defined then you >> will get the empty #else part. Or if we go with the "eradicate IA64" >> path then you can change IA64 to AIX (though it is odd to exchange an >> architecture check with an OS check). >> >>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> support on windows, apple and ia64. We would have to add Aix. >>> Instead, we propose to use a check for the supported platforms (see webrev). >>> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>> directories. >> >> Again if we just get rid of IA64 this will be a non-issue right? >> >> Thanks, >> David >> >>> Are there other platforms that need to be supported? I derived the platforms >>> from the comment in forte.cpp. >>> >>> Please review this change. I'm happy to incorporate your comments. >>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>> >>> Best regards, >>> Goetz. >>> From vladimir.kozlov at oracle.com Wed Jul 10 13:09:10 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 10 Jul 2013 20:09:10 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles Message-ID: <20130710200916.A02FC4896F@hg.openjdk.java.net> Changeset: faf0c78e906b Author: simonis Date: 2013-07-10 09:14 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles Summary: HotSpot make changes to build the HotSpot on Linux/PPC64 Reviewed-by: dholmes, kvn ! make/Makefile ! make/defs.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make + make/linux/makefiles/ppc64.make + make/linux/platform_ppc64 From goetz.lindenmaier at sap.com Wed Jul 10 14:00:30 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 10 Jul 2013 21:00:30 +0000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <51DDB362.1020007@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> <51DDB362.1020007@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF4D9B@DEWDFEMB12A.global.corp.sap> Hi Vladimir, I thought about that, too. But it seems quiet risky to me, as it depends on the final order of inclusion whether it works. Usually, macro.hpp will be included early, because it's basics that should be seen everywhere. Also, it will end up early in the preprocessed file as it has no other includes itself. If the system headers are included later, they will overrule the undef in macro.hpp. I think it's even some kind of pattern in the hotspot files to include the system headers after the hotspot headers. So even if it works now, it easily might break. Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Wednesday, July 10, 2013 9:18 PM To: Lindenmaier, Goetz Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. Goetz, macros.hpp is included in all other files. Can we just undef IA64 there?: // This is a REALLY BIG HACK, but on AIX unconditionally defines IA64. // At least on AIX 7.1 this is a real problem because 'systemcfg.h' is indirectly included // by 'pthread.h' and other common system headers. #ifdef AIX #undef IA64 #endif thanks, Vladimir On 7/9/13 6:12 AM, Lindenmaier, Goetz wrote: > Hi, > > Here a webrev without the cleanups: > http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ > > Best regards, > Goetz. > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Dienstag, 9. Juli 2013 14:08 > To: Lindenmaier, Goetz > Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >> Hi David, >> >>> A curious thing to do ;-) >> Yes, I agree. >> >>> Aside: presumably this is included in turn by other standard headers, >>> not directly included - otherwise we could just undef IA64 after the >>> include. >> Yes, that's the case. >> >>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>> think we may even have a RFE for this. AFAIK there are no remaining >>> users of the IA64 code in the hotspot codebase. >> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >> Ia64. 8 in development, all soon based on hs25. We also contributed to >> the change cleaning up the IA64 defines. There are only such left >> we need in our code. >> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 > > I'm somewhat perplexed. The IA64 uses you still see in the hotspot > sources are ancient remnants of the IA64 support. Most of it has been > stripped out completely. So how anyone could be using any of this is, as > I said, perplexing ??? > >>> #if defined(__GNUC__) && !defined(IA64) >> You are right, I could just leave it as is, except if __GNUC__ is define on AIX, >> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >> inlined in our port on linux. >>> more to avoid build-failures, but we may still want to avoid inlining >>> them for other reasons! So this aspect needs further investigation. Or >> I think it's a good idea to clean it up. The build problem >> is documented. There may be 'other reasons', but unexpected issues >> can be there with any change. > > But the aim is to avoid making gratuitous changes to code that is not > part of the ppc64/AIX port. If you start inlining these functions you > don't know what the impact will be. So why change them when it is not > necessary. > > David > ----- > >>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> Again if we just get rid of IA64 this will be a non-issue right? >> Here I would add !AIX. >> But have a look at the file, there are also several other platforms >> where this is excluded, and the exclusion is implemented differently >> on each platform. Not that nice ... >> >> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >> functional. >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 9. Juli 2013 03:56 >> To: Lindenmaier, Goetz >> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >> >> Hi Goetz, >> >> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> This is in preparation of the PPC AIX port. >>> >>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. >> >> A curious thing to do ;-) >> >> Aside: presumably this is included in turn by other standard headers, >> not directly included - otherwise we could just undef IA64 after the >> include. >> >>> This leads to wrong configurations of shared files on Aix where IA64 is used. >>> This change replaces uses of "IA64" by "IA64 && !AIX". >> >> Might be simpler if we just eradicate the IA64 remnants in the code. I >> think we may even have a RFE for this. AFAIK there are no remaining >> users of the IA64 code in the hotspot codebase. >> >>> To reduce the complexity we propose to simplify two matters: >>> >>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>> define #define ATTR __attribute__((noinline)) claiming this is needed >>> to avoid a gcc build time error with - at that time - old gcc versions. >>> This define depends on IA64. We remove it altogether. >> >> Well it doesn't "depend" on IA64: >> >> #if defined(__GNUC__) && !defined(IA64) >> // Need to inhibit inlining for older versions of GCC to avoid >> build-time failures >> #define ATTR __attribute__((noinline)) >> #else >> #define ATTR >> #endif >> >> it becomes empty on IA64 (and non gcc systems). So removing it >> altogether is changing things for all the other gcc using platforms. Now >> it may be that we don't need to preclude inlining of these methods any >> more to avoid build-failures, but we may still want to avoid inlining >> them for other reasons! So this aspect needs further investigation. Or >> you can just leave it as-is - if you have IA64 always defined then you >> will get the empty #else part. Or if we go with the "eradicate IA64" >> path then you can change IA64 to AIX (though it is odd to exchange an >> architecture check with an OS check). >> >>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> support on windows, apple and ia64. We would have to add Aix. >>> Instead, we propose to use a check for the supported platforms (see webrev). >>> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>> directories. >> >> Again if we just get rid of IA64 this will be a non-issue right? >> >> Thanks, >> David >> >>> Are there other platforms that need to be supported? I derived the platforms >>> from the comment in forte.cpp. >>> >>> Please review this change. I'm happy to incorporate your comments. >>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>> >>> Best regards, >>> Goetz. >>> From vladimir.kozlov at oracle.com Wed Jul 10 14:41:49 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 10 Jul 2013 14:41:49 -0700 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF4D9B@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> <51DDB362.1020007@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF4D9B@DEWDFEMB12A.global.corp.sap> Message-ID: <51DDD51D.4090505@oracle.com> On 7/10/13 2:00 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > I thought about that, too. But it seems quiet risky to me, > as it depends on the final order of inclusion whether it works. > Usually, macro.hpp will be included early, because it's basics that should > be seen everywhere. Also, it will end up early in the preprocessed > file as it has no other includes itself. > > If the system headers are included later, they will overrule the undef in > macro.hpp. > I think it's even some kind of pattern in the hotspot files to include the > system headers after the hotspot headers. > > So even if it works now, it easily might break. Agree. Your changes are good then. thanks, Vladimir > > Best regards, > Goetz. > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Wednesday, July 10, 2013 9:18 PM > To: Lindenmaier, Goetz > Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > Goetz, > > macros.hpp is included in all other files. Can we just undef IA64 there?: > > // This is a REALLY BIG HACK, but on AIX > unconditionally defines IA64. > // At least on AIX 7.1 this is a real problem because 'systemcfg.h' is > indirectly included > // by 'pthread.h' and other common system headers. > #ifdef AIX > #undef IA64 > #endif > > thanks, > Vladimir > > On 7/9/13 6:12 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> Here a webrev without the cleanups: >> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 9. Juli 2013 14:08 >> To: Lindenmaier, Goetz >> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >> >> On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >>> Hi David, >>> >>>> A curious thing to do ;-) >>> Yes, I agree. >>> >>>> Aside: presumably this is included in turn by other standard headers, >>>> not directly included - otherwise we could just undef IA64 after the >>>> include. >>> Yes, that's the case. >>> >>>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>>> think we may even have a RFE for this. AFAIK there are no remaining >>>> users of the IA64 code in the hotspot codebase. >>> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >>> Ia64. 8 in development, all soon based on hs25. We also contributed to >>> the change cleaning up the IA64 defines. There are only such left >>> we need in our code. >>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 >> >> I'm somewhat perplexed. The IA64 uses you still see in the hotspot >> sources are ancient remnants of the IA64 support. Most of it has been >> stripped out completely. So how anyone could be using any of this is, as >> I said, perplexing ??? >> >>>> #if defined(__GNUC__) && !defined(IA64) >>> You are right, I could just leave it as is, except if __GNUC__ is define on AIX, >>> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >>> inlined in our port on linux. >>>> more to avoid build-failures, but we may still want to avoid inlining >>>> them for other reasons! So this aspect needs further investigation. Or >>> I think it's a good idea to clean it up. The build problem >>> is documented. There may be 'other reasons', but unexpected issues >>> can be there with any change. >> >> But the aim is to avoid making gratuitous changes to code that is not >> part of the ppc64/AIX port. If you start inlining these functions you >> don't know what the impact will be. So why change them when it is not >> necessary. >> >> David >> ----- >> >>>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>> Again if we just get rid of IA64 this will be a non-issue right? >>> Here I would add !AIX. >>> But have a look at the file, there are also several other platforms >>> where this is excluded, and the exclusion is implemented differently >>> on each platform. Not that nice ... >>> >>> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >>> functional. >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Dienstag, 9. Juli 2013 03:56 >>> To: Lindenmaier, Goetz >>> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >>> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >>> >>> Hi Goetz, >>> >>> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>>> Hi, >>>> >>>> This is in preparation of the PPC AIX port. >>>> >>>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. >>> >>> A curious thing to do ;-) >>> >>> Aside: presumably this is included in turn by other standard headers, >>> not directly included - otherwise we could just undef IA64 after the >>> include. >>> >>>> This leads to wrong configurations of shared files on Aix where IA64 is used. >>>> This change replaces uses of "IA64" by "IA64 && !AIX". >>> >>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>> think we may even have a RFE for this. AFAIK there are no remaining >>> users of the IA64 code in the hotspot codebase. >>> >>>> To reduce the complexity we propose to simplify two matters: >>>> >>>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>>> define #define ATTR __attribute__((noinline)) claiming this is needed >>>> to avoid a gcc build time error with - at that time - old gcc versions. >>>> This define depends on IA64. We remove it altogether. >>> >>> Well it doesn't "depend" on IA64: >>> >>> #if defined(__GNUC__) && !defined(IA64) >>> // Need to inhibit inlining for older versions of GCC to avoid >>> build-time failures >>> #define ATTR __attribute__((noinline)) >>> #else >>> #define ATTR >>> #endif >>> >>> it becomes empty on IA64 (and non gcc systems). So removing it >>> altogether is changing things for all the other gcc using platforms. Now >>> it may be that we don't need to preclude inlining of these methods any >>> more to avoid build-failures, but we may still want to avoid inlining >>> them for other reasons! So this aspect needs further investigation. Or >>> you can just leave it as-is - if you have IA64 always defined then you >>> will get the empty #else part. Or if we go with the "eradicate IA64" >>> path then you can change IA64 to AIX (though it is odd to exchange an >>> architecture check with an OS check). >>> >>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>> support on windows, apple and ia64. We would have to add Aix. >>>> Instead, we propose to use a check for the supported platforms (see webrev). >>>> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >>>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>>> directories. >>> >>> Again if we just get rid of IA64 this will be a non-issue right? >>> >>> Thanks, >>> David >>> >>>> Are there other platforms that need to be supported? I derived the platforms >>>> from the comment in forte.cpp. >>>> >>>> Please review this change. I'm happy to incorporate your comments. >>>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>>> >>>> Best regards, >>>> Goetz. >>>> From david.holmes at oracle.com Wed Jul 10 20:26:38 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 11 Jul 2013 13:26:38 +1000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> Message-ID: <51DE25EE.8000805@oracle.com> On 9/07/2013 10:15 PM, Volker Simonis wrote: > On Tue, Jul 9, 2013 at 2:08 PM, David Holmes wrote: >> On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >>> >>> Hi David, >>> >>>> A curious thing to do ;-) >>> >>> Yes, I agree. >>> >>>> Aside: presumably this is included in turn by other standard headers, >>>> not directly included - otherwise we could just undef IA64 after the >>>> include. >>> >>> Yes, that's the case. >>> >>>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>>> think we may even have a RFE for this. AFAIK there are no remaining >>>> users of the IA64 code in the hotspot codebase. >>> >>> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >>> Ia64. 8 in development, all soon based on hs25. We also contributed to >>> the change cleaning up the IA64 defines. There are only such left >>> we need in our code. >>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 >> >> >> I'm somewhat perplexed. The IA64 uses you still see in the hotspot sources >> are ancient remnants of the IA64 support. Most of it has been stripped out >> completely. So how anyone could be using any of this is, as I said, >> perplexing ??? >> > > You're too Oracle-centric, but it's not only Oracle who has closed > HotSpot ports:) I understand that, but as I said we have been gradually removing IA64 support from all over the shared codebase. So I'm still surprised that anyone with an IA64 port could possibly be relying on the remaining fragments. But so be it. David ----- >> >>>> #if defined(__GNUC__) && !defined(IA64) >>> >>> You are right, I could just leave it as is, except if __GNUC__ is define >>> on AIX, >>> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >>> inlined in our port on linux. >>>> >>>> more to avoid build-failures, but we may still want to avoid inlining >>>> them for other reasons! So this aspect needs further investigation. Or >>> >>> I think it's a good idea to clean it up. The build problem >>> is documented. There may be 'other reasons', but unexpected issues >>> can be there with any change. >> >> >> But the aim is to avoid making gratuitous changes to code that is not part >> of the ppc64/AIX port. If you start inlining these functions you don't know >> what the impact will be. So why change them when it is not necessary. >> >> David >> ----- >> >> >>>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>> >>>> Again if we just get rid of IA64 this will be a non-issue right? >>> >>> Here I would add !AIX. >>> But have a look at the file, there are also several other platforms >>> where this is excluded, and the exclusion is implemented differently >>> on each platform. Not that nice ... >>> >>> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >>> functional. >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Dienstag, 9. Juli 2013 03:56 >>> To: Lindenmaier, Goetz >>> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; >>> Vladimir Kozlov >>> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor >>> conditionals on AIX. >>> >>> Hi Goetz, >>> >>> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>>> >>>> Hi, >>>> >>>> This is in preparation of the PPC AIX port. >>>> >>>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" >>>> unconditionally. >>> >>> >>> A curious thing to do ;-) >>> >>> Aside: presumably this is included in turn by other standard headers, >>> not directly included - otherwise we could just undef IA64 after the >>> include. >>> >>>> This leads to wrong configurations of shared files on Aix where IA64 is >>>> used. >>>> This change replaces uses of "IA64" by "IA64 && !AIX". >>> >>> >>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>> think we may even have a RFE for this. AFAIK there are no remaining >>> users of the IA64 code in the hotspot codebase. >>> >>>> To reduce the complexity we propose to simplify two matters: >>>> >>>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>>> define #define ATTR __attribute__((noinline)) claiming this is needed >>>> to avoid a gcc build time error with - at that time - old gcc versions. >>>> This define depends on IA64. We remove it altogether. >>> >>> >>> Well it doesn't "depend" on IA64: >>> >>> #if defined(__GNUC__) && !defined(IA64) >>> // Need to inhibit inlining for older versions of GCC to avoid >>> build-time failures >>> #define ATTR __attribute__((noinline)) >>> #else >>> #define ATTR >>> #endif >>> >>> it becomes empty on IA64 (and non gcc systems). So removing it >>> altogether is changing things for all the other gcc using platforms. Now >>> it may be that we don't need to preclude inlining of these methods any >>> more to avoid build-failures, but we may still want to avoid inlining >>> them for other reasons! So this aspect needs further investigation. Or >>> you can just leave it as-is - if you have IA64 always defined then you >>> will get the empty #else part. Or if we go with the "eradicate IA64" >>> path then you can change IA64 to AIX (though it is odd to exchange an >>> architecture check with an OS check). >>> >>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>> support on windows, apple and ia64. We would have to add Aix. >>>> Instead, we propose to use a check for the supported platforms (see >>>> webrev). >>>> We could also add a macro SUPPORTS_FORTE that is defined in the >>>> corresponding >>>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>>> directories. >>> >>> >>> Again if we just get rid of IA64 this will be a non-issue right? >>> >>> Thanks, >>> David >>> >>>> Are there other platforms that need to be supported? I derived the >>>> platforms >>>> from the comment in forte.cpp. >>>> >>>> Please review this change. I'm happy to incorporate your comments. >>>> >>>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>>> >>>> Best regards, >>>> Goetz. >>>> >> From david.holmes at oracle.com Wed Jul 10 20:29:43 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 11 Jul 2013 13:29:43 +1000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> Message-ID: <51DE26A7.7030106@oracle.com> On 9/07/2013 11:12 PM, Lindenmaier, Goetz wrote: > Hi, > > Here a webrev without the cleanups: > http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ Thanks. Looks good. David ----- > Best regards, > Goetz. > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Dienstag, 9. Juli 2013 14:08 > To: Lindenmaier, Goetz > Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >> Hi David, >> >>> A curious thing to do ;-) >> Yes, I agree. >> >>> Aside: presumably this is included in turn by other standard headers, >>> not directly included - otherwise we could just undef IA64 after the >>> include. >> Yes, that's the case. >> >>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>> think we may even have a RFE for this. AFAIK there are no remaining >>> users of the IA64 code in the hotspot codebase. >> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >> Ia64. 8 in development, all soon based on hs25. We also contributed to >> the change cleaning up the IA64 defines. There are only such left >> we need in our code. >> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 > > I'm somewhat perplexed. The IA64 uses you still see in the hotspot > sources are ancient remnants of the IA64 support. Most of it has been > stripped out completely. So how anyone could be using any of this is, as > I said, perplexing ??? > >>> #if defined(__GNUC__) && !defined(IA64) >> You are right, I could just leave it as is, except if __GNUC__ is define on AIX, >> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >> inlined in our port on linux. >>> more to avoid build-failures, but we may still want to avoid inlining >>> them for other reasons! So this aspect needs further investigation. Or >> I think it's a good idea to clean it up. The build problem >> is documented. There may be 'other reasons', but unexpected issues >> can be there with any change. > > But the aim is to avoid making gratuitous changes to code that is not > part of the ppc64/AIX port. If you start inlining these functions you > don't know what the impact will be. So why change them when it is not > necessary. > > David > ----- > >>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> Again if we just get rid of IA64 this will be a non-issue right? >> Here I would add !AIX. >> But have a look at the file, there are also several other platforms >> where this is excluded, and the exclusion is implemented differently >> on each platform. Not that nice ... >> >> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >> functional. >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 9. Juli 2013 03:56 >> To: Lindenmaier, Goetz >> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >> >> Hi Goetz, >> >> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> This is in preparation of the PPC AIX port. >>> >>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. >> >> A curious thing to do ;-) >> >> Aside: presumably this is included in turn by other standard headers, >> not directly included - otherwise we could just undef IA64 after the >> include. >> >>> This leads to wrong configurations of shared files on Aix where IA64 is used. >>> This change replaces uses of "IA64" by "IA64 && !AIX". >> >> Might be simpler if we just eradicate the IA64 remnants in the code. I >> think we may even have a RFE for this. AFAIK there are no remaining >> users of the IA64 code in the hotspot codebase. >> >>> To reduce the complexity we propose to simplify two matters: >>> >>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>> define #define ATTR __attribute__((noinline)) claiming this is needed >>> to avoid a gcc build time error with - at that time - old gcc versions. >>> This define depends on IA64. We remove it altogether. >> >> Well it doesn't "depend" on IA64: >> >> #if defined(__GNUC__) && !defined(IA64) >> // Need to inhibit inlining for older versions of GCC to avoid >> build-time failures >> #define ATTR __attribute__((noinline)) >> #else >> #define ATTR >> #endif >> >> it becomes empty on IA64 (and non gcc systems). So removing it >> altogether is changing things for all the other gcc using platforms. Now >> it may be that we don't need to preclude inlining of these methods any >> more to avoid build-failures, but we may still want to avoid inlining >> them for other reasons! So this aspect needs further investigation. Or >> you can just leave it as-is - if you have IA64 always defined then you >> will get the empty #else part. Or if we go with the "eradicate IA64" >> path then you can change IA64 to AIX (though it is odd to exchange an >> architecture check with an OS check). >> >>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>> support on windows, apple and ia64. We would have to add Aix. >>> Instead, we propose to use a check for the supported platforms (see webrev). >>> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>> directories. >> >> Again if we just get rid of IA64 this will be a non-issue right? >> >> Thanks, >> David >> >>> Are there other platforms that need to be supported? I derived the platforms >>> from the comment in forte.cpp. >>> >>> Please review this change. I'm happy to incorporate your comments. >>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>> >>> Best regards, >>> Goetz. >>> From goetz.lindenmaier at sap.com Thu Jul 11 03:27:17 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Thu, 11 Jul 2013 10:27:17 +0000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <51DDD51D.4090505@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> <51DDB362.1020007@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF4D9B@DEWDFEMB12A.global.corp.sap> <51DDD51D.4090505@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF5148@DEWDFEMB12A.global.corp.sap> David, Vladimir, thanks for the reviews! Vladimir, will you push it, or should I do it? I added the Reviewed-by line to the webrev. http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Mittwoch, 10. Juli 2013 23:42 To: Lindenmaier, Goetz Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. On 7/10/13 2:00 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > I thought about that, too. But it seems quiet risky to me, > as it depends on the final order of inclusion whether it works. > Usually, macro.hpp will be included early, because it's basics that should > be seen everywhere. Also, it will end up early in the preprocessed > file as it has no other includes itself. > > If the system headers are included later, they will overrule the undef in > macro.hpp. > I think it's even some kind of pattern in the hotspot files to include the > system headers after the hotspot headers. > > So even if it works now, it easily might break. Agree. Your changes are good then. thanks, Vladimir > > Best regards, > Goetz. > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Wednesday, July 10, 2013 9:18 PM > To: Lindenmaier, Goetz > Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > Goetz, > > macros.hpp is included in all other files. Can we just undef IA64 there?: > > // This is a REALLY BIG HACK, but on AIX > unconditionally defines IA64. > // At least on AIX 7.1 this is a real problem because 'systemcfg.h' is > indirectly included > // by 'pthread.h' and other common system headers. > #ifdef AIX > #undef IA64 > #endif > > thanks, > Vladimir > > On 7/9/13 6:12 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> Here a webrev without the cleanups: >> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 9. Juli 2013 14:08 >> To: Lindenmaier, Goetz >> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >> >> On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >>> Hi David, >>> >>>> A curious thing to do ;-) >>> Yes, I agree. >>> >>>> Aside: presumably this is included in turn by other standard headers, >>>> not directly included - otherwise we could just undef IA64 after the >>>> include. >>> Yes, that's the case. >>> >>>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>>> think we may even have a RFE for this. AFAIK there are no remaining >>>> users of the IA64 code in the hotspot codebase. >>> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >>> Ia64. 8 in development, all soon based on hs25. We also contributed to >>> the change cleaning up the IA64 defines. There are only such left >>> we need in our code. >>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 >> >> I'm somewhat perplexed. The IA64 uses you still see in the hotspot >> sources are ancient remnants of the IA64 support. Most of it has been >> stripped out completely. So how anyone could be using any of this is, as >> I said, perplexing ??? >> >>>> #if defined(__GNUC__) && !defined(IA64) >>> You are right, I could just leave it as is, except if __GNUC__ is define on AIX, >>> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >>> inlined in our port on linux. >>>> more to avoid build-failures, but we may still want to avoid inlining >>>> them for other reasons! So this aspect needs further investigation. Or >>> I think it's a good idea to clean it up. The build problem >>> is documented. There may be 'other reasons', but unexpected issues >>> can be there with any change. >> >> But the aim is to avoid making gratuitous changes to code that is not >> part of the ppc64/AIX port. If you start inlining these functions you >> don't know what the impact will be. So why change them when it is not >> necessary. >> >> David >> ----- >> >>>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>> Again if we just get rid of IA64 this will be a non-issue right? >>> Here I would add !AIX. >>> But have a look at the file, there are also several other platforms >>> where this is excluded, and the exclusion is implemented differently >>> on each platform. Not that nice ... >>> >>> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >>> functional. >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Dienstag, 9. Juli 2013 03:56 >>> To: Lindenmaier, Goetz >>> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >>> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >>> >>> Hi Goetz, >>> >>> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>>> Hi, >>>> >>>> This is in preparation of the PPC AIX port. >>>> >>>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. >>> >>> A curious thing to do ;-) >>> >>> Aside: presumably this is included in turn by other standard headers, >>> not directly included - otherwise we could just undef IA64 after the >>> include. >>> >>>> This leads to wrong configurations of shared files on Aix where IA64 is used. >>>> This change replaces uses of "IA64" by "IA64 && !AIX". >>> >>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>> think we may even have a RFE for this. AFAIK there are no remaining >>> users of the IA64 code in the hotspot codebase. >>> >>>> To reduce the complexity we propose to simplify two matters: >>>> >>>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>>> define #define ATTR __attribute__((noinline)) claiming this is needed >>>> to avoid a gcc build time error with - at that time - old gcc versions. >>>> This define depends on IA64. We remove it altogether. >>> >>> Well it doesn't "depend" on IA64: >>> >>> #if defined(__GNUC__) && !defined(IA64) >>> // Need to inhibit inlining for older versions of GCC to avoid >>> build-time failures >>> #define ATTR __attribute__((noinline)) >>> #else >>> #define ATTR >>> #endif >>> >>> it becomes empty on IA64 (and non gcc systems). So removing it >>> altogether is changing things for all the other gcc using platforms. Now >>> it may be that we don't need to preclude inlining of these methods any >>> more to avoid build-failures, but we may still want to avoid inlining >>> them for other reasons! So this aspect needs further investigation. Or >>> you can just leave it as-is - if you have IA64 always defined then you >>> will get the empty #else part. Or if we go with the "eradicate IA64" >>> path then you can change IA64 to AIX (though it is odd to exchange an >>> architecture check with an OS check). >>> >>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>> support on windows, apple and ia64. We would have to add Aix. >>>> Instead, we propose to use a check for the supported platforms (see webrev). >>>> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >>>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>>> directories. >>> >>> Again if we just get rid of IA64 this will be a non-issue right? >>> >>> Thanks, >>> David >>> >>>> Are there other platforms that need to be supported? I derived the platforms >>>> from the comment in forte.cpp. >>>> >>>> Please review this change. I'm happy to incorporate your comments. >>>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>>> >>>> Best regards, >>>> Goetz. >>>> From vladimir.kozlov at oracle.com Thu Jul 11 10:23:30 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 11 Jul 2013 10:23:30 -0700 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF5148@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> <51DDB362.1020007@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF4D9B@DEWDFEMB12A.global.corp.sap> <51DDD51D.4090505@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF5148@DEWDFEMB12A.global.corp.sap> Message-ID: <51DEEA12.9010906@oracle.com> I will push it and will do sync of whole jdk forest from jdk8. Thanks, Vladimir On 7/11/13 3:27 AM, Lindenmaier, Goetz wrote: > David, Vladimir, thanks for the reviews! > > Vladimir, will you push it, or should I do it? > I added the Reviewed-by line to the webrev. > http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ > > Best regards, > Goetz. > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Mittwoch, 10. Juli 2013 23:42 > To: Lindenmaier, Goetz > Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > On 7/10/13 2:00 PM, Lindenmaier, Goetz wrote: >> Hi Vladimir, >> >> I thought about that, too. But it seems quiet risky to me, >> as it depends on the final order of inclusion whether it works. >> Usually, macro.hpp will be included early, because it's basics that should >> be seen everywhere. Also, it will end up early in the preprocessed >> file as it has no other includes itself. >> >> If the system headers are included later, they will overrule the undef in >> macro.hpp. >> I think it's even some kind of pattern in the hotspot files to include the >> system headers after the hotspot headers. >> >> So even if it works now, it easily might break. > > Agree. Your changes are good then. > > thanks, > Vladimir > >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >> Sent: Wednesday, July 10, 2013 9:18 PM >> To: Lindenmaier, Goetz >> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >> >> Goetz, >> >> macros.hpp is included in all other files. Can we just undef IA64 there?: >> >> // This is a REALLY BIG HACK, but on AIX >> unconditionally defines IA64. >> // At least on AIX 7.1 this is a real problem because 'systemcfg.h' is >> indirectly included >> // by 'pthread.h' and other common system headers. >> #ifdef AIX >> #undef IA64 >> #endif >> >> thanks, >> Vladimir >> >> On 7/9/13 6:12 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> Here a webrev without the cleanups: >>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Dienstag, 9. Juli 2013 14:08 >>> To: Lindenmaier, Goetz >>> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >>> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >>> >>> On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >>>> Hi David, >>>> >>>>> A curious thing to do ;-) >>>> Yes, I agree. >>>> >>>>> Aside: presumably this is included in turn by other standard headers, >>>>> not directly included - otherwise we could just undef IA64 after the >>>>> include. >>>> Yes, that's the case. >>>> >>>>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>>>> think we may even have a RFE for this. AFAIK there are no remaining >>>>> users of the IA64 code in the hotspot codebase. >>>> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >>>> Ia64. 8 in development, all soon based on hs25. We also contributed to >>>> the change cleaning up the IA64 defines. There are only such left >>>> we need in our code. >>>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 >>> >>> I'm somewhat perplexed. The IA64 uses you still see in the hotspot >>> sources are ancient remnants of the IA64 support. Most of it has been >>> stripped out completely. So how anyone could be using any of this is, as >>> I said, perplexing ??? >>> >>>>> #if defined(__GNUC__) && !defined(IA64) >>>> You are right, I could just leave it as is, except if __GNUC__ is define on AIX, >>>> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >>>> inlined in our port on linux. >>>>> more to avoid build-failures, but we may still want to avoid inlining >>>>> them for other reasons! So this aspect needs further investigation. Or >>>> I think it's a good idea to clean it up. The build problem >>>> is documented. There may be 'other reasons', but unexpected issues >>>> can be there with any change. >>> >>> But the aim is to avoid making gratuitous changes to code that is not >>> part of the ppc64/AIX port. If you start inlining these functions you >>> don't know what the impact will be. So why change them when it is not >>> necessary. >>> >>> David >>> ----- >>> >>>>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>>> Again if we just get rid of IA64 this will be a non-issue right? >>>> Here I would add !AIX. >>>> But have a look at the file, there are also several other platforms >>>> where this is excluded, and the exclusion is implemented differently >>>> on each platform. Not that nice ... >>>> >>>> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >>>> functional. >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Dienstag, 9. Juli 2013 03:56 >>>> To: Lindenmaier, Goetz >>>> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >>>> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >>>> >>>> Hi Goetz, >>>> >>>> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>>>> Hi, >>>>> >>>>> This is in preparation of the PPC AIX port. >>>>> >>>>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. >>>> >>>> A curious thing to do ;-) >>>> >>>> Aside: presumably this is included in turn by other standard headers, >>>> not directly included - otherwise we could just undef IA64 after the >>>> include. >>>> >>>>> This leads to wrong configurations of shared files on Aix where IA64 is used. >>>>> This change replaces uses of "IA64" by "IA64 && !AIX". >>>> >>>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>>> think we may even have a RFE for this. AFAIK there are no remaining >>>> users of the IA64 code in the hotspot codebase. >>>> >>>>> To reduce the complexity we propose to simplify two matters: >>>>> >>>>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>>>> define #define ATTR __attribute__((noinline)) claiming this is needed >>>>> to avoid a gcc build time error with - at that time - old gcc versions. >>>>> This define depends on IA64. We remove it altogether. >>>> >>>> Well it doesn't "depend" on IA64: >>>> >>>> #if defined(__GNUC__) && !defined(IA64) >>>> // Need to inhibit inlining for older versions of GCC to avoid >>>> build-time failures >>>> #define ATTR __attribute__((noinline)) >>>> #else >>>> #define ATTR >>>> #endif >>>> >>>> it becomes empty on IA64 (and non gcc systems). So removing it >>>> altogether is changing things for all the other gcc using platforms. Now >>>> it may be that we don't need to preclude inlining of these methods any >>>> more to avoid build-failures, but we may still want to avoid inlining >>>> them for other reasons! So this aspect needs further investigation. Or >>>> you can just leave it as-is - if you have IA64 always defined then you >>>> will get the empty #else part. Or if we go with the "eradicate IA64" >>>> path then you can change IA64 to AIX (though it is odd to exchange an >>>> architecture check with an OS check). >>>> >>>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>>> support on windows, apple and ia64. We would have to add Aix. >>>>> Instead, we propose to use a check for the supported platforms (see webrev). >>>>> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >>>>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>>>> directories. >>>> >>>> Again if we just get rid of IA64 this will be a non-issue right? >>>> >>>> Thanks, >>>> David >>>> >>>>> Are there other platforms that need to be supported? I derived the platforms >>>>> from the comment in forte.cpp. >>>>> >>>>> Please review this change. I'm happy to incorporate your comments. >>>>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> From goetz.lindenmaier at sap.com Thu Jul 11 14:38:43 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Thu, 11 Jul 2013 21:38:43 +0000 Subject: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. In-Reply-To: <51DEEA12.9010906@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF3680@DEWDFEMB12A.global.corp.sap> <51DB6DC7.1020900@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF3DF7@DEWDFEMB12A.global.corp.sap> <51DBFD23.90407@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF41F4@DEWDFEMB12A.global.corp.sap> <51DDB362.1020007@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF4D9B@DEWDFEMB12A.global.corp.sap> <51DDD51D.4090505@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF5148@DEWDFEMB12A.global.corp.sap> <51DEEA12.9010906@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF53E3@DEWDFEMB12A.global.corp.sap> Hi, that`s good, especially if we get 8014399: Remove JVM_SetProtectionDomain from hotspot into the staging repo so that all can be combined again. Thanks a lot, Goetz -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Thursday, July 11, 2013 7:24 PM To: Lindenmaier, Goetz Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. I will push it and will do sync of whole jdk forest from jdk8. Thanks, Vladimir On 7/11/13 3:27 AM, Lindenmaier, Goetz wrote: > David, Vladimir, thanks for the reviews! > > Vladimir, will you push it, or should I do it? > I added the Reviewed-by line to the webrev. > http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ > > Best regards, > Goetz. > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Mittwoch, 10. Juli 2013 23:42 > To: Lindenmaier, Goetz > Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. > > On 7/10/13 2:00 PM, Lindenmaier, Goetz wrote: >> Hi Vladimir, >> >> I thought about that, too. But it seems quiet risky to me, >> as it depends on the final order of inclusion whether it works. >> Usually, macro.hpp will be included early, because it's basics that should >> be seen everywhere. Also, it will end up early in the preprocessed >> file as it has no other includes itself. >> >> If the system headers are included later, they will overrule the undef in >> macro.hpp. >> I think it's even some kind of pattern in the hotspot files to include the >> system headers after the hotspot headers. >> >> So even if it works now, it easily might break. > > Agree. Your changes are good then. > > thanks, > Vladimir > >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >> Sent: Wednesday, July 10, 2013 9:18 PM >> To: Lindenmaier, Goetz >> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net' >> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >> >> Goetz, >> >> macros.hpp is included in all other files. Can we just undef IA64 there?: >> >> // This is a REALLY BIG HACK, but on AIX >> unconditionally defines IA64. >> // At least on AIX 7.1 this is a real problem because 'systemcfg.h' is >> indirectly included >> // by 'pthread.h' and other common system headers. >> #ifdef AIX >> #undef IA64 >> #endif >> >> thanks, >> Vladimir >> >> On 7/9/13 6:12 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> Here a webrev without the cleanups: >>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def-2/ >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Dienstag, 9. Juli 2013 14:08 >>> To: Lindenmaier, Goetz >>> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >>> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >>> >>> On 9/07/2013 7:56 PM, Lindenmaier, Goetz wrote: >>>> Hi David, >>>> >>>>> A curious thing to do ;-) >>>> Yes, I agree. >>>> >>>>> Aside: presumably this is included in turn by other standard headers, >>>>> not directly included - otherwise we could just undef IA64 after the >>>>> include. >>>> Yes, that's the case. >>>> >>>>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>>>> think we may even have a RFE for this. AFAIK there are no remaining >>>>> users of the IA64 code in the hotspot codebase. >>>> Yes, there is a remaining user. We have Java 4-7 VMs on linux, hp & win >>>> Ia64. 8 in development, all soon based on hs25. We also contributed to >>>> the change cleaning up the IA64 defines. There are only such left >>>> we need in our code. >>>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/9fae07c31641 >>> >>> I'm somewhat perplexed. The IA64 uses you still see in the hotspot >>> sources are ancient remnants of the IA64 support. Most of it has been >>> stripped out completely. So how anyone could be using any of this is, as >>> I said, perplexing ??? >>> >>>>> #if defined(__GNUC__) && !defined(IA64) >>>> You are right, I could just leave it as is, except if __GNUC__ is define on AIX, >>>> who knows ;). If we don't remove it, I need to add !PPC64 so that it's >>>> inlined in our port on linux. >>>>> more to avoid build-failures, but we may still want to avoid inlining >>>>> them for other reasons! So this aspect needs further investigation. Or >>>> I think it's a good idea to clean it up. The build problem >>>> is documented. There may be 'other reasons', but unexpected issues >>>> can be there with any change. >>> >>> But the aim is to avoid making gratuitous changes to code that is not >>> part of the ppc64/AIX port. If you start inlining these functions you >>> don't know what the impact will be. So why change them when it is not >>> necessary. >>> >>> David >>> ----- >>> >>>>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>>> Again if we just get rid of IA64 this will be a non-issue right? >>>> Here I would add !AIX. >>>> But have a look at the file, there are also several other platforms >>>> where this is excluded, and the exclusion is implemented differently >>>> on each platform. Not that nice ... >>>> >>>> Anyways, I'm fine with adding !AIX/!PPC64 everywhere -- it's nothing >>>> functional. >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Dienstag, 9. Juli 2013 03:56 >>>> To: Lindenmaier, Goetz >>>> Cc: ppc-aix-port-dev at openjdk.java.net; 'hotspot-dev at openjdk.java.net'; Vladimir Kozlov >>>> Subject: Re: RFR(M): 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. >>>> >>>> Hi Goetz, >>>> >>>> On 8/07/2013 10:45 PM, Lindenmaier, Goetz wrote: >>>>> Hi, >>>>> >>>>> This is in preparation of the PPC AIX port. >>>>> >>>>> A header file (systemcfg.h) on Aix 7.1 defines the macro "IA64" unconditionally. >>>> >>>> A curious thing to do ;-) >>>> >>>> Aside: presumably this is included in turn by other standard headers, >>>> not directly included - otherwise we could just undef IA64 after the >>>> include. >>>> >>>>> This leads to wrong configurations of shared files on Aix where IA64 is used. >>>>> This change replaces uses of "IA64" by "IA64 && !AIX". >>>> >>>> Might be simpler if we just eradicate the IA64 remnants in the code. I >>>> think we may even have a RFE for this. AFAIK there are no remaining >>>> users of the IA64 code in the hotspot codebase. >>>> >>>>> To reduce the complexity we propose to simplify two matters: >>>>> >>>>> Since the initial checkin objectMonitor.cpp and synchronizer.cpp >>>>> define #define ATTR __attribute__((noinline)) claiming this is needed >>>>> to avoid a gcc build time error with - at that time - old gcc versions. >>>>> This define depends on IA64. We remove it altogether. >>>> >>>> Well it doesn't "depend" on IA64: >>>> >>>> #if defined(__GNUC__) && !defined(IA64) >>>> // Need to inhibit inlining for older versions of GCC to avoid >>>> build-time failures >>>> #define ATTR __attribute__((noinline)) >>>> #else >>>> #define ATTR >>>> #endif >>>> >>>> it becomes empty on IA64 (and non gcc systems). So removing it >>>> altogether is changing things for all the other gcc using platforms. Now >>>> it may be that we don't need to preclude inlining of these methods any >>>> more to avoid build-failures, but we may still want to avoid inlining >>>> them for other reasons! So this aspect needs further investigation. Or >>>> you can just leave it as-is - if you have IA64 always defined then you >>>> will get the empty #else part. Or if we go with the "eradicate IA64" >>>> path then you can change IA64 to AIX (though it is odd to exchange an >>>> architecture check with an OS check). >>>> >>>>> prims/forte.cpp uses a lot of different mechanisms all disabling forte >>>>> support on windows, apple and ia64. We would have to add Aix. >>>>> Instead, we propose to use a check for the supported platforms (see webrev). >>>>> We could also add a macro SUPPORTS_FORTE that is defined in the corresponding >>>>> makefiles, and/or move forte.cpp into the os/solaris and os_cpu/linux_x86 >>>>> directories. >>>> >>>> Again if we just get rid of IA64 this will be a non-issue right? >>>> >>>> Thanks, >>>> David >>>> >>>>> Are there other platforms that need to be supported? I derived the platforms >>>>> from the comment in forte.cpp. >>>>> >>>>> Please review this change. I'm happy to incorporate your comments. >>>>> http://cr.openjdk.java.net/~goetz/webrevs/8019973-ia64_def/aixia64-hotspot.changeset >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> From vladimir.kozlov at oracle.com Thu Jul 11 17:02:00 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 00:02:00 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. Message-ID: <20130712000204.84A7E48A09@hg.openjdk.java.net> Changeset: 75ef1a499665 Author: goetz Date: 2013-07-05 22:17 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/75ef1a499665 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. Summary: On AIX 7.1 systemcfg.h defines IA64 unconditionally, so test for !AIX where IA64 is used. Reviewed-by: dholmes, kvn ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/utilities/macros.hpp From vladimir.kozlov at oracle.com Thu Jul 11 19:20:44 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:20:44 +0000 Subject: hg: ppc-aix-port/stage/jaxp: 5 new changesets Message-ID: <20130712022058.1EF7548A12@hg.openjdk.java.net> Changeset: 403f882ecc94 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxp/rev/403f882ecc94 Added tag jdk8-b96 for changeset 6121efd29923 ! .hgtags Changeset: c96691d84a7c Author: katleman Date: 2013-06-28 16:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxp/rev/c96691d84a7c 8019347: JDK8 b96 source with GPL header errors Reviewed-by: iris, alanb, lancea ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.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_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_de.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_es.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_it.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_TW.properties Changeset: 6c830db28d21 Author: katleman Date: 2013-07-02 15:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxp/rev/6c830db28d21 Merge Changeset: 15e5bb51bc0c Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxp/rev/15e5bb51bc0c Added tag jdk8-b97 for changeset 6c830db28d21 ! .hgtags Changeset: adf49c3ef83c Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxp/rev/adf49c3ef83c Added tag jdk8-b98 for changeset 15e5bb51bc0c ! .hgtags From vladimir.kozlov at oracle.com Thu Jul 11 19:20:38 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:20:38 +0000 Subject: hg: ppc-aix-port/stage/corba: 3 new changesets Message-ID: <20130712022040.D947748A11@hg.openjdk.java.net> Changeset: 469995a8e974 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/corba/rev/469995a8e974 Added tag jdk8-b96 for changeset 3357c2776431 ! .hgtags Changeset: 3370fb6146e4 Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/corba/rev/3370fb6146e4 Added tag jdk8-b97 for changeset 469995a8e974 ! .hgtags Changeset: 3f67804ab613 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/corba/rev/3f67804ab613 Added tag jdk8-b98 for changeset 3370fb6146e4 ! .hgtags From vladimir.kozlov at oracle.com Thu Jul 11 19:21:01 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:21:01 +0000 Subject: hg: ppc-aix-port/stage/jaxws: 3 new changesets Message-ID: <20130712022110.C03F248A13@hg.openjdk.java.net> Changeset: dcde7f049111 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxws/rev/dcde7f049111 Added tag jdk8-b96 for changeset 690d34b326bc ! .hgtags Changeset: b1fb4612a2ca Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxws/rev/b1fb4612a2ca Added tag jdk8-b97 for changeset dcde7f049111 ! .hgtags Changeset: 8ef83d4b23c9 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxws/rev/8ef83d4b23c9 Added tag jdk8-b98 for changeset b1fb4612a2ca ! .hgtags From vladimir.kozlov at oracle.com Thu Jul 11 19:23:30 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:23:30 +0000 Subject: hg: ppc-aix-port/stage/nashorn: 35 new changesets Message-ID: <20130712022403.1AFFE48A15@hg.openjdk.java.net> Changeset: 1bf1d6ce3042 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/1bf1d6ce3042 Added tag jdk8-b96 for changeset d6bd440ac5b9 ! .hgtags Changeset: da63a99481da Author: cl Date: 2013-07-04 01:01 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/da63a99481da Added tag jdk8-b97 for changeset 1bf1d6ce3042 ! .hgtags Changeset: 6a75a505301f Author: sundar Date: 2013-06-18 18:43 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/6a75a505301f 8012698: [nashorn] tests fail to run with agentvm or samevm Reviewed-by: hannesw, jlaskey ! test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java ! test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java Changeset: 7276d66b7118 Author: jlaskey Date: 2013-06-19 09:10 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/7276d66b7118 8010697: DeletedArrayFilter seems to leak memory Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + test/script/basic/JDK-8010697.js + test/script/basic/JDK-8010697.js.EXPECTED Changeset: c7c9222cfe69 Author: sundar Date: 2013-06-19 21:07 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/c7c9222cfe69 8015347: Parsing issue with decodeURIComponent Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/runtime/URIUtils.java + test/script/basic/JDK-8015347.js Changeset: ac404bf3f8c8 Author: sundar Date: 2013-06-20 13:45 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/ac404bf3f8c8 8017046: Cannot assign undefined to a function argument if the function uses arguments object Reviewed-by: hannesw ! src/jdk/nashorn/internal/objects/NativeArguments.java + test/script/basic/JDK-8017046.js Changeset: c7672e621b14 Author: sundar Date: 2013-06-20 17:34 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/c7672e621b14 Merge Changeset: 8e03121cc286 Author: sundar Date: 2013-06-21 16:55 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/8e03121cc286 8017260: adjust lookup code in objects.* classes Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java Changeset: b4e2bccf9598 Author: sundar Date: 2013-06-21 17:33 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/b4e2bccf9598 Merge Changeset: c30beaf3c42a Author: jlaskey Date: 2013-06-21 14:34 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/c30beaf3c42a 8010732: BigDecimal, BigInteger and Long handling in nashorn Reviewed-by: sundar Contributed-by: james.laskey at oracle.com + test/script/basic/JDK-8010732.js + test/script/basic/JDK-8010732.js.EXPECTED Changeset: 2ded2fc08c94 Author: jlaskey Date: 2013-06-22 10:12 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/2ded2fc08c94 8017448: JDK-8010732.js.EXPECTED truncated Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! test/script/basic/JDK-8010732.js.EXPECTED Changeset: 51a5ee93d6bc Author: sundar Date: 2013-06-24 19:06 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/51a5ee93d6bc 8015959: Can't call foreign constructor Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/JSObject.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java + test/script/basic/JDK-8015959.js + test/script/basic/JDK-8015959.js.EXPECTED Changeset: 26a345c26e62 Author: sundar Date: 2013-06-25 17:31 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/26a345c26e62 8015969: Needs to enforce and document that global "context" and "engine" can't be modified when running via jsr223 Reviewed-by: hannesw, jlaskey ! docs/JavaScriptingProgrammersGuide.html ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java + test/script/basic/JDK-8015969.js Changeset: 39e17373d8df Author: sundar Date: 2013-06-26 16:36 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/39e17373d8df 8017950: error.stack should be a string rather than an array Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! test/script/basic/JDK-8012164.js ! test/script/basic/JDK-8012164.js.EXPECTED + test/script/basic/JDK-8017950.js + test/script/basic/JDK-8017950.js.EXPECTED ! test/script/basic/NASHORN-109.js ! test/script/basic/NASHORN-296.js ! test/script/basic/errorstack.js Changeset: 682889823712 Author: jlaskey Date: 2013-06-26 08:36 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/682889823712 8008458: Strict functions dont share property map Reviewed-by: sundar, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java Changeset: 80c66d3fd872 Author: hannesw Date: 2013-06-26 15:40 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/80c66d3fd872 8019157: Avoid calling ScriptObject.setProto() if possible Reviewed-by: jlaskey, sundar ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeMath.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/FunctionScope.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/scripts/JO.java Changeset: 635098f9f45e Author: sundar Date: 2013-06-26 19:42 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/635098f9f45e 8014781: support Error.captureStackTrace Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/internal/objects/NativeError.java + test/script/basic/JDK-8014781.js + test/script/basic/JDK-8014781.js.EXPECTED Changeset: d1886ad46f0c Author: jlaskey Date: 2013-06-26 12:38 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/d1886ad46f0c 8019175: Simplify ScriptObject.modifyOwnProperty Reviewed-by: hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java Changeset: f9c855b828fe Author: sundar Date: 2013-06-27 13:24 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/f9c855b828fe 8019226: line number not generated for first statement if it is on the same function declaration line Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8019226.js + test/script/basic/JDK-8019226.js.EXPECTED Changeset: 5ec4762d9df0 Author: sundar Date: 2013-06-27 13:47 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/5ec4762d9df0 Merge Changeset: 90864d892593 Author: lana Date: 2013-06-28 19:48 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/90864d892593 Merge Changeset: 218c2833c344 Author: sundar Date: 2013-06-28 19:36 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/218c2833c344 8019365: Error stack format Reviewed-by: hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/internal/objects/NativeError.java ! test/script/basic/JDK-8014781.js.EXPECTED ! test/script/basic/JDK-8017950.js.EXPECTED ! test/script/basic/JDK-8019226.js ! test/script/basic/JDK-8019226.js.EXPECTED Changeset: 02588d68399d Author: sundar Date: 2013-07-01 12:38 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/02588d68399d 8019473: Parser issues related to functions and blocks Reviewed-by: lagergren ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8019473.js Changeset: 10c7a1e9e24f Author: sundar Date: 2013-07-01 14:15 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/10c7a1e9e24f 8019478: Object.prototype.toString.call(/a/.exec("a")) === "[object Array]" should be true Reviewed-by: hannesw ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java + test/script/basic/JDK-8019478.js Changeset: 47099609a48b Author: sundar Date: 2013-07-01 17:21 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/47099609a48b 8019482: Number("0x0.0p0") should evaluate to NaN Reviewed-by: lagergren ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/JSType.java + test/script/basic/JDK-8019482.js Changeset: ab3ea5b3e507 Author: sundar Date: 2013-07-01 19:52 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/ab3ea5b3e507 8019488: switch on literals result in NoSuchMethodError or VerifyError Reviewed-by: hannesw ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8019488.js Changeset: 9165138b427c Author: sundar Date: 2013-07-01 23:36 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/9165138b427c 8019508: Comma handling in object literal parsing is wrong Reviewed-by: hannesw ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8019508.js + test/script/basic/JDK-8019508.js.EXPECTED Changeset: 5f9abeb0bb50 Author: jlaskey Date: 2013-07-02 07:45 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/5f9abeb0bb50 8019580: Build Script Change for Nashorn promotion testing Reviewed-by: jlaskey Contributed-by: eugene.drobitko at oracle.com ! make/build.xml Changeset: a7b82e333c31 Author: lagergren Date: 2013-07-02 13:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/a7b82e333c31 8016667: Wrong bytecode when testing/setting due to null check shortcut checking against primitive too Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8016667.js Changeset: 74049fe3ba46 Author: sundar Date: 2013-07-02 18:00 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/74049fe3ba46 8019553: NPE on illegal l-value for increment and decrement Reviewed-by: jlaskey, attila, lagergren ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8019553.js + test/script/basic/JDK-8019553.js.EXPECTED ! test/script/basic/NASHORN-51.js ! test/script/basic/NASHORN-51.js.EXPECTED ! test/script/error/NASHORN-57.js.EXPECTED Changeset: 9396e42bae4f Author: lagergren Date: 2013-07-02 14:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/9396e42bae4f 8017082: Long array literals were slightly broken Reviewed-by: sundar, attila ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/LiteralNode.java + test/script/basic/JDK-8017082.js Changeset: 69ec02d12a31 Author: lagergren Date: 2013-07-02 15:01 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/69ec02d12a31 Merge Changeset: 16c4535abcf8 Author: sundar Date: 2013-07-02 18:39 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/16c4535abcf8 Merge Changeset: 542b7803f038 Author: lana Date: 2013-07-05 11:05 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/542b7803f038 Merge Changeset: 10a1ab9e20a4 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/10a1ab9e20a4 Added tag jdk8-b98 for changeset 542b7803f038 ! .hgtags From vladimir.kozlov at oracle.com Thu Jul 11 19:21:17 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:21:17 +0000 Subject: hg: ppc-aix-port/stage/langtools: 34 new changesets Message-ID: <20130712022317.46DF748A14@hg.openjdk.java.net> Changeset: 6a11a81a8824 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/6a11a81a8824 Added tag jdk8-b96 for changeset 988aef3a8c3a ! .hgtags Changeset: 2364e94ae67b Author: cl Date: 2013-07-04 01:01 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/2364e94ae67b Added tag jdk8-b97 for changeset 6a11a81a8824 ! .hgtags Changeset: 6debfa63a4a1 Author: vromero Date: 2013-06-20 08:45 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/6debfa63a4a1 8016613: javac should avoid source 8 only analysis when compiling for source 7 Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Changeset: e9ebff1840e5 Author: emc Date: 2013-06-20 19:01 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/e9ebff1840e5 8007546: ClassCastException on JSR308 tests 8015993: jck-compiler tests are failed with java.lang.ClassCastException Summary: Fix ClassCastExceptions arising from addition of AnnotatedType. Reviewed-by: jjg, abuckley ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java Changeset: bf020de5a6db Author: emc Date: 2013-06-24 22:03 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/bf020de5a6db 8012722: Single comma in array initializer should parse Summary: Annotations of the form @Foo({,}) should parse Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/parser/SingleCommaAnnotationValue.java + test/tools/javac/parser/SingleCommaAnnotationValueFail.java + test/tools/javac/parser/SingleCommaAnnotationValueFail.out Changeset: 831467c4c6a7 Author: vromero Date: 2013-06-25 16:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/831467c4c6a7 8017104: javac should have a class for primitive types that inherits from Type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeTag.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java Changeset: aceae9ceebbe Author: kizune Date: 2013-06-25 20:08 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/aceae9ceebbe 8006973: jtreg test fails: test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Reviewed-by: ksrini ! test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Changeset: c2d9303c3477 Author: ksrini Date: 2013-06-26 09:54 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/c2d9303c3477 8016908: TEST_BUG: removing non-ascii characters causes tests to fail Reviewed-by: jjg, vromero ! test/tools/javac/api/6437999/T6437999.java - test/tools/javac/api/6437999/Utf8.java ! test/tools/javac/api/T6306137.java Changeset: 3b2e10524627 Author: jjg Date: 2013-06-26 18:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/3b2e10524627 8014137: Update test/tools/javac/literals/UnderscoreLiterals to add testcases with min/max values Reviewed-by: jjg, darcy Contributed-by: matherey.nunez at oracle.com ! test/tools/javac/literals/UnderscoreLiterals.java Changeset: 4fe5aab73bb2 Author: bpatel Date: 2013-06-26 20:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/4fe5aab73bb2 8007338: Method grouping tab line-folding Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! test/com/sun/javadoc/testStylesheet/TestStylesheet.java Changeset: 27bd6a2302f6 Author: bpatel Date: 2013-06-26 20:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/27bd6a2302f6 8014017: extra space in javadoc class heading Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java Changeset: 36e8bc1907a2 Author: bpatel Date: 2013-06-26 20:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/36e8bc1907a2 8013738: Two javadoc tests have bug 0000000 Reviewed-by: jjg ! test/com/sun/javadoc/testNestedInlineTag/TestNestedInlineTag.java ! test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java Changeset: c674b396827c Author: emc Date: 2013-06-27 00:37 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/c674b396827c 8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters Summary: The compiler does not account fr extra parameters due to inner this parameters Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/main/Main.java + test/tools/javac/limits/NestedClassConstructorArgs.java + test/tools/javac/limits/NestedClassMethodArgs.java - test/tools/javac/limits/NumArgs1.java - test/tools/javac/limits/NumArgs2.java - test/tools/javac/limits/NumArgs3.java - test/tools/javac/limits/NumArgs4.java + test/tools/javac/limits/NumArgsTest.java + test/tools/javac/limits/StaticNestedClassConstructorArgs.java + test/tools/javac/limits/TopLevelClassConstructorArgs.java + test/tools/javac/limits/TopLevelClassMethodArgs.java + test/tools/javac/limits/TopLevelClassStaticMethodArgs.java Changeset: dcc6a52bf363 Author: erikj Date: 2013-06-27 10:35 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/dcc6a52bf363 8014513: Sjavac doesn't detect 32-bit jvm properly Reviewed-by: jjg ! src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Changeset: a47e28759666 Author: vromero Date: 2013-06-27 09:51 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/a47e28759666 7066788: javah again accepts -old option (ineffectively) which was removed in 1.5. Reviewed-by: jjg ! src/share/classes/com/sun/tools/javah/JavahTask.java Changeset: 8e3d391c88c6 Author: vromero Date: 2013-06-27 09:54 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/8e3d391c88c6 8017609: javac, ClassFile.read(Path) should be ClassFile.read(Path, Attribute.Factory) Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/ClassFile.java Changeset: e42c27026290 Author: vromero Date: 2013-06-27 16:04 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/e42c27026290 8016099: Some @SuppressWarnings annotations ignored ( unchecked, rawtypes ) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/T8016099/UncheckedWarningRegressionTest.java + test/tools/javac/T8016099/UncheckedWarningRegressionTest.out Changeset: d137ce373c4c Author: vromero Date: 2013-06-27 16:06 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/d137ce373c4c 7008643: inlined finally clauses confuse debuggers Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/T7008643/InlinedFinallyConfuseDebuggersTest.java Changeset: 26437287529d Author: janvalenta Date: 2013-06-27 17:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/26437287529d 8015720: since tag isn't copied while generating JavaFX documentation Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! test/com/sun/javadoc/testJavaFX/C.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java Changeset: 065f8cb7bd89 Author: darcy Date: 2013-06-27 11:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/065f8cb7bd89 8019308: Add descriptions of Java SE 7 and 8 language changes to SourceVersion Reviewed-by: jjg ! src/share/classes/javax/lang/model/SourceVersion.java Changeset: 97e798c06804 Author: ksrini Date: 2013-06-27 12:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/97e798c06804 7080001: Need to bump version numbers in build.properties for 8 Reviewed-by: jjg ! make/build.properties Changeset: 5c548a8542b8 Author: emc Date: 2013-06-27 17:45 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/5c548a8542b8 8013357: javac accepts erroneous binary comparison operations Summary: javac does not report type errors on illegal Object == primitive comparisons Reviewed-by: abuckley, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! test/tools/javac/lambda/LambdaConv01.java ! test/tools/javac/lambda/LambdaExpr15.java ! test/tools/javac/lambda/typeInference/InferenceTest2b.java + test/tools/javac/types/TestComparisons.java Changeset: 6101e52ce9e3 Author: emc Date: 2013-06-28 06:54 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/6101e52ce9e3 8016760: Failure of regression test langtools/tools/javac/T6725036.java Summary: Marking the failing test @ignore; the proposed change for 8015666 addresses the underlying issue Reviewed-by: jjg ! test/tools/javac/T6725036.java Changeset: bb06c412d079 Author: vromero Date: 2013-06-28 13:20 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/bb06c412d079 6473148: TreePath.iterator() should document the iteration order Reviewed-by: mcimadamore ! src/share/classes/com/sun/source/util/TreePath.java Changeset: bdd699d7378d Author: vromero Date: 2013-06-28 14:36 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/bdd699d7378d 8005552: c.s.t.javap.AttributeWriter.visitLocalVariableTable() uses incorrect format string Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: 66147d50d8d6 Author: lana Date: 2013-06-28 19:47 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/66147d50d8d6 Merge Changeset: 891c5ecb8306 Author: vromero Date: 2013-06-29 20:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/891c5ecb8306 6983646: javap should identify why a DefaultAttribute is being used Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/DefaultAttribute.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: f559ef7568ce Author: mcimadamore Date: 2013-07-01 14:57 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/f559ef7568ce 7034798: Ambiguity error for abstract method call is too eager Summary: Javac should wait and see if ambiguous methods can be reconciled at the end of an overload resolution round Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/resolve/ResolveHarness.java + test/tools/javac/resolve/tests/AbstractMerge.java ! test/tools/javac/resolve/tests/InnerOverOuter.java Changeset: 1908e86ee49a Author: darcy Date: 2013-07-01 11:58 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/1908e86ee49a 7162089: Add support for repeating annotations to javax.annotation.processing Reviewed-by: abuckley, jjg, jfranck ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java ! src/share/classes/javax/annotation/processing/AbstractProcessor.java ! src/share/classes/javax/annotation/processing/Processor.java ! test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java + test/tools/javac/processing/environment/round/TpAnno.java + test/tools/javac/processing/environment/round/TypeParameterAnnotations.java Changeset: 27a2e8c78bd0 Author: vromero Date: 2013-07-02 10:21 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/27a2e8c78bd0 8019397: javap does not show SourceDebugExtension properly Reviewed-by: jjg Contributed-by: dmytro_sheyko at hotmail.com ! src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: 565341d436e2 Author: ksrini Date: 2013-07-01 16:36 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/565341d436e2 8019460: tests in changeset do not have @bug tag Reviewed-by: darcy ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.java ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.out ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary.java ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary1.out ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary2.out ! test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Changeset: 3b4f92a3797f Author: vromero Date: 2013-07-02 22:49 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/3b4f92a3797f 6326693: variable x might already have been assigned, when assignment is in catch block Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Flow.java + test/tools/javac/T6326693/FinalVariableAssignedToInCatchBlockTest.java + test/tools/javac/T6326693/FinalVariableAssignedToInCatchBlockTest.out Changeset: ce5a90df517b Author: lana Date: 2013-07-05 11:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/ce5a90df517b Merge Changeset: bdeef606be8e Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/bdeef606be8e Added tag jdk8-b98 for changeset ce5a90df517b ! .hgtags From vladimir.kozlov at oracle.com Thu Jul 11 19:30:33 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:30:33 +0000 Subject: hg: ppc-aix-port/stage/jdk: 92 new changesets Message-ID: <20130712024903.19B7B48A16@hg.openjdk.java.net> Changeset: 2f1386fc2079 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/2f1386fc2079 Added tag jdk8-b96 for changeset 4a5d3cf2b3af ! .hgtags Changeset: 8339c83b16c6 Author: ehelin Date: 2013-07-02 13:06 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/8339c83b16c6 8019500: Exclude MemoryTest.java and MemoryTestAllGC.sh to enable integration Reviewed-by: erikj, alanb ! test/ProblemList.txt Changeset: 87cab043cb5e Author: katleman Date: 2013-06-28 16:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/87cab043cb5e 8019347: JDK8 b96 source with GPL header errors Reviewed-by: iris, alanb, lancea ! makefiles/sun/awt/ToBin.java ! src/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java ! test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java ! test/java/lang/ThreadGroup/Suspend.java Changeset: 978a95239044 Author: katleman Date: 2013-07-02 15:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/978a95239044 Merge Changeset: 4b21dcfdcc3b Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/4b21dcfdcc3b Added tag jdk8-b97 for changeset 978a95239044 ! .hgtags Changeset: 5cfcd545ce4a Author: vadim Date: 2013-06-26 13:49 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/5cfcd545ce4a 8016254: several sun/java2d/OpenGL tests failed with SIGFPE Reviewed-by: prr, bae ! src/share/native/sun/java2d/opengl/OGLContext.c Changeset: 3ffa38871143 Author: lana Date: 2013-06-28 19:37 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/3ffa38871143 Merge - make/sun/xawt/ToBin.java - makefiles/sun/awt/X11/ToBin.java - src/share/classes/sun/misc/FDBigInt.java - src/share/classes/sun/misc/Hashing.java - src/solaris/classes/sun/awt/X11/XIconInfo.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png - test/java/lang/invoke/7196190/MHProxyTest.java - test/sun/misc/Hashing.java Changeset: 6dda4a069a83 Author: prr Date: 2013-07-01 12:39 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/6dda4a069a83 8015144: Performance regression in ICU OpenType Layout library Reviewed-by: srl, jgodinez ! make/sun/font/Makefile ! makefiles/CompileNativeLibraries.gmk ! src/share/native/sun/font/layout/GlyphIterator.cpp ! src/share/native/sun/font/layout/GlyphIterator.h ! src/share/native/sun/font/layout/LETableReference.h ! src/share/native/sun/font/layout/OpenTypeUtilities.cpp Changeset: 6d2b5ec2ec79 Author: prr Date: 2013-07-02 14:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/6d2b5ec2ec79 8019692: JDK build CC_OPT_HIGHEST setting isn't valid for Sun C++ compiler Reviewed-by: jgodinez ! make/sun/font/Makefile ! makefiles/CompileNativeLibraries.gmk Changeset: 1c607ebfc180 Author: leonidr Date: 2013-06-20 18:50 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/1c607ebfc180 8014264: The applet pathguy_TimeDead throws java.lang.NullPointerException in java console once click drop-down check box. Reviewed-by: art, anthony, serb ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java ! src/solaris/classes/sun/awt/X11/XListPeer.java Changeset: b7b95b7ab2cb Author: malenkov Date: 2013-06-21 17:13 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/b7b95b7ab2cb 8016545: java.beans.XMLEncoder.writeObject output is wrong Reviewed-by: alexsch ! src/share/classes/java/beans/XMLEncoder.java + test/java/beans/XMLEncoder/Test8016545.java Changeset: eed321190272 Author: alitvinov Date: 2013-06-21 21:30 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/eed321190272 8007642: Media Names on Java Print Do Not Match the Printer???s and Confuse Users Reviewed-by: prr, jgodinez ! src/windows/classes/sun/print/Win32PrintService.java Changeset: e5bac76282f7 Author: pchelko Date: 2013-06-27 13:56 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/e5bac76282f7 8019236: [macosx] Add javadoc to the handleWindowFocusEvent in CEmbeddedFrame Reviewed-by: serb, ant ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java Changeset: 72f167edf630 Author: dmarkov Date: 2013-06-28 18:32 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/72f167edf630 8016534: javax/swing/text/View/8014863/bug8014863.java failed Reviewed-by: alexp, alexsch ! test/javax/swing/text/View/8014863/bug8014863.java Changeset: 228ec4b9111a Author: lana Date: 2013-06-28 18:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/228ec4b9111a Merge - make/sun/xawt/ToBin.java - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java - src/share/classes/sun/misc/FDBigInt.java - src/share/classes/sun/misc/Hashing.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XListPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png ! src/windows/classes/sun/print/Win32PrintService.java - test/java/lang/invoke/7196190/MHProxyTest.java - test/sun/misc/Hashing.java Changeset: 6fc558b41d8e Author: lana Date: 2013-07-02 15:20 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/6fc558b41d8e Merge Changeset: 656ea2349aa5 Author: psandoz Date: 2013-06-20 10:45 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/656ea2349aa5 8016308: Updates to j.u.stream.Node/Nodes Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! src/share/classes/java/util/stream/Node.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/SliceOps.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java Changeset: 85524d9839dc Author: psandoz Date: 2013-06-20 11:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/85524d9839dc 8016324: filter/flatMap pipeline sinks should pass size information to downstream sink Reviewed-by: chegar, mduigou Contributed-by: Brian Goetz ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/ReferencePipeline.java Changeset: f758d7c24396 Author: psandoz Date: 2013-06-20 11:15 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/f758d7c24396 8016455: Sync stream tests from lambda to tl Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! test/java/util/stream/bootlib/java/util/stream/IntStreamTestDataProvider.java ! test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java + test/java/util/stream/bootlib/java/util/stream/LoggingTestCase.java ! test/java/util/stream/bootlib/java/util/stream/OpTestCase.java ! test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java ! test/java/util/stream/boottest/java/util/stream/NodeTest.java ! test/java/util/stream/boottest/java/util/stream/UnorderedTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/GroupByOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntSliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntUniqOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MatchOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ReduceByOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamLinkTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java Changeset: 562f5cf13a9c Author: psandoz Date: 2013-06-20 11:21 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/562f5cf13a9c 8016139: PrimitiveIterator.forEachRemaining Reviewed-by: alanb ! src/share/classes/java/util/PrimitiveIterator.java Changeset: a44bd993ce93 Author: xuelei Date: 2013-06-20 07:48 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/a44bd993ce93 8017157: catch more exception in test RejectClientRenego Reviewed-by: vinnie ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java Changeset: 49b78ec058fb Author: mduigou Date: 2013-06-20 07:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/49b78ec058fb 8017088: Map/HashMap.compute() incorrect with key mapping to null value Reviewed-by: dl, dholmes, plevart ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Map.java ! test/java/util/Map/Defaults.java Changeset: 9fa37bd38d4b Author: mduigou Date: 2013-06-20 08:21 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/9fa37bd38d4b Merge Changeset: bf2bacf934d1 Author: chegar Date: 2013-06-20 18:53 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/bf2bacf934d1 8014499: MulticastSocket should enable IP_MULTICAST_ALL (lnx) Reviewed-by: alanb, chegar Contributed-by: John Zavgren , Chris Hegarty ! src/solaris/native/java/net/PlainDatagramSocketImpl.c + test/java/net/MulticastSocket/Promiscuous.java Changeset: cd06fc069152 Author: alanb Date: 2013-06-20 19:14 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/cd06fc069152 8014377: (dc) DatagramChannel should set IP_MULTICAST_ALL=0 (lnx) Reviewed-by: chegar, jzavgren ! src/solaris/native/sun/nio/ch/Net.c + test/java/nio/channels/DatagramChannel/Promiscuous.java Changeset: 4503e04141f7 Author: weijun Date: 2013-06-21 18:26 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/4503e04141f7 8001326: Improve Kerberos caching Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbApRep.java ! src/share/classes/sun/security/krb5/KrbApReq.java + src/share/classes/sun/security/krb5/internal/ReplayCache.java + src/share/classes/sun/security/krb5/internal/rcache/AuthList.java ! src/share/classes/sun/security/krb5/internal/rcache/AuthTime.java + src/share/classes/sun/security/krb5/internal/rcache/AuthTimeWithHash.java - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java + src/share/classes/sun/security/krb5/internal/rcache/DflCache.java + src/share/classes/sun/security/krb5/internal/rcache/MemoryCache.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java + test/java/security/testlibrary/Proc.java ! test/sun/security/krb5/auto/AcceptorSubKey.java + test/sun/security/krb5/auto/BasicProc.java ! test/sun/security/krb5/auto/Context.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/NoneReplayCacheTest.java - test/sun/security/krb5/auto/ReplayCache.java + test/sun/security/krb5/auto/ReplayCacheExpunge.java + test/sun/security/krb5/auto/ReplayCachePrecise.java + test/sun/security/krb5/auto/ReplayCacheTest.java + test/sun/security/krb5/auto/ReplayCacheTestProc.java ! test/sun/security/krb5/ccache/EmptyCC.java Changeset: a88f6f4d279f Author: bpb Date: 2013-06-21 11:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/a88f6f4d279f 7192954: Fix Float.parseFloat to round correctly and preserve monotonicity. 4396272: Parsing doubles fails to follow IEEE for largest decimal that should yield 0 7039391: Use Math.ulp in FloatingDecimal Summary: Correct rounding and monotonicity problems in floats and doubles Reviewed-by: bpb, martin Contributed-by: Dmitry Nadezhin , Louis Wasserman ! src/share/classes/sun/misc/FDBigInteger.java ! src/share/classes/sun/misc/FloatingDecimal.java ! test/java/lang/Double/ParseDouble.java ! test/java/lang/Float/ParseFloat.java ! test/sun/misc/FloatingDecimal/TestFDBigInteger.java Changeset: 814759462705 Author: bpb Date: 2013-06-21 11:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/814759462705 7131192: BigInteger.doubleValue() is depressingly slow Summary: In doubleValue() and floatValue() replace converting to String and parsing to Double or Float with direct conversion into IEEE 754 bits. Reviewed-by: bpb, drchase, martin Contributed-by: Louis Wasserman ! src/share/classes/java/math/BigInteger.java + test/java/math/BigInteger/PrimitiveConversionTests.java Changeset: 8b84d557570c Author: naoto Date: 2013-06-21 13:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/8b84d557570c 6863624: java/util/Currency/PropertiesTest.sh writable check is incorrect Reviewed-by: alanb ! test/java/util/Currency/PropertiesTest.sh ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh Changeset: cb3f3a05eee3 Author: chegar Date: 2013-06-22 08:14 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/cb3f3a05eee3 8017271: Crash may occur in java.net.DualStackPlainSocketImpl::initIDs due to unchecked values returned from JNI functions Reviewed-by: alanb, khazra ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/windows/native/java/net/DualStackPlainSocketImpl.c Changeset: fd050ba1cf72 Author: arieber Date: 2013-06-22 08:20 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/fd050ba1cf72 7157360: HttpURLConnection: HTTP method DELETE doesn't support output Reviewed-by: chegar ! src/share/classes/sun/net/www/http/PosterOutputStream.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/http/HttpURLConnection/PostOnDelete.java Changeset: 1bf060029a5d Author: weijun Date: 2013-06-24 16:25 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/1bf060029a5d 8017453: ReplayCache tests fail on multiple platforms Reviewed-by: xuelei ! test/sun/security/krb5/auto/ReplayCacheExpunge.java ! test/sun/security/krb5/auto/ReplayCacheTestProc.java Changeset: 5f80b8cee601 Author: alanb Date: 2013-06-24 11:26 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/5f80b8cee601 8017477: Remove TimeZone.DisplayNames, no longer used Reviewed-by: okutsu ! src/share/classes/java/util/TimeZone.java Changeset: bb2e67628dc0 Author: naoto Date: 2013-06-24 16:21 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/bb2e67628dc0 8017468: typo in javadoc: " ResourceBunlde " Reviewed-by: okutsu ! src/share/classes/java/util/spi/LocaleServiceProvider.java Changeset: eabcb85fcabc Author: bpb Date: 2013-06-24 14:17 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/eabcb85fcabc 6469160: (fmt) general (%g) formatting of zero (0.0) with precision 0 or 1 throws ArrayOutOfBoundsException Summary: For zero value ensure than an unpadded zero character is passed to Formatter.addZeros() Reviewed-by: iris, darcy Contributed-by: Brian Burkhalter ! src/share/classes/java/util/Formatter.java ! src/share/classes/sun/misc/FloatingDecimal.java ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/Basic.java ! test/java/util/Formatter/BasicBigDecimal.java ! test/java/util/Formatter/BasicDouble.java ! test/java/util/Formatter/BasicDoubleObject.java ! test/java/util/Formatter/BasicFloat.java ! test/java/util/Formatter/BasicFloatObject.java Changeset: 82e7682c17e2 Author: darcy Date: 2013-06-24 23:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/82e7682c17e2 8017550: Fix doclint issues in java.lang and subpackages Reviewed-by: alanb, chegar ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/Runtime.java ! src/share/classes/java/lang/Short.java ! src/share/classes/java/lang/StrictMath.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/annotation/Annotation.java ! src/share/classes/java/lang/annotation/Repeatable.java ! src/share/classes/java/lang/annotation/Retention.java ! src/share/classes/java/lang/annotation/Target.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/java/lang/reflect/TypeVariable.java Changeset: 4a4d910e1504 Author: alanb Date: 2013-06-25 13:53 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/4a4d910e1504 8017570: jfr.jar should not be in compact3 (for now) Reviewed-by: erikj ! makefiles/profile-includes.txt Changeset: 01fcca3d2b8c Author: bpb Date: 2013-06-20 12:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/01fcca3d2b8c 4641897: Faster string conversion of large integers Summary: Accelerate conversion to string by means of Schoenhage recursive base conversion. Reviewed-by: bpb, alanb Contributed-by: Alan Eliasen ! src/share/classes/java/math/BigInteger.java ! test/java/math/BigInteger/BigIntegerTest.java Changeset: 89631a384ee6 Author: weijun Date: 2013-06-25 21:51 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/89631a384ee6 8016051: Possible ClassCastException in KdcComm Reviewed-by: weijun Contributed-by: Artem Smotrakov ! src/share/classes/sun/security/krb5/KdcComm.java Changeset: ac61efd8c593 Author: shade Date: 2013-06-25 20:06 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/ac61efd8c593 8014233: java.lang.Thread should have @Contended on TLR fields Summary: add the @Contended over three TLR fields. Reviewed-by: psandoz, chegar, dholmes, dl ! src/share/classes/java/lang/Thread.java Changeset: 757290440a2f Author: juh Date: 2013-06-25 14:31 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/757290440a2f 8017325: Cleanup of the javadoc tag in java.security.cert Summary: Convert javadoc ... and ... tags to {@code ...} Reviewed-by: darcy ! src/share/classes/java/security/cert/CRLException.java ! src/share/classes/java/security/cert/CRLSelector.java ! src/share/classes/java/security/cert/CertPath.java ! src/share/classes/java/security/cert/CertPathBuilder.java ! src/share/classes/java/security/cert/CertPathBuilderException.java ! src/share/classes/java/security/cert/CertPathBuilderResult.java ! src/share/classes/java/security/cert/CertPathBuilderSpi.java ! src/share/classes/java/security/cert/CertPathParameters.java ! src/share/classes/java/security/cert/CertPathValidator.java ! src/share/classes/java/security/cert/CertPathValidatorException.java ! src/share/classes/java/security/cert/CertPathValidatorResult.java ! src/share/classes/java/security/cert/CertPathValidatorSpi.java ! src/share/classes/java/security/cert/CertSelector.java ! src/share/classes/java/security/cert/CertStore.java ! src/share/classes/java/security/cert/CertStoreException.java ! src/share/classes/java/security/cert/CertStoreParameters.java ! src/share/classes/java/security/cert/CertStoreSpi.java ! src/share/classes/java/security/cert/Certificate.java ! src/share/classes/java/security/cert/CertificateEncodingException.java ! src/share/classes/java/security/cert/CertificateException.java ! src/share/classes/java/security/cert/CertificateExpiredException.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/CertificateFactorySpi.java ! src/share/classes/java/security/cert/CertificateNotYetValidException.java ! src/share/classes/java/security/cert/CertificateParsingException.java ! src/share/classes/java/security/cert/CertificateRevokedException.java ! src/share/classes/java/security/cert/CollectionCertStoreParameters.java ! src/share/classes/java/security/cert/Extension.java ! src/share/classes/java/security/cert/LDAPCertStoreParameters.java ! src/share/classes/java/security/cert/PKIXBuilderParameters.java ! src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java ! src/share/classes/java/security/cert/PKIXCertPathChecker.java ! src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java ! src/share/classes/java/security/cert/PKIXParameters.java ! src/share/classes/java/security/cert/PKIXReason.java ! src/share/classes/java/security/cert/PolicyNode.java ! src/share/classes/java/security/cert/PolicyQualifierInfo.java ! src/share/classes/java/security/cert/TrustAnchor.java ! src/share/classes/java/security/cert/X509CRL.java ! src/share/classes/java/security/cert/X509CRLEntry.java ! src/share/classes/java/security/cert/X509CRLSelector.java ! src/share/classes/java/security/cert/X509CertSelector.java ! src/share/classes/java/security/cert/X509Certificate.java ! src/share/classes/java/security/cert/X509Extension.java Changeset: 3700bb58c9a2 Author: juh Date: 2013-06-25 14:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/3700bb58c9a2 8017326: Cleanup of the javadoc tag in java.security.spec Summary: Convert javadoc and tags to {@code ...} Reviewed-by: darcy ! src/share/classes/java/security/spec/DSAGenParameterSpec.java ! src/share/classes/java/security/spec/DSAParameterSpec.java ! src/share/classes/java/security/spec/DSAPrivateKeySpec.java ! src/share/classes/java/security/spec/DSAPublicKeySpec.java ! src/share/classes/java/security/spec/ECFieldF2m.java ! src/share/classes/java/security/spec/ECFieldFp.java ! src/share/classes/java/security/spec/ECGenParameterSpec.java ! src/share/classes/java/security/spec/ECParameterSpec.java ! src/share/classes/java/security/spec/ECPoint.java ! src/share/classes/java/security/spec/ECPrivateKeySpec.java ! src/share/classes/java/security/spec/ECPublicKeySpec.java ! src/share/classes/java/security/spec/EllipticCurve.java ! src/share/classes/java/security/spec/EncodedKeySpec.java ! src/share/classes/java/security/spec/InvalidKeySpecException.java ! src/share/classes/java/security/spec/KeySpec.java ! src/share/classes/java/security/spec/MGF1ParameterSpec.java ! src/share/classes/java/security/spec/PKCS8EncodedKeySpec.java ! src/share/classes/java/security/spec/PSSParameterSpec.java ! src/share/classes/java/security/spec/RSAKeyGenParameterSpec.java ! src/share/classes/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java ! src/share/classes/java/security/spec/RSAOtherPrimeInfo.java ! src/share/classes/java/security/spec/RSAPrivateCrtKeySpec.java ! src/share/classes/java/security/spec/X509EncodedKeySpec.java Changeset: 510035b7bbbb Author: yhuang Date: 2013-06-25 21:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/510035b7bbbb 8013836: getFirstDayOfWeek reports wrong day for pt-BR locale Reviewed-by: naoto + src/share/classes/sun/util/resources/pt/CalendarData_pt_BR.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 0822bcddbd4f Author: xuelei Date: 2013-06-26 06:32 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/0822bcddbd4f 8017049: rename property jdk.tls.rejectClientInitializedRenego Reviewed-by: vinnie, wetmore, mullan ! src/share/classes/sun/security/ssl/Handshaker.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java Changeset: e83cdd58f1cf Author: chegar Date: 2013-06-26 15:30 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/e83cdd58f1cf 8012647: Add Arrays.parallelPrefix (prefix sum, scan, cumulative sum) Reviewed-by: chegar, alanb, psandoz Contributed-by: Doug Lea
, Tristan Yan , Chris Hegarty + src/share/classes/java/util/ArrayPrefixHelpers.java ! src/share/classes/java/util/Arrays.java + test/java/util/Arrays/ParallelPrefix.java Changeset: 71059bca036a Author: rfield Date: 2013-06-26 07:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/71059bca036a 8016761: Lambda metafactory - incorrect type conversion of constructor method handle Reviewed-by: jrose ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java + test/java/lang/invoke/lambda/LambdaConstructorMethodHandleUnbox.java Changeset: 336e5a862013 Author: naoto Date: 2013-06-26 11:21 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/336e5a862013 8017322: java/util/Currency/PropertiesTest.sh should run exclusively Reviewed-by: alanb ! test/TEST.ROOT Changeset: 1fda8fa7ae97 Author: darcy Date: 2013-06-26 13:24 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/1fda8fa7ae97 7018139: Fix HTML accessibility and doclint issues in java.math Reviewed-by: lancea, bpb ! src/share/classes/java/math/BigDecimal.java ! src/share/classes/java/math/RoundingMode.java Changeset: a5aa57eb85b6 Author: darcy Date: 2013-06-26 19:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/a5aa57eb85b6 8019223: Fix doclint warnings in java.rmi.server Reviewed-by: smarks ! src/share/classes/java/rmi/server/RMIClassLoader.java Changeset: ac65905883a7 Author: darcy Date: 2013-06-26 22:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/ac65905883a7 8019228: Fix doclint issues in java.util.zip Reviewed-by: sherman, mchung ! src/share/classes/java/util/zip/Deflater.java ! src/share/classes/java/util/zip/Inflater.java Changeset: 370e7beff8a0 Author: wetmore Date: 2013-06-27 10:19 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/370e7beff8a0 8019227: JDK-8010325 broke the old build Reviewed-by: alanb, chegar ! make/java/java/FILES_java.gmk Changeset: 4e69a7dfbeac Author: chegar Date: 2013-06-27 10:21 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/4e69a7dfbeac Merge Changeset: 1c31082f0a51 Author: darcy Date: 2013-06-27 11:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/1c31082f0a51 8019304: Fix doclint issues in java.util.prefs Reviewed-by: lancea ! src/share/classes/java/util/prefs/AbstractPreferences.java ! src/share/classes/java/util/prefs/PreferencesFactory.java Changeset: b9ba04dc210f Author: lancea Date: 2013-06-27 15:07 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/b9ba04dc210f 8017471: Fix JDBC -Xdoclint public errors Reviewed-by: darcy ! src/share/classes/java/sql/Blob.java ! src/share/classes/java/sql/CallableStatement.java ! src/share/classes/java/sql/Clob.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/Driver.java ! src/share/classes/java/sql/DriverAction.java ! src/share/classes/java/sql/NClob.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/SQLInput.java ! src/share/classes/java/sql/SQLPermission.java ! src/share/classes/java/sql/SQLXML.java ! src/share/classes/java/sql/Wrapper.java ! src/share/classes/javax/sql/CommonDataSource.java ! src/share/classes/javax/sql/ConnectionPoolDataSource.java ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/RowSet.java ! src/share/classes/javax/sql/XADataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java ! src/share/classes/javax/sql/rowset/CachedRowSet.java ! src/share/classes/javax/sql/rowset/FilteredRowSet.java ! src/share/classes/javax/sql/rowset/JdbcRowSet.java ! src/share/classes/javax/sql/rowset/Joinable.java ! src/share/classes/javax/sql/rowset/Predicate.java ! src/share/classes/javax/sql/rowset/RowSetProvider.java ! src/share/classes/javax/sql/rowset/RowSetWarning.java ! src/share/classes/javax/sql/rowset/WebRowSet.java ! src/share/classes/javax/sql/rowset/package.html ! src/share/classes/javax/sql/rowset/serial/SerialArray.java ! src/share/classes/javax/sql/rowset/serial/SerialBlob.java ! src/share/classes/javax/sql/rowset/serial/SerialClob.java ! src/share/classes/javax/sql/rowset/serial/SerialDatalink.java ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ! src/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java ! src/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/share/classes/javax/sql/rowset/spi/SyncResolver.java Changeset: b8f16cb2d95b Author: darcy Date: 2013-06-27 12:24 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/b8f16cb2d95b 8019315: Fix doclint issues in java.util.logging Reviewed-by: lancea ! src/share/classes/java/util/logging/Handler.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/LogRecord.java Changeset: 6729f7ef94cd Author: smarks Date: 2013-06-27 13:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/6729f7ef94cd 8019224: add exception chaining to RMI CGIHandler Reviewed-by: darcy ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java Changeset: 1099fe14fb65 Author: darcy Date: 2013-06-27 14:11 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/1099fe14fb65 8019320: Fix doclint issues in javax.script Reviewed-by: lancea ! src/share/classes/javax/script/Invocable.java ! src/share/classes/javax/script/ScriptContext.java ! src/share/classes/javax/script/ScriptEngineFactory.java ! src/share/classes/javax/script/SimpleScriptContext.java Changeset: e34e3ddb3cd8 Author: naoto Date: 2013-06-27 14:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/e34e3ddb3cd8 6609431: (rb) ResourceBundle.getString() returns incorrect value Reviewed-by: okutsu, sherman ! src/share/classes/java/util/Properties.java + test/java/util/Properties/Bug6609431.java + test/java/util/Properties/Bug6609431.properties Changeset: 29bbbb136bc5 Author: darcy Date: 2013-06-27 19:02 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/29bbbb136bc5 8019357: Fix doclint warnings in java.lang.invoke Reviewed-by: jrose ! src/share/classes/java/lang/invoke/LambdaConversionException.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MutableCallSite.java ! src/share/classes/java/lang/invoke/SerializedLambda.java ! src/share/classes/java/lang/invoke/package-info.java Changeset: 60d1994f63f7 Author: xuelei Date: 2013-06-27 19:22 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/60d1994f63f7 8019359: To comment why not use no_renegotiation to reject client initiated renegotiation Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/ServerHandshaker.java Changeset: c1df54fd19b2 Author: henryjen Date: 2013-06-11 13:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/c1df54fd19b2 8009736: Comparator API cleanup Reviewed-by: psandoz, briangoetz, mduigou, plevart ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/Comparators.java ! src/share/classes/java/util/Map.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/stream/Collectors.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/SortedOps.java ! test/java/nio/file/Files/StreamTest.java ! test/java/util/Collection/ListDefaults.java + test/java/util/Comparator/BasicTest.java + test/java/util/Comparator/TypeTest.java - test/java/util/Comparators/BasicTest.java + test/java/util/Map/EntryComparators.java + test/java/util/function/BinaryOperator/BasicTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java ! test/sun/misc/JavaLangAccess/NewUnsafeString.java Changeset: 28b71c97a72d Author: psandoz Date: 2013-06-28 10:29 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/28b71c97a72d 8012987: Optimizations for Stream.limit/substream Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! src/share/classes/java/util/stream/AbstractPipeline.java ! src/share/classes/java/util/stream/AbstractTask.java ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/ForEachOps.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/PipelineHelper.java ! src/share/classes/java/util/stream/SliceOps.java ! src/share/classes/java/util/stream/Stream.java ! src/share/classes/java/util/stream/StreamSpliterators.java ! test/java/util/stream/bootlib/java/util/stream/OpTestCase.java ! test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java + test/java/util/stream/boottest/java/util/stream/SliceSpliteratorTest.java ! test/java/util/stream/boottest/java/util/stream/StreamFlagsTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest.java Changeset: 19a6d2d701d9 Author: sla Date: 2013-06-26 19:15 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/19a6d2d701d9 8019155: Update makefiles with correct jfr packages Reviewed-by: mgronlun, erikj ! make/common/Release.gmk ! makefiles/CreateJars.gmk Changeset: 04378a645944 Author: alanb Date: 2013-06-28 16:10 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/04378a645944 8019380: doclint warnings in java.nio, java.nio.file.**, java.nio.channels.** Reviewed-by: chegar ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/MappedByteBuffer.java ! src/share/classes/java/nio/X-Buffer.java.template ! src/share/classes/java/nio/channels/AsynchronousByteChannel.java ! src/share/classes/java/nio/channels/AsynchronousChannel.java ! src/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/MulticastChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java ! src/share/classes/java/nio/channels/Pipe.java ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/SelectionKey.java ! src/share/classes/java/nio/channels/Selector.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/charset/CoderResult.java ! src/share/classes/java/nio/charset/spi/CharsetProvider.java ! src/share/classes/java/nio/file/FileStore.java ! src/share/classes/java/nio/file/FileSystem.java ! src/share/classes/java/nio/file/FileSystems.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/WatchEvent.java ! src/share/classes/java/nio/file/WatchService.java ! src/share/classes/java/nio/file/attribute/AclEntry.java ! src/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/share/classes/java/nio/file/attribute/AttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributes.java ! src/share/classes/java/nio/file/attribute/DosFileAttributeView.java ! src/share/classes/java/nio/file/attribute/FileAttribute.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/share/classes/java/nio/file/spi/FileSystemProvider.java ! src/share/classes/java/sql/SQLInput.java Changeset: 1919c226b427 Author: dl Date: 2013-06-28 12:10 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/1919c226b427 8017739: ReentrantReadWriteLock is confused by the Threads with reused IDs Reviewed-by: chegar ! src/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java Changeset: 0e24065a75db Author: dl Date: 2013-06-28 12:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/0e24065a75db 8019377: Sync j.u.c locks and atomic from 166 to tl Reviewed-by: chegar ! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicMarkableReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java ! src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/share/classes/java/util/concurrent/atomic/DoubleAdder.java ! src/share/classes/java/util/concurrent/atomic/LongAccumulator.java ! src/share/classes/java/util/concurrent/atomic/Striped64.java ! src/share/classes/java/util/concurrent/atomic/package-info.java ! src/share/classes/java/util/concurrent/locks/AbstractOwnableSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java ! src/share/classes/java/util/concurrent/locks/Condition.java ! src/share/classes/java/util/concurrent/locks/Lock.java ! src/share/classes/java/util/concurrent/locks/LockSupport.java ! src/share/classes/java/util/concurrent/locks/ReadWriteLock.java ! src/share/classes/java/util/concurrent/locks/ReentrantLock.java ! src/share/classes/java/util/concurrent/locks/StampedLock.java Changeset: ff0242ed08db Author: jzavgren Date: 2013-06-28 16:38 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/ff0242ed08db 8015799: HttpURLConnection.getHeaderFields() throws IllegalArgumentException Reviewed-by: chegar, dsamersoff, khazra ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/java/net/CookieHandler/EmptyCookieHeader.java Changeset: 52b4527d3fc7 Author: chegar Date: 2013-06-28 16:39 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/52b4527d3fc7 Merge Changeset: 389f59e6288f Author: juh Date: 2013-06-28 10:48 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/389f59e6288f 8019360: Cleanup of the javadoc tag in java.security.* Summary: Convert to {@code ...} tags. convert package.html to package-info.java. Reviewed-by: darcy ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessControlException.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/security/AlgorithmParameterGenerator.java ! src/share/classes/java/security/AlgorithmParameterGeneratorSpi.java ! src/share/classes/java/security/AlgorithmParameters.java ! src/share/classes/java/security/AlgorithmParametersSpi.java ! src/share/classes/java/security/AllPermission.java ! src/share/classes/java/security/AuthProvider.java ! src/share/classes/java/security/BasicPermission.java ! src/share/classes/java/security/Certificate.java ! src/share/classes/java/security/CodeSigner.java ! src/share/classes/java/security/CodeSource.java ! src/share/classes/java/security/DigestException.java ! src/share/classes/java/security/DigestInputStream.java ! src/share/classes/java/security/DigestOutputStream.java ! src/share/classes/java/security/DomainCombiner.java ! src/share/classes/java/security/GeneralSecurityException.java ! src/share/classes/java/security/Guard.java ! src/share/classes/java/security/GuardedObject.java ! src/share/classes/java/security/Identity.java ! src/share/classes/java/security/IdentityScope.java ! src/share/classes/java/security/InvalidAlgorithmParameterException.java ! src/share/classes/java/security/InvalidKeyException.java ! src/share/classes/java/security/Key.java ! src/share/classes/java/security/KeyException.java ! src/share/classes/java/security/KeyFactory.java ! src/share/classes/java/security/KeyFactorySpi.java ! src/share/classes/java/security/KeyManagementException.java ! src/share/classes/java/security/KeyPair.java ! src/share/classes/java/security/KeyPairGenerator.java ! src/share/classes/java/security/KeyPairGeneratorSpi.java ! src/share/classes/java/security/KeyRep.java ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/KeyStoreException.java ! src/share/classes/java/security/KeyStoreSpi.java ! src/share/classes/java/security/MessageDigest.java ! src/share/classes/java/security/MessageDigestSpi.java ! src/share/classes/java/security/NoSuchAlgorithmException.java ! src/share/classes/java/security/Permission.java ! src/share/classes/java/security/PermissionCollection.java ! src/share/classes/java/security/Permissions.java ! src/share/classes/java/security/Policy.java ! src/share/classes/java/security/PolicySpi.java ! src/share/classes/java/security/PrivilegedAction.java ! src/share/classes/java/security/PrivilegedActionException.java ! src/share/classes/java/security/PrivilegedExceptionAction.java ! src/share/classes/java/security/ProtectionDomain.java ! src/share/classes/java/security/Provider.java ! src/share/classes/java/security/ProviderException.java ! src/share/classes/java/security/PublicKey.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/java/security/SecureRandom.java ! src/share/classes/java/security/SecureRandomSpi.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/SecurityPermission.java ! src/share/classes/java/security/Signature.java ! src/share/classes/java/security/SignatureException.java ! src/share/classes/java/security/SignatureSpi.java ! src/share/classes/java/security/SignedObject.java ! src/share/classes/java/security/Signer.java ! src/share/classes/java/security/UnresolvedPermission.java ! src/share/classes/java/security/acl/Acl.java ! src/share/classes/java/security/acl/AclEntry.java ! src/share/classes/java/security/acl/Group.java ! src/share/classes/java/security/acl/Owner.java + src/share/classes/java/security/acl/package-info.java - src/share/classes/java/security/acl/package.html + src/share/classes/java/security/cert/package-info.java - src/share/classes/java/security/cert/package.html ! src/share/classes/java/security/interfaces/DSAKeyPairGenerator.java ! src/share/classes/java/security/interfaces/DSAParams.java ! src/share/classes/java/security/interfaces/DSAPrivateKey.java ! src/share/classes/java/security/interfaces/DSAPublicKey.java + src/share/classes/java/security/interfaces/package-info.java - src/share/classes/java/security/interfaces/package.html + src/share/classes/java/security/package-info.java - src/share/classes/java/security/package.html + src/share/classes/java/security/spec/package-info.java - src/share/classes/java/security/spec/package.html Changeset: 9d175c6cb527 Author: darcy Date: 2013-06-28 11:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/9d175c6cb527 8019407: Fix doclint issues in javax.naming.* Reviewed-by: lancea ! src/share/classes/javax/naming/CompositeName.java ! src/share/classes/javax/naming/CompoundName.java ! src/share/classes/javax/naming/Context.java ! src/share/classes/javax/naming/InitialContext.java ! src/share/classes/javax/naming/RefAddr.java ! src/share/classes/javax/naming/ReferralException.java ! src/share/classes/javax/naming/directory/DirContext.java ! src/share/classes/javax/naming/event/EventContext.java ! src/share/classes/javax/naming/ldap/ControlFactory.java ! src/share/classes/javax/naming/ldap/InitialLdapContext.java ! src/share/classes/javax/naming/ldap/LdapContext.java Changeset: 389b8739a74e Author: alanb Date: 2013-06-28 19:45 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/389b8739a74e 8019384: jps and jcmd tests fail when there is a process started with a .war file Reviewed-by: dcubed, sla, mchung ! test/sun/tools/jcmd/jcmd_Output1.awk ! test/sun/tools/jps/jps-l_Output1.awk ! test/sun/tools/jps/jps_Output1.awk Changeset: b4d36f3717b8 Author: lana Date: 2013-06-28 19:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/b4d36f3717b8 Merge Changeset: a4eb59bffb60 Author: lancea Date: 2013-06-29 06:12 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/a4eb59bffb60 8019286: Fix javadoc typo in ResultSet.next Reviewed-by: darcy, mchung ! src/share/classes/java/sql/ResultSet.java Changeset: bf650fee4983 Author: darcy Date: 2013-06-30 16:02 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/bf650fee4983 8019466: Fix doclint issues in java.util.function Reviewed-by: briangoetz ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/UnaryOperator.java Changeset: 9eaeb1a0aa46 Author: darcy Date: 2013-06-30 17:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/9eaeb1a0aa46 8019467: Fix doclint issues in java.util.jar.Pack200 Reviewed-by: lancea, ksrini ! src/share/classes/java/util/jar/Pack200.java Changeset: 3aa541b50a64 Author: dfuchs Date: 2013-07-01 11:13 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/3aa541b50a64 8014045: test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java failing intermittently Summary: this test was failing because it didn't take into account the fact that Loggers could be garbage collected. Reviewed-by: mchung ! test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java Changeset: dfb37cc30a67 Author: vinnie Date: 2013-07-01 14:39 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/dfb37cc30a67 8019259: Failover to CRL checking does not happen if wrong OCSP responder URL is set Reviewed-by: xuelei ! src/share/classes/sun/security/provider/certpath/RevocationChecker.java ! test/java/security/cert/CertPathValidator/OCSP/FailoverToCRL.java Changeset: c8cf01de8fa8 Author: bpb Date: 2013-07-01 11:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/c8cf01de8fa8 8017540: Improve multi-threaded contention behavior of radix conversion cache Summary: Replace array of ArrayList of BigIntegers with a volatile two-dimensional BigInteger array eliminate the synchronization of getRadixConversionCache() Reviewed-by: plevart, shade, bpb, alanb Contributed-by: Peter Levart , Dmitry Nadezhin , Aleksey Shipilev ! src/share/classes/java/math/BigInteger.java Changeset: 3736ad2636aa Author: darcy Date: 2013-07-01 13:29 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/3736ad2636aa 8019527: Fix doclint issues in java.lang.instrument Reviewed-by: lancea, alanb ! src/share/classes/java/lang/instrument/Instrumentation.java Changeset: 8e5376324e4b Author: darcy Date: 2013-07-01 13:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/8e5376324e4b 8019529: Fix doclint issues in java.util.spi Reviewed-by: lancea ! src/share/classes/java/util/spi/LocaleServiceProvider.java Changeset: 5427f7316633 Author: darcy Date: 2013-07-01 14:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/5427f7316633 8019535: Fix doclint issues in java.time.format Reviewed-by: lancea, rriggs ! src/share/classes/java/time/format/DateTimeFormatter.java Changeset: 17f44b2dde41 Author: juh Date: 2013-07-01 17:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/17f44b2dde41 8019539: Fix doclint errors in java.security and its subpackages Reviewed-by: darcy ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/Provider.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/cert/X509CRL.java ! src/share/classes/java/security/cert/X509CRLEntry.java ! src/share/classes/java/security/cert/X509Certificate.java Changeset: 020f023f87d1 Author: dfuchs Date: 2013-07-02 11:30 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/020f023f87d1 8017174: NPE when using Logger.getAnonymousLogger or LogManager.getLogManager().getLogger Summary: This patch makes sure that LoggerContext instances created for applets have a root and global logger. Reviewed-by: mchung ! src/share/classes/java/util/logging/LogManager.java ! test/java/util/logging/LogManagerInstanceTest.java + test/java/util/logging/TestAppletLoggerContext.java Changeset: b1fffbbdf58c Author: ksrini Date: 2013-07-02 05:28 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/b1fffbbdf58c 8017463: [TEST_BUG] 2 tests from tools/pack200/ remain about 1 GB of data in work directory after execution Reviewed-by: mchung ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/BandIntegrity.java ! test/tools/pack200/CommandLineTests.java ! test/tools/pack200/InstructionTests.java ! test/tools/pack200/Pack200Props.java ! test/tools/pack200/Pack200Test.java ! test/tools/pack200/PackageVersionTest.java ! test/tools/pack200/RepackTest.java ! test/tools/pack200/T7007157.java ! test/tools/pack200/TestExceptions.java ! test/tools/pack200/TimeStamp.java ! test/tools/pack200/UnpackerMemoryTest.java ! test/tools/pack200/Utils.java ! test/tools/pack200/typeannos/TestTypeAnnotations.java Changeset: 70bff2d12af0 Author: dfuchs Date: 2013-07-02 19:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/70bff2d12af0 7184195: java.util.logging.Logger.getGlobal().info() doesn't log without configuration Summary: Due to subtle synchronization issues between LogManager & Logger class initialization the global logger doesn't have its 'manager' field initialized until the LogManager is initialized. This fix will ensure that the global logger has its 'manager' field set when getGlobal() is called. Reviewed-by: mchung, plevart ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/Logger/getGlobal/TestGetGlobal.java + test/java/util/logging/Logger/getGlobal/TestGetGlobalByName.java + test/java/util/logging/Logger/getGlobal/TestGetGlobalConcurrent.java + test/java/util/logging/Logger/getGlobal/logging.properties + test/java/util/logging/Logger/getGlobal/policy + test/java/util/logging/Logger/getGlobal/testgetglobal/BadLogManagerImpl.java + test/java/util/logging/Logger/getGlobal/testgetglobal/DummyLogManagerImpl.java + test/java/util/logging/Logger/getGlobal/testgetglobal/HandlerImpl.java + test/java/util/logging/Logger/getGlobal/testgetglobal/LogManagerImpl1.java + test/java/util/logging/Logger/getGlobal/testgetglobal/LogManagerImpl2.java + test/java/util/logging/Logger/getGlobal/testgetglobal/LogManagerImpl3.java Changeset: 11c074904fce Author: lana Date: 2013-07-02 15:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/11c074904fce Merge - src/share/classes/java/security/acl/package.html - src/share/classes/java/security/cert/package.html - src/share/classes/java/security/interfaces/package.html - src/share/classes/java/security/package.html - src/share/classes/java/security/spec/package.html - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java - test/java/util/Comparators/BasicTest.java - test/sun/security/krb5/auto/ReplayCache.java Changeset: 974b94f944ce Author: lana Date: 2013-07-03 19:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/974b94f944ce Merge - src/share/classes/java/security/acl/package.html - src/share/classes/java/security/cert/package.html - src/share/classes/java/security/interfaces/package.html - src/share/classes/java/security/package.html - src/share/classes/java/security/spec/package.html - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java - test/java/util/Comparators/BasicTest.java - test/sun/security/krb5/auto/ReplayCache.java Changeset: f2342dedf04a Author: lana Date: 2013-07-05 11:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/f2342dedf04a Merge Changeset: 2c26ccf0a85b Author: tbell Date: 2013-07-08 07:20 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/2c26ccf0a85b 8012925: [parfait] Missing return value in jdk/src/macosx/native/sun/awt/AWTEvent.m Reviewed-by: katleman, leonidr Contributed-by: petr.pchelko at oracle.com ! src/macosx/native/sun/awt/AWTEvent.m Changeset: c4908732fef5 Author: katleman Date: 2013-07-08 14:29 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/c4908732fef5 Merge Changeset: 758c21301545 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/758c21301545 Added tag jdk8-b98 for changeset c4908732fef5 ! .hgtags Changeset: be0647c2f89c Author: kvn Date: 2013-07-11 12:31 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/be0647c2f89c Merge ! makefiles/CompileNativeLibraries.gmk - src/share/classes/java/security/acl/package.html - src/share/classes/java/security/cert/package.html - src/share/classes/java/security/interfaces/package.html - src/share/classes/java/security/package.html - src/share/classes/java/security/spec/package.html - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java - test/java/util/Comparators/BasicTest.java - test/sun/security/krb5/auto/ReplayCache.java From vladimir.kozlov at oracle.com Thu Jul 11 19:49:32 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:49:32 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 39 new changesets Message-ID: <20130712025050.29DC948A17@hg.openjdk.java.net> Changeset: 2bfa00fac03f Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2bfa00fac03f Added tag jdk8-b97 for changeset d197d377ab2e ! .hgtags Changeset: 8c4424890028 Author: amurillo Date: 2013-06-28 02:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/8c4424890028 8019302: new hotspot build - hs25-b40 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 8cff1de240de Author: zgu Date: 2013-06-25 17:22 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/8cff1de240de 8017478: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites Summary: Fixed possible NULL pointer that caused SIGSEGV Reviewed-by: coleenp, acorn, ctornqvi ! src/share/vm/services/memReporter.cpp Changeset: c14867f95c60 Author: zgu Date: 2013-06-25 14:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/c14867f95c60 Merge Changeset: 38ea2efa32a7 Author: kevinw Date: 2013-06-26 00:01 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/38ea2efa32a7 8010278: SA: provide mechanism for using an alternative SA debugger back-end. Reviewed-by: sla, dsamersoff ! 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/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.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/JMap.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/PStack.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/jcore/ClassDump.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java Changeset: 8eb40545e209 Author: kevinw Date: 2013-06-26 11:00 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/8eb40545e209 Merge Changeset: 221df7e37535 Author: iklam Date: 2013-06-27 10:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/221df7e37535 8016075: Win32 crash with CDS enabled and small heap size Summary: Fixed MetaspaceShared::is_in_shared_space Reviewed-by: coleenp, hseigel ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/memory/metaspaceShared.cpp Changeset: e0fe0c9a88da Author: nloodin Date: 2013-06-28 14:05 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e0fe0c9a88da Merge Changeset: bb4f2b27e824 Author: dcubed Date: 2013-06-29 11:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/bb4f2b27e824 Merge Changeset: 97c5acae48be Author: hseigel Date: 2013-06-30 09:59 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/97c5acae48be 7007040: Check of capacity paramenters in JNI_PushLocalFrame is wrong Summary: changed AND to OR Reviewed-by: coleenp, hseigel Contributed-by: lois.foltan at oracle.com ! src/share/vm/prims/jni.cpp Changeset: 068b406e307f Author: fparain Date: 2013-07-01 09:13 +0000 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/068b406e307f 7060111: race condition in VMError::report_and_die() Reviewed-by: zgu, coleenp Contributed-by: volker.simonis at gmail.com ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp Changeset: acfa2cc19146 Author: rbackman Date: 2013-06-12 09:49 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/acfa2cc19146 8016444: Duplicate zombie check in safe_for_sender Reviewed-by: dholmes, sla ! src/cpu/sparc/vm/frame_sparc.cpp ! src/share/vm/memory/referenceProcessorStats.hpp Changeset: 993dfb57c575 Author: egahlin Date: 2013-06-26 17:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/993dfb57c575 8016331: Minor issues in event tracing metadata Reviewed-by: stefank, brutisso, mgronlun ! src/share/vm/trace/trace.xml Changeset: 7f11c12d7a90 Author: sspitsyn Date: 2013-07-01 14:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/7f11c12d7a90 8009204: [dtrace] signatures returned by Java 7 jstack() are corrupted on Solaris Summary: The fix is basically a backport of JDK-7019165 (pstack issue) to jhelper.d. Reviewed-by: coleenp, sspitsyn Contributed-by: tomas.hurka at oracle.com ! src/os/solaris/dtrace/jhelper.d Changeset: de2d15ce3d4a Author: coleenp Date: 2013-07-02 08:42 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/de2d15ce3d4a 8015391: NPG: With -XX:+UseCompressedKlassPointers OOME due to exhausted metadata space could occur when metaspace is almost empty Summary: Allocate medium chunks for class metaspace when class loader has lots of classes Reviewed-by: mgerdin, jmasa ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: cedf20e2a655 Author: coleenp Date: 2013-07-02 16:54 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/cedf20e2a655 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c92b74c62d97 Author: brutisso Date: 2013-06-27 09:59 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/c92b74c62d97 8017483: G1 tests fail with native OOME on Solaris x86 after HeapBaseMinAddress has been increased Summary: Set HeapBaseMinAddress as default rather than ergo Reviewed-by: stefank, jmasa, kvn ! src/share/vm/runtime/arguments.cpp Changeset: 3ea89789ba39 Author: ehelin Date: 2013-06-28 18:28 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/3ea89789ba39 Merge Changeset: b30744960351 Author: brutisso Date: 2013-06-30 21:42 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b30744960351 8014022: G1: Non Java threads should lock the shared SATB queue lock without safepoint checks. Reviewed-by: tschatzl, brutisso, jmasa, ysr Contributed-by: per.liden at oracle.com ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Changeset: 5ea20b3bd249 Author: johnc Date: 2013-07-01 09:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/5ea20b3bd249 8017070: G1: assert(_card_counts[card_num] <= G1ConcRSHotCardLimit) failed Summary: The assert is invalid when a card is being refined by two different threads and its count crosses the hot threshold - the refinement count will be updated once by each thread triggering the assert. Remove the assert and update the count using a bounded expression. Reviewed-by: jmasa, tamao, brutisso ! src/share/vm/gc_implementation/g1/g1CardCounts.cpp Changeset: 6e3634222155 Author: tamao Date: 2013-06-28 20:18 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/6e3634222155 8017611: Auto corrector for mistyped vm options Summary: The auto corrector for mistyped vm options fuzzy-matches existing flags based on string similarity (Dice's coefficient). Reviewed-by: kvn, dsamersoff, hseigel, johnc ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp + test/gc/arguments/TestUnrecognizedVMOptionsHandling.java Changeset: 536976a22f5f Author: tamao Date: 2013-07-03 14:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/536976a22f5f Merge Changeset: 70bea4a43c6d Author: tamao Date: 2013-07-03 15:04 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/70bea4a43c6d Merge Changeset: ac7193063af8 Author: jiangli Date: 2013-07-01 19:44 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ac7193063af8 8006023: Embedded Builds fail management test because of requirement for UsePerfData being enabled. Summary: Added -XX:+UsePerfData to Test7196045.java. Reviewed-by: dholmes, collins ! test/runtime/7196045/Test7196045.java Changeset: 94aa8de029c5 Author: clucasius Date: 2013-07-03 22:36 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/94aa8de029c5 Merge Changeset: fea6a49c2762 Author: bdelsart Date: 2013-07-04 01:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/fea6a49c2762 Merge Changeset: f765bfec8f07 Author: kvn Date: 2013-07-01 12:22 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/f765bfec8f07 8006629: NEED_TEST: need test for JDK-8001071 Summary: added regression test Reviewed-by: kvn, coleenp Contributed-by: Filipp Zhinkin + test/runtime/8001071/Test8001071.java + test/runtime/8001071/Test8001071.sh Changeset: a023ec3452c7 Author: simonis Date: 2013-07-01 14:14 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/a023ec3452c7 8019382: PPC64: Fix bytecodeInterpreter to compile with '-Wunused-value' Summary: cast the offending expressions to (void) Reviewed-by: kvn, coleenp ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: 2b3fe74309b6 Author: kvn Date: 2013-07-02 10:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2b3fe74309b6 8019247: SIGSEGV in compiled method c8e.e.t_.getArray(Ljava/lang/Class;)[Ljava/lang/Object Summary: Undo recent changes (and add more comments) in Ideal_allocation(). Reviewed-by: roland ! src/share/vm/opto/graphKit.cpp Changeset: 738e04fb1232 Author: anoll Date: 2013-07-02 07:51 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/738e04fb1232 8014972: Crash with specific values for -XX:InitialCodeCacheSize=500K -XX:ReservedCodeCacheSize=500k Summary: Introduce a minimum code cache size that guarantees that the VM can startup. Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c1_globals_sparc.hpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c1_globals_x86.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/zero/vm/shark_globals_zero.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b800986664f4 Author: drchase Date: 2013-07-02 20:42 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b800986664f4 7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32 Summary: add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/interpreterGenerator_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp + src/cpu/x86/vm/stubRoutines_x86.cpp + src/cpu/x86/vm/stubRoutines_x86.hpp ! src/cpu/x86/vm/stubRoutines_x86_32.cpp ! src/cpu/x86/vm/stubRoutines_x86_32.hpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp + test/compiler/7088419/CRCTest.java Changeset: c1bd7b5bdc70 Author: twisti Date: 2013-07-02 20:27 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/c1bd7b5bdc70 8017571: JSR292: JVM crashing on assert "cast to instanceKlass" while producing MethodHandle for array methods with MethodHandle.findVirtual Reviewed-by: kvn ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/reflection.cpp Changeset: bed0eddd82cd Author: twisti Date: 2013-07-02 22:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/bed0eddd82cd Merge Changeset: 8b789ce47503 Author: roland Date: 2013-07-04 01:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/8b789ce47503 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: fece0ee013fc Author: roland Date: 2013-07-04 03:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/fece0ee013fc Merge Changeset: c9dd82da51ed Author: amurillo Date: 2013-07-04 14:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/c9dd82da51ed Merge Changeset: 30b5b75c42ac Author: amurillo Date: 2013-07-04 14:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/30b5b75c42ac Added tag hs25-b40 for changeset c9dd82da51ed ! .hgtags Changeset: 1a3390aa8326 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/1a3390aa8326 Added tag jdk8-b98 for changeset 30b5b75c42ac ! .hgtags Changeset: 6cc7093e1341 Author: kvn Date: 2013-07-11 12:56 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/6cc7093e1341 Merge ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/vmStructs.cpp From vladimir.kozlov at oracle.com Thu Jul 11 19:20:12 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 12 Jul 2013 02:20:12 +0000 Subject: hg: ppc-aix-port/stage: 13 new changesets Message-ID: <20130712022014.1D58048A0F@hg.openjdk.java.net> Changeset: 4c363b94ea2a Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/4c363b94ea2a Added tag jdk8-b96 for changeset c156084add48 ! .hgtags Changeset: f5eb23490e6a Author: erikj Date: 2013-06-27 09:27 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/f5eb23490e6a 8017047: Can't use --with-java-devtools and --with-devkit at the same time Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: e5cf1735638c Author: erikj Date: 2013-06-28 11:55 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/e5cf1735638c 8016605: New files dont apear in src.zip Reviewed-by: tbell ! common/makefiles/JavaCompilation.gmk Changeset: 0871b5799149 Author: erikj Date: 2013-06-28 11:58 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/0871b5799149 8019229: Build Configuration Fail in Windows Platform Reviewed-by: chegar, tbell, dxu ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: 0e533ceee717 Author: erikj Date: 2013-06-28 12:00 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/0e533ceee717 8016303: make CONF= isn't working Reviewed-by: tbell ! NewMakefile.gmk Changeset: 78aaf5d3314d Author: erikj Date: 2013-06-28 12:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/78aaf5d3314d 8010385: build with LOG=trace broken on mac Reviewed-by: dholmes, tbell, prr ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/makefiles/MakeBase.gmk Changeset: dd3b314f4471 Author: erikj Date: 2013-07-01 15:40 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/dd3b314f4471 8009744: build-infra: REGRESSION: Publisher was NOT set for some JDK files Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: b2b87e9e8683 Author: erikj Date: 2013-07-02 15:07 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/b2b87e9e8683 8019537: jdk8-build prebuild fails in source bundle generation, The path of TOOLS_DIR ... is not found Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: a1c1e8bf71f3 Author: katleman Date: 2013-07-02 15:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/a1c1e8bf71f3 Merge Changeset: 99ad803f8c4e Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/99ad803f8c4e Added tag jdk8-b97 for changeset a1c1e8bf71f3 ! .hgtags Changeset: 0d0c983a817b Author: tbell Date: 2013-07-09 08:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/0d0c983a817b 8009315: F# on PATH breaks Cygwin tools (mkdir, echo, mktemp ...) Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 59dc9da81379 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/59dc9da81379 Added tag jdk8-b98 for changeset 0d0c983a817b ! .hgtags Changeset: 81632308f60d Author: kvn Date: 2013-07-11 12:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/81632308f60d Merge ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 From vladimir.kozlov at oracle.com Thu Jul 11 20:06:16 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 11 Jul 2013 20:06:16 -0700 Subject: Sync from jdk8/jdk8 to ppc-aix-port/stage is finished In-Reply-To: <51C87EF1.3060209@oracle.com> References: <51C87EF1.3060209@oracle.com> Message-ID: <51DF72A8.10105@oracle.com> ppc-aix-port/stage and jdk8/jdk8 are in sync: Java(TM) SE Runtime Environment (build 1.8.0-ea-b98) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b40, mixed mode) Thanks, Vladimir From volker.simonis at gmail.com Fri Jul 12 09:12:29 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Fri, 12 Jul 2013 18:12:29 +0200 Subject: Sync from jdk8/jdk8 to ppc-aix-port/stage is finished In-Reply-To: <51DF72A8.10105@oracle.com> References: <51C87EF1.3060209@oracle.com> <51DF72A8.10105@oracle.com> Message-ID: Hi Vladimir, thanks for doing this. I've just verified the build on Linux/PPC64 and exept for: 8020059: The flag introduced by 8014972 is not defined if Hotspot is built without a compiler (zero, ppc64 core build). which we will probably get with the next sync everything works fine: openjdk at openjdkpower:/priv/openjdk/OpenJDK/output-stage-debug$ output-stage-debug/images/j2sdk-image/bin/java -version OpenJDK Runtime Environment (build 1.8.0-internal-debug-openjdk_2013_07_12_15_31-b00) OpenJDK 64-Bit VM (build 25.0-b40-debug, interpreted mode) openjdk at openjdkpower:/priv/openjdk/OpenJDK/output-stage-debug$ output-stage-debug/images/j2sdk-image/bin/java -Xinternalversion OpenJDK 64-Bit VM (25.0-b40-debug) for linux-ppc64 JRE (1.8.0-internal-openjdk_2013_07_12_15_31-b00), built on Jul 12 2013 15:34:58 by "openjdk" with gcc 4.7.2 20120921 (Red Hat 4.7.2-2) Regards, Volker On Fri, Jul 12, 2013 at 5:06 AM, Vladimir Kozlov wrote: > ppc-aix-port/stage and jdk8/jdk8 are in sync: > > Java(TM) SE Runtime Environment (build 1.8.0-ea-b98) > Java HotSpot(TM) 64-Bit Server VM (build 25.0-b40, mixed mode) > > Thanks, > Vladimir > > > From goetz.lindenmaier at sap.com Mon Jul 15 00:41:36 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 15 Jul 2013 07:41:36 +0000 Subject: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch In-Reply-To: <51DD7FE8.9070207@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFE9848@DEWDFEMB12A.global.corp.sap> <7D0A3D84-A235-4400-8406-95D5EE765E55@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFE9ADF@DEWDFEMB12A.global.corp.sap> <8AA57E4C-80A8-4D10-AE68-64FCB113CC33@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEADA2@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC0CFEC4BA@DEWDFEMB12A.global.corp.sap> <6D628389-7082-450E-AF0E-1EC3249058F7@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> <51D20DEC.7050904@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF1499@DEWDFEMB12A.global.corp.sap> <51D3515F.10402@oracle.com> <51DD7FE8.9070207@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF5882@DEWDFEMB12A.global.corp.sap> Hi, I saw you pushed 5 to hotspot-emb, that's great, thanks a lot. Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Mittwoch, 10. Juli 2013 17:38 To: Volker Simonis Cc: Lindenmaier, Goetz; hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch Albert is working on other urgent issues so the work on safefetch is delayed. Regards, Vladimir On 7/10/13 8:29 AM, Volker Simonis wrote: > Hi Vladimir, > > what's the status of this patch? > Are you still evaluate the required closed source changes? > > Regards, > Volker > > > On Wed, Jul 3, 2013 at 12:17 AM, Vladimir Kozlov > wrote: >> Thank you, Goetz >> >> We are doing review of closed changes. When they are ready I will push. >> >> Thanks, >> Vladimir >> >> >> On 7/2/13 2:47 AM, Lindenmaier, Goetz wrote: >>> >>> Hi, >>> >>> Sorry for that, I didn't grok the comment. The alignment is a good idea. >>> Fixed: >>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>> >>> Best regards, >>> Goetz. >>> >>> >>> -----Original Message----- >>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>> Sent: Dienstag, 2. Juli 2013 01:17 >>> To: Lindenmaier, Goetz >>> Cc: 'Christian Thalinger'; 'Albert Noll (albert.noll at oracle.com)'; >>> 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>> safefetch >>> >>> Goetz, >>> >>> Why you did not add 'nop' between load and return instructions on sparc? >>> It was in assembler in .s file. The next comment said we need it: >>> >>> !! By convention with the trap handler we ensure there is a non-CTI >>> !! instruction in the trap shadow. >>> >>> Also should we align code in stubs to keep it in one cache line? >>> >>> __ align(CodeEntryAlignment); >>> *entry = __ pc(); >>> >>> Thanks, >>> Vladimir >>> >>> On 6/24/13 12:31 PM, Lindenmaier, Goetz wrote: >>>> >>>> Hi, >>>> >>>> you are right, the check is redundant. >>>> I removed it and updated the webrev and also based it on the >>>> recent staging repo: >>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Monday, June 24, 2013 7:48 PM >>>> To: Lindenmaier, Goetz >>>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>>> 'hotspot-dev at openjdk.java.net' >>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>> safefetch >>>> >>>> >>>> On Jun 20, 2013, at 7:01 AM, "Lindenmaier, Goetz" >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> I implemented the safefetch stubs for x86 and sparc (was quiet simple). >>>>> This way I could clean up the #define right away. >>>>> >>>>> I tested it thouroughly on >>>>> x86_64: bsd, nt, linux, solaris >>>>> x86_32: nt, linux >>>>> by adding it into our internal VM. >>>>> Tonight I will get build/test on >>>>> sparc_64 solaris >>>>> sparc_32 solaris >>>>> x86_64 nt, linux >>>>> with the openjdk ppc port, but I tested that before submitting in a >>>>> smaller >>>>> extend, too. >>>>> >>>>> Here the webrev: >>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>>> >>>> >>>> I like this change. It removes a lot of duplication. One comment: >>>> >>>> + static bool is_safefetch_fault(address pc) { >>>> + return pc != NULL && >>>> + (pc == _safefetch32_fault_pc || >>>> + pc == _safefetchN_fault_pc); >>>> + } >>>> >>>> checks for pc != null. Should we remove the check here? >>>> >>>> + if (pc && StubRoutines::is_safefetch_fault(pc)) { >>>> + set_cont_address(uc, >>>> address(StubRoutines::continuation_for_safefetch_fault(pc))); >>>> return true; >>>> } >>>> >>>> -- Chris >>>> >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>> Sent: Dienstag, 18. Juni 2013 22:44 >>>>> To: Lindenmaier, Goetz >>>>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>>>> 'hotspot-dev at openjdk.java.net' >>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>> safefetch >>>>> >>>>> >>>>> On Jun 18, 2013, at 1:18 PM, "Lindenmaier, Goetz" >>>>> wrote: >>>>> >>>>>> Ok, I will implement it on x86. >>>>>> >>>>>> To get a single change, you can give me the sparc patch, >>>>>> or you extend the webrev once I updated it with the >>>>>> x86 code. >>>>> >>>>> >>>>> Sounds good. Let me know when it's there. >>>>> >>>>> -- Chris >>>>> >>>>>> If you prefer, you can also push it to some other repository, it >>>>>> will end up in the ppc repo in time I guess. >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>> Sent: Tuesday, June 18, 2013 6:59 PM >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: Volker Simonis; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>> hotspot-dev at openjdk.java.net >>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>> safefetch >>>>>> >>>>>> >>>>>> On Jun 18, 2013, at 1:50 AM, "Lindenmaier, Goetz" >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> We have it on these platforms: >>>>>>> ia64 (nt, linux, hp_ux) >>>>>>> parisc (hp_ux) >>>>>>> zArch (linux) >>>>>>> ppc (aix, linux) >>>>>>> >>>>>>> I would implement it on x86 & friends, you do it on sparc and wherever >>>>>>> else you like it? >>>>>> >>>>>> >>>>>> That sounds reasonable. Are we pushing this to the ppc repository >>>>>> then? >>>>>> >>>>>> -- Chris >>>>>> >>>>>>> >>>>>>> Best regards, >>>>>>> Goetz. >>>>>>> >>>>>>> >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>>> Sent: Dienstag, 18. Juni 2013 07:13 >>>>>>> To: Volker Simonis >>>>>>> Cc: Lindenmaier, Goetz; Vladimir Kozlov; >>>>>>> ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>>> safefetch >>>>>>> >>>>>>> >>>>>>> On Jun 17, 2013, at 10:08 AM, Volker Simonis >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Goetz, >>>>>>>> >>>>>>>> I think the change is good and if the other reviewers don't decide to >>>>>>>> implement it for the current platforms we can push it. >>>>>>> >>>>>>> >>>>>>> I talked with Vladimir about this today and I my opinion we should use >>>>>>> this stub on all platforms. On which other platforms are you guys having >>>>>>> this? >>>>>>> >>>>>>> -- Chris >>>>>>> >>>>>>>> >>>>>>>> By the way, the makefile changes in ppc64.make will follow in patch 8 >>>>>>>> for >>>>>>>> linux [1] and patch 14 for aix [2]. >>>>>>>> The implementation of the stubs will be in patch 9 for linux [3] and >>>>>>>> patch >>>>>>>> 15 for aix [4] (only the signal handling part). >>>>>>>> >>>>>>>> Regards, >>>>>>>> Volker >>>>>>>> >>>>>>>> [1] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0008_linux_ppc_make_changes.patch >>>>>>>> [2] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0014_aix_make_changes.patch >>>>>>>> [3] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0009_linux_ppc_files.patch >>>>>>>> [4] >>>>>>>> >>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0015_aix_ppc_files.patch >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Mon, Jun 17, 2013 at 3:55 PM, Lindenmaier, Goetz < >>>>>>>> goetz.lindenmaier at sap.com> wrote: >>>>>>>> >>>>>>>>> Hi,**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> the PPC64 port uses stub routines to implement safefetch. We had >>>>>>>>> and**** >>>>>>>>> >>>>>>>>> have problems with inline assembly, especially with non-gcc**** >>>>>>>>> >>>>>>>>> compilers. Stub routines allow to implement safefetch without**** >>>>>>>>> >>>>>>>>> depending on OS or compiler, as it's the case with the current**** >>>>>>>>> >>>>>>>>> implementation. This also allows to use a single implementation if >>>>>>>>> an**** >>>>>>>>> >>>>>>>>> architecture is supported on several os platforms.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-safefetch/**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Currently, we guard the code with **** >>>>>>>>> >>>>>>>>> #ifdef SAFEFETCH_STUBS**** >>>>>>>>> >>>>>>>>> which is set in ppc64.make.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> I could also imagine an implementation that uses a pd_debug flag**** >>>>>>>>> >>>>>>>>> or a const flag set in os_.hpp that allows the C-compiler to >>>>>>>>> **** >>>>>>>>> >>>>>>>>> optimize, and writing the code like this:**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> extern "C" int pd_SafeFetch32 (int * adr, int errValue) ;**** >>>>>>>>> >>>>>>>>> extern "C" intptr_t pd_SafeFetchN (intptr_t * adr, intptr_t >>>>>>>>> errValue) ;*** >>>>>>>>> * >>>>>>>>> >>>>>>>>> inline int SafeFetch32(int* adr, int errValue) {**** >>>>>>>>> >>>>>>>>> if (UseSafefetchStub) {**** >>>>>>>>> >>>>>>>>> assert(StubRoutines::SafeFetch32_stub(), "stub not yet >>>>>>>>> generated");*** >>>>>>>>> * >>>>>>>>> >>>>>>>>> return StubRoutines::SafeFetch32_stub()(adr, errValue);**** >>>>>>>>> >>>>>>>>> } else {**** >>>>>>>>> >>>>>>>>> pd_SafeFetch32(adr, errValue);**** >>>>>>>>> >>>>>>>>> }**** >>>>>>>>> >>>>>>>>> }**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Unfortunately this requires **** >>>>>>>>> >>>>>>>>> 1) setting the flag on all platforms**** >>>>>>>>> >>>>>>>>> 2) renaming the safefetch function on all platfoms.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Actually I would prefer this second solution as it avoids the >>>>>>>>> preprocessor, **** >>>>>>>>> >>>>>>>>> and am happy to edit the sources accordingly if this finds >>>>>>>>> acceptance.**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> For the implementation of a safefetch_stub see**** >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/fce884e5ba0b/src/cpu/ppc/vm/stubGenerator_ppc.cpp >>>>>>>>> **** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Could I get a review on this change, please?**** >>>>>>>>> >>>>>>>>> ** ** >>>>>>>>> >>>>>>>>> Thanks,**** >>>>>>>>> >>>>>>>>> Goetz.**** >>>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >> From vladimir.kozlov at oracle.com Mon Jul 15 10:02:33 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 15 Jul 2013 10:02:33 -0700 Subject: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF5882@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFE9848@DEWDFEMB12A.global.corp.sap> <7D0A3D84-A235-4400-8406-95D5EE765E55@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFE9ADF@DEWDFEMB12A.global.corp.sap> <8AA57E4C-80A8-4D10-AE68-64FCB113CC33@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEADA2@DEWDFEMB12A.global.corp.sap> <4295855A5C1DE049A61835A1887419CC0CFEC4BA@DEWDFEMB12A.global.corp.sap> <6D628389-7082-450E-AF0E-1EC3249058F7@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFEDBDE@DEWDFEMB12A.global.corp.sap> <51D20DEC.7050904@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF1499@DEWDFEMB12A.global.corp.sap> <51D3515F.10402@oracle.com> <51DD7FE8.9070207@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF5882@DEWDFEMB12A.global.corp.sap> Message-ID: <51E42B29.9070505@oracle.com> Hi Goetz, We decided to push it into main sources to get full testing since it affects our code significantly. You will need to wait the promotion into stage repo a little more than one week. Regards, Vladimir On 7/15/13 12:41 AM, Lindenmaier, Goetz wrote: > Hi, > > I saw you pushed 5 to hotspot-emb, that's great, thanks a lot. > > Best regards, > Goetz. > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Mittwoch, 10. Juli 2013 17:38 > To: Volker Simonis > Cc: Lindenmaier, Goetz; hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net > Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement safefetch > > Albert is working on other urgent issues so the work on safefetch is delayed. > > Regards, > Vladimir > > On 7/10/13 8:29 AM, Volker Simonis wrote: >> Hi Vladimir, >> >> what's the status of this patch? >> Are you still evaluate the required closed source changes? >> >> Regards, >> Volker >> >> >> On Wed, Jul 3, 2013 at 12:17 AM, Vladimir Kozlov >> wrote: >>> Thank you, Goetz >>> >>> We are doing review of closed changes. When they are ready I will push. >>> >>> Thanks, >>> Vladimir >>> >>> >>> On 7/2/13 2:47 AM, Lindenmaier, Goetz wrote: >>>> >>>> Hi, >>>> >>>> Sorry for that, I didn't grok the comment. The alignment is a good idea. >>>> Fixed: >>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> -----Original Message----- >>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>> Sent: Dienstag, 2. Juli 2013 01:17 >>>> To: Lindenmaier, Goetz >>>> Cc: 'Christian Thalinger'; 'Albert Noll (albert.noll at oracle.com)'; >>>> 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' >>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>> safefetch >>>> >>>> Goetz, >>>> >>>> Why you did not add 'nop' between load and return instructions on sparc? >>>> It was in assembler in .s file. The next comment said we need it: >>>> >>>> !! By convention with the trap handler we ensure there is a non-CTI >>>> !! instruction in the trap shadow. >>>> >>>> Also should we align code in stubs to keep it in one cache line? >>>> >>>> __ align(CodeEntryAlignment); >>>> *entry = __ pc(); >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 6/24/13 12:31 PM, Lindenmaier, Goetz wrote: >>>>> >>>>> Hi, >>>>> >>>>> you are right, the check is redundant. >>>>> I removed it and updated the webrev and also based it on the >>>>> recent staging repo: >>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>> Sent: Monday, June 24, 2013 7:48 PM >>>>> To: Lindenmaier, Goetz >>>>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>>>> 'hotspot-dev at openjdk.java.net' >>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>> safefetch >>>>> >>>>> >>>>> On Jun 20, 2013, at 7:01 AM, "Lindenmaier, Goetz" >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I implemented the safefetch stubs for x86 and sparc (was quiet simple). >>>>>> This way I could clean up the #define right away. >>>>>> >>>>>> I tested it thouroughly on >>>>>> x86_64: bsd, nt, linux, solaris >>>>>> x86_32: nt, linux >>>>>> by adding it into our internal VM. >>>>>> Tonight I will get build/test on >>>>>> sparc_64 solaris >>>>>> sparc_32 solaris >>>>>> x86_64 nt, linux >>>>>> with the openjdk ppc port, but I tested that before submitting in a >>>>>> smaller >>>>>> extend, too. >>>>>> >>>>>> Here the webrev: >>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-all/ >>>>> >>>>> >>>>> I like this change. It removes a lot of duplication. One comment: >>>>> >>>>> + static bool is_safefetch_fault(address pc) { >>>>> + return pc != NULL && >>>>> + (pc == _safefetch32_fault_pc || >>>>> + pc == _safefetchN_fault_pc); >>>>> + } >>>>> >>>>> checks for pc != null. Should we remove the check here? >>>>> >>>>> + if (pc && StubRoutines::is_safefetch_fault(pc)) { >>>>> + set_cont_address(uc, >>>>> address(StubRoutines::continuation_for_safefetch_fault(pc))); >>>>> return true; >>>>> } >>>>> >>>>> -- Chris >>>>> >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>> Sent: Dienstag, 18. Juni 2013 22:44 >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: 'Vladimir Kozlov'; 'ppc-aix-port-dev at openjdk.java.net'; >>>>>> 'hotspot-dev at openjdk.java.net' >>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>> safefetch >>>>>> >>>>>> >>>>>> On Jun 18, 2013, at 1:18 PM, "Lindenmaier, Goetz" >>>>>> wrote: >>>>>> >>>>>>> Ok, I will implement it on x86. >>>>>>> >>>>>>> To get a single change, you can give me the sparc patch, >>>>>>> or you extend the webrev once I updated it with the >>>>>>> x86 code. >>>>>> >>>>>> >>>>>> Sounds good. Let me know when it's there. >>>>>> >>>>>> -- Chris >>>>>> >>>>>>> If you prefer, you can also push it to some other repository, it >>>>>>> will end up in the ppc repo in time I guess. >>>>>>> >>>>>>> Best regards, >>>>>>> Goetz. >>>>>>> >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>>> Sent: Tuesday, June 18, 2013 6:59 PM >>>>>>> To: Lindenmaier, Goetz >>>>>>> Cc: Volker Simonis; Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>>> hotspot-dev at openjdk.java.net >>>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>>> safefetch >>>>>>> >>>>>>> >>>>>>> On Jun 18, 2013, at 1:50 AM, "Lindenmaier, Goetz" >>>>>>> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> We have it on these platforms: >>>>>>>> ia64 (nt, linux, hp_ux) >>>>>>>> parisc (hp_ux) >>>>>>>> zArch (linux) >>>>>>>> ppc (aix, linux) >>>>>>>> >>>>>>>> I would implement it on x86 & friends, you do it on sparc and wherever >>>>>>>> else you like it? >>>>>>> >>>>>>> >>>>>>> That sounds reasonable. Are we pushing this to the ppc repository >>>>>>> then? >>>>>>> >>>>>>> -- Chris >>>>>>> >>>>>>>> >>>>>>>> Best regards, >>>>>>>> Goetz. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>>>> Sent: Dienstag, 18. Juni 2013 07:13 >>>>>>>> To: Volker Simonis >>>>>>>> Cc: Lindenmaier, Goetz; Vladimir Kozlov; >>>>>>>> ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >>>>>>>> Subject: Re: RFR(M): 8016697: PPC64 (part 5): Use stubs to implement >>>>>>>> safefetch >>>>>>>> >>>>>>>> >>>>>>>> On Jun 17, 2013, at 10:08 AM, Volker Simonis >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Goetz, >>>>>>>>> >>>>>>>>> I think the change is good and if the other reviewers don't decide to >>>>>>>>> implement it for the current platforms we can push it. >>>>>>>> >>>>>>>> >>>>>>>> I talked with Vladimir about this today and I my opinion we should use >>>>>>>> this stub on all platforms. On which other platforms are you guys having >>>>>>>> this? >>>>>>>> >>>>>>>> -- Chris >>>>>>>> >>>>>>>>> >>>>>>>>> By the way, the makefile changes in ppc64.make will follow in patch 8 >>>>>>>>> for >>>>>>>>> linux [1] and patch 14 for aix [2]. >>>>>>>>> The implementation of the stubs will be in patch 9 for linux [3] and >>>>>>>>> patch >>>>>>>>> 15 for aix [4] (only the signal handling part). >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Volker >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> >>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0008_linux_ppc_make_changes.patch >>>>>>>>> [2] >>>>>>>>> >>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0014_aix_make_changes.patch >>>>>>>>> [3] >>>>>>>>> >>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0009_linux_ppc_files.patch >>>>>>>>> [4] >>>>>>>>> >>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/tip/ppc_patches/0015_aix_ppc_files.patch >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Jun 17, 2013 at 3:55 PM, Lindenmaier, Goetz < >>>>>>>>> goetz.lindenmaier at sap.com> wrote: >>>>>>>>> >>>>>>>>>> Hi,**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> the PPC64 port uses stub routines to implement safefetch. We had >>>>>>>>>> and**** >>>>>>>>>> >>>>>>>>>> have problems with inline assembly, especially with non-gcc**** >>>>>>>>>> >>>>>>>>>> compilers. Stub routines allow to implement safefetch without**** >>>>>>>>>> >>>>>>>>>> depending on OS or compiler, as it's the case with the current**** >>>>>>>>>> >>>>>>>>>> implementation. This also allows to use a single implementation if >>>>>>>>>> an**** >>>>>>>>>> >>>>>>>>>> architecture is supported on several os platforms.**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~goetz/webrevs/8016697-safefetch/**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> Currently, we guard the code with **** >>>>>>>>>> >>>>>>>>>> #ifdef SAFEFETCH_STUBS**** >>>>>>>>>> >>>>>>>>>> which is set in ppc64.make.**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> I could also imagine an implementation that uses a pd_debug flag**** >>>>>>>>>> >>>>>>>>>> or a const flag set in os_.hpp that allows the C-compiler to >>>>>>>>>> **** >>>>>>>>>> >>>>>>>>>> optimize, and writing the code like this:**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> extern "C" int pd_SafeFetch32 (int * adr, int errValue) ;**** >>>>>>>>>> >>>>>>>>>> extern "C" intptr_t pd_SafeFetchN (intptr_t * adr, intptr_t >>>>>>>>>> errValue) ;*** >>>>>>>>>> * >>>>>>>>>> >>>>>>>>>> inline int SafeFetch32(int* adr, int errValue) {**** >>>>>>>>>> >>>>>>>>>> if (UseSafefetchStub) {**** >>>>>>>>>> >>>>>>>>>> assert(StubRoutines::SafeFetch32_stub(), "stub not yet >>>>>>>>>> generated");*** >>>>>>>>>> * >>>>>>>>>> >>>>>>>>>> return StubRoutines::SafeFetch32_stub()(adr, errValue);**** >>>>>>>>>> >>>>>>>>>> } else {**** >>>>>>>>>> >>>>>>>>>> pd_SafeFetch32(adr, errValue);**** >>>>>>>>>> >>>>>>>>>> }**** >>>>>>>>>> >>>>>>>>>> }**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> Unfortunately this requires **** >>>>>>>>>> >>>>>>>>>> 1) setting the flag on all platforms**** >>>>>>>>>> >>>>>>>>>> 2) renaming the safefetch function on all platfoms.**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> Actually I would prefer this second solution as it avoids the >>>>>>>>>> preprocessor, **** >>>>>>>>>> >>>>>>>>>> and am happy to edit the sources accordingly if this finds >>>>>>>>>> acceptance.**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> For the implementation of a safefetch_stub see**** >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/fce884e5ba0b/src/cpu/ppc/vm/stubGenerator_ppc.cpp >>>>>>>>>> **** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> Could I get a review on this change, please?**** >>>>>>>>>> >>>>>>>>>> ** ** >>>>>>>>>> >>>>>>>>>> Thanks,**** >>>>>>>>>> >>>>>>>>>> Goetz.**** >>>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>> From goetz.lindenmaier at sap.com Tue Jul 16 11:49:41 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 18:49:41 +0000 Subject: hg: ppc-aix-port/jdk8/corba: 17 new changesets Message-ID: <20130716184952.364B04810C@hg.openjdk.java.net> Changeset: 5845df371e25 Author: alanb Date: 2013-06-10 17:15 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/5845df371e25 8016218: Warnings building corba repo due to missing hashCode methods Reviewed-by: chegar, coffeys, dfuchs ! src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java ! src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java ! src/share/classes/sun/rmi/rmic/iiop/CompoundType.java Changeset: 0fac0a9d9545 Author: lana Date: 2013-06-16 22:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/0fac0a9d9545 Merge Changeset: 39d15bbb5741 Author: coffeys Date: 2013-04-08 23:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/39d15bbb5741 8001032: Restrict object access Summary: Restrict object access; fix reviewed also by Alexander Fomin Reviewed-by: alanb, ahgross ! make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk ! src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java ! src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java - src/share/classes/com/sun/corba/se/impl/orbutil/ORBClassLoader.java ! src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java ! src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java ! src/share/classes/com/sun/corba/se/spi/orb/ORB.java ! src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java ! src/share/classes/sun/corba/JavaCorbaAccess.java Changeset: 978818df41b9 Author: chegar Date: 2013-04-24 10:17 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/978818df41b9 Merge Changeset: 68d407e4d204 Author: chegar Date: 2013-04-28 08:15 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/68d407e4d204 Merge Changeset: 80161c61aa68 Author: coffeys Date: 2013-04-30 11:53 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/80161c61aa68 8000642: Better handling of objects for transportation Reviewed-by: alanb, mchung, skoivu ! src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java ! src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java ! src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java ! src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java ! src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java ! src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java ! src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java ! src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java ! src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java ! src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java ! src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java ! src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java ! src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java ! src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java ! src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java ! src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java ! src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java ! src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java ! src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java + src/share/classes/sun/corba/OutputStreamFactory.java Changeset: 4fe1edbec7bc Author: chegar Date: 2013-05-08 10:09 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/4fe1edbec7bc Merge Changeset: e9c924d3475c Author: chegar Date: 2013-05-16 11:39 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/e9c924d3475c Merge Changeset: 216cb38dce0a Author: chegar Date: 2013-05-23 12:41 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/216cb38dce0a Merge Changeset: 25e68d232c20 Author: chegar Date: 2013-05-31 10:26 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/25e68d232c20 Merge Changeset: c1f80e733eb0 Author: chegar Date: 2013-06-17 11:11 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/c1f80e733eb0 Merge ! src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java Changeset: d406edd4f6fd Author: mfang Date: 2013-06-18 20:52 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/d406edd4f6fd 8015657: jdk8 l10n resource file translation update 3 Reviewed-by: yhuang ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties ! src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp Changeset: 3357c2776431 Author: lana Date: 2013-06-24 14:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/3357c2776431 Merge Changeset: 469995a8e974 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/469995a8e974 Added tag jdk8-b96 for changeset 3357c2776431 ! .hgtags Changeset: 3370fb6146e4 Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/3370fb6146e4 Added tag jdk8-b97 for changeset 469995a8e974 ! .hgtags Changeset: 3f67804ab613 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/3f67804ab613 Added tag jdk8-b98 for changeset 3370fb6146e4 ! .hgtags Changeset: 373901abead6 Author: goetz Date: 2013-07-16 20:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/corba/rev/373901abead6 Merge - src/share/classes/com/sun/corba/se/impl/orbutil/ORBClassLoader.java From goetz.lindenmaier at sap.com Tue Jul 16 11:49:08 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 18:49:08 +0000 Subject: hg: ppc-aix-port/jdk8: 21 new changesets Message-ID: <20130716184910.A03B44810B@hg.openjdk.java.net> Changeset: f8770fe60d53 Author: mduigou Date: 2013-06-17 09:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/f8770fe60d53 8016572: Pass CONCURRENCY=$(JOBS) to test/Makefile Reviewed-by: alanb, erikj ! common/makefiles/Main.gmk Changeset: b9587f41fd55 Author: smarks Date: 2013-06-18 17:18 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/b9587f41fd55 8016780: README-builds.html misses crucial requirement on bootstrap JDK Reviewed-by: dholmes, chegar ! README-builds.html Changeset: d72e765a9fbe Author: lana Date: 2013-06-19 17:59 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/d72e765a9fbe Merge Changeset: f1010ef2f451 Author: lana Date: 2013-06-24 14:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/f1010ef2f451 Merge Changeset: ebcd79fc658d Author: erikj Date: 2013-06-25 09:37 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/ebcd79fc658d 8012564: The SOURCE value in release file of JDK 8 doesn't contain valid changesets for some OS since b74 Reviewed-by: alanb, tbell ! common/makefiles/Main.gmk Changeset: c156084add48 Author: katleman Date: 2013-06-25 13:47 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/c156084add48 Merge ! common/makefiles/Main.gmk Changeset: 3ef3f4174c2b Author: simonis Date: 2013-07-02 17:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/3ef3f4174c2b 8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64 Summary: Enable new build on Linux/PPC64 Reviewed-by: erikj ! common/autoconf/boot-jdk.m4 ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/hotspot-spec.gmk.in ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: 4c363b94ea2a Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/4c363b94ea2a Added tag jdk8-b96 for changeset c156084add48 ! .hgtags Changeset: f5eb23490e6a Author: erikj Date: 2013-06-27 09:27 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/f5eb23490e6a 8017047: Can't use --with-java-devtools and --with-devkit at the same time Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: e5cf1735638c Author: erikj Date: 2013-06-28 11:55 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/e5cf1735638c 8016605: New files dont apear in src.zip Reviewed-by: tbell ! common/makefiles/JavaCompilation.gmk Changeset: 0871b5799149 Author: erikj Date: 2013-06-28 11:58 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/0871b5799149 8019229: Build Configuration Fail in Windows Platform Reviewed-by: chegar, tbell, dxu ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: 0e533ceee717 Author: erikj Date: 2013-06-28 12:00 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/0e533ceee717 8016303: make CONF= isn't working Reviewed-by: tbell ! NewMakefile.gmk Changeset: 78aaf5d3314d Author: erikj Date: 2013-06-28 12:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/78aaf5d3314d 8010385: build with LOG=trace broken on mac Reviewed-by: dholmes, tbell, prr ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/makefiles/MakeBase.gmk Changeset: dd3b314f4471 Author: erikj Date: 2013-07-01 15:40 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/dd3b314f4471 8009744: build-infra: REGRESSION: Publisher was NOT set for some JDK files Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: b2b87e9e8683 Author: erikj Date: 2013-07-02 15:07 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/b2b87e9e8683 8019537: jdk8-build prebuild fails in source bundle generation, The path of TOOLS_DIR ... is not found Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: a1c1e8bf71f3 Author: katleman Date: 2013-07-02 15:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/a1c1e8bf71f3 Merge Changeset: 99ad803f8c4e Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/99ad803f8c4e Added tag jdk8-b97 for changeset a1c1e8bf71f3 ! .hgtags Changeset: 0d0c983a817b Author: tbell Date: 2013-07-09 08:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/0d0c983a817b 8009315: F# on PATH breaks Cygwin tools (mkdir, echo, mktemp ...) Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 59dc9da81379 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/59dc9da81379 Added tag jdk8-b98 for changeset 0d0c983a817b ! .hgtags Changeset: 81632308f60d Author: kvn Date: 2013-07-11 12:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/81632308f60d Merge ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: 76f27061f8c5 Author: goetz Date: 2013-07-16 20:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/rev/76f27061f8c5 Merge ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! common/makefiles/JavaCompilation.gmk ! common/makefiles/MakeBase.gmk From goetz.lindenmaier at sap.com Tue Jul 16 11:50:29 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 18:50:29 +0000 Subject: hg: ppc-aix-port/jdk8/jaxp: 24 new changesets Message-ID: <20130716185121.6FA694810D@hg.openjdk.java.net> Changeset: 7d14fea1e893 Author: dmeetry Date: 2013-06-06 20:40 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/7d14fea1e893 8009579: Xpathexception does not honor initcause() Reviewed-by: alanb, dholmes, joehw Contributed-by: aleksej.efimov at oracle.com ! src/javax/xml/xpath/XPathException.java Changeset: e93beba07830 Author: dfuchs Date: 2013-06-06 20:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/e93beba07830 8013434: Xalan and Xerces internal ObjectFactory need rework Summary: With this changeset, DTMManager and XSLTCDTMManager will always use their own default implementation. Reviewed-by: joehw, alanb - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory - src/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager ! src/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java ! src/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java ! src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java ! src/com/sun/org/apache/xalan/internal/xsltc/dom/XSLTCDTMManager.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerHandlerImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/com/sun/org/apache/xerces/internal/utils/ObjectFactory.java ! src/com/sun/org/apache/xml/internal/dtm/DTMManager.java ! src/com/sun/org/apache/xpath/internal/XPathContext.java Changeset: c2957e596bee Author: joehw Date: 2013-06-06 15:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/c2957e596bee 8015016: Improve JAXP 1.5 error message Reviewed-by: lancea ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.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.properties Changeset: 5c84d4a878f1 Author: joehw Date: 2013-06-10 14:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/5c84d4a878f1 8016153: Property http://javax.xml.XMLConstants/property/accessExternalDTD is not recognized. Reviewed-by: lancea, dfuchs ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java ! src/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java Changeset: 659828443145 Author: coffeys Date: 2013-06-14 15:14 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/659828443145 8015978: Incorrect transformation of XPath expression "string(-0)" Reviewed-by: darcy, joehw Contributed-by: aleksej.efimov at oracle.com ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java Changeset: 2707f600a096 Author: robm Date: 2013-06-15 09:26 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/2707f600a096 8016701: JAXP Build failure Reviewed-by: darcy, wetmore, alanb, chegar ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java Changeset: 0142ef23f1b4 Author: lana Date: 2013-06-16 22:32 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/0142ef23f1b4 Merge Changeset: 09d55894844d Author: joehw Date: 2013-06-17 12:47 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/09d55894844d 8016133: Regression: diff. behavior with user-defined SAXParser Reviewed-by: chegar, dfuchs ! src/org/xml/sax/helpers/XMLReaderFactory.java Changeset: f14f72174f00 Author: chegar Date: 2013-04-24 10:18 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/f14f72174f00 Merge Changeset: b225607e056b Author: chegar Date: 2013-04-28 08:15 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/b225607e056b Merge Changeset: 5b7a22859380 Author: chegar Date: 2013-05-08 10:10 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/5b7a22859380 Merge Changeset: 96223058c269 Author: chegar Date: 2013-05-16 11:41 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/96223058c269 Merge Changeset: ed115f7cc6d0 Author: chegar Date: 2013-05-23 12:44 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/ed115f7cc6d0 Merge Changeset: 231034c73ed5 Author: chegar Date: 2013-05-31 10:27 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/231034c73ed5 Merge Changeset: f8f257062d53 Author: chegar Date: 2013-06-10 09:51 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/f8f257062d53 Merge - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory - src/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory - src/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager - src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java Changeset: ec38586b8bf3 Author: chegar Date: 2013-06-17 11:18 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/ec38586b8bf3 Merge Changeset: 1c5e3ae28f81 Author: chegar Date: 2013-06-18 09:36 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/1c5e3ae28f81 Merge Changeset: 21d9cbbb7bf3 Author: mfang Date: 2013-06-18 22:52 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/21d9cbbb7bf3 8016824: jdk8 l10n resource file translation update 3 - jaxp Reviewed-by: joehw ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.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_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_de.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_es.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_fr.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_it.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ja.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ko.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_pt_BR.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_sv.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_CN.properties + src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_TW.properties Changeset: 6121efd29923 Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/6121efd29923 Merge Changeset: 403f882ecc94 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/403f882ecc94 Added tag jdk8-b96 for changeset 6121efd29923 ! .hgtags Changeset: c96691d84a7c Author: katleman Date: 2013-06-28 16:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/c96691d84a7c 8019347: JDK8 b96 source with GPL header errors Reviewed-by: iris, alanb, lancea ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DOMMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/DatatypeMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/JAXPValidationMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.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_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSerializerMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_de.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_es.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_it.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/message_zh_TW.properties Changeset: 6c830db28d21 Author: katleman Date: 2013-07-02 15:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/6c830db28d21 Merge Changeset: 15e5bb51bc0c Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/15e5bb51bc0c Added tag jdk8-b97 for changeset 6c830db28d21 ! .hgtags Changeset: adf49c3ef83c Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxp/rev/adf49c3ef83c Added tag jdk8-b98 for changeset 15e5bb51bc0c ! .hgtags From goetz.lindenmaier at sap.com Tue Jul 16 11:51:49 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 18:51:49 +0000 Subject: hg: ppc-aix-port/jdk8/jaxws: 6 new changesets Message-ID: <20130716185203.9AA534810E@hg.openjdk.java.net> Changeset: 8f2986ff0235 Author: mkos Date: 2013-06-12 14:47 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxws/rev/8f2986ff0235 8013021: Rebase 8005432 & 8003542 against the latest jdk8/jaxws 8003542: Improve processing of MTOM attachments 8005432: Update access to JAX-WS Reviewed-by: mullan ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java ! src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java ! src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java ! src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties ! src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/Decoder.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java ! src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java ! src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java ! src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java + src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/DatabindingConfig.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Fiber.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/MetroConfigLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/TubeCreator.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/MonitorRootClient.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingFactoryImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/resources/DispatchMessages.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/resources/dispatch.properties ! src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingInfo.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java ! src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties ! src/share/jaxws_classes/javax/xml/soap/FactoryFinder.java ! src/share/jaxws_classes/javax/xml/soap/MessageFactory.java ! src/share/jaxws_classes/javax/xml/soap/SAAJMetaFactory.java ! src/share/jaxws_classes/javax/xml/soap/SOAPConnectionFactory.java ! src/share/jaxws_classes/javax/xml/soap/SOAPFactory.java Changeset: c4191a46e3eb Author: lana Date: 2013-06-16 22:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxws/rev/c4191a46e3eb Merge Changeset: 690d34b326bc Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxws/rev/690d34b326bc Merge Changeset: dcde7f049111 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxws/rev/dcde7f049111 Added tag jdk8-b96 for changeset 690d34b326bc ! .hgtags Changeset: b1fb4612a2ca Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxws/rev/b1fb4612a2ca Added tag jdk8-b97 for changeset dcde7f049111 ! .hgtags Changeset: 8ef83d4b23c9 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jaxws/rev/8ef83d4b23c9 Added tag jdk8-b98 for changeset b1fb4612a2ca ! .hgtags From goetz.lindenmaier at sap.com Tue Jul 16 12:21:09 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 19:21:09 +0000 Subject: hg: ppc-aix-port/jdk8/nashorn: 68 new changesets Message-ID: <20130716192214.F116D48113@hg.openjdk.java.net> Changeset: bab844827181 Author: sundar Date: 2013-06-06 21:41 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/bab844827181 8015346: JSON parsing issues with escaped strings, octal, decimal numbers Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8015346.js Changeset: 918a986b0478 Author: hannesw Date: 2013-06-07 17:44 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/918a986b0478 8012291: NativeArray is inconsistent in using long for length and index in some places and int for the same in other places Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/examples/array-micro.js + test/script/basic/JDK-8012291.js + test/script/basic/JDK-8012291.js.EXPECTED Changeset: 8f890b6bf6de Author: lagergren Date: 2013-06-10 13:21 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/8f890b6bf6de 8015892: canBeUndefined too conservative for some use before declaration cases Reviewed-by: attila, hannesw ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/ir/Symbol.java + test/script/basic/JDK-8015892.js + test/script/basic/fib_wtf.js + test/script/basic/fib_wtf.js.EXPECTED Changeset: a6f8ea57f048 Author: lagergren Date: 2013-06-10 13:27 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/a6f8ea57f048 8016226: backing out test without third party license approval Reviewed-by: attila, sundar - test/script/basic/fib_wtf.js - test/script/basic/fib_wtf.js.EXPECTED Changeset: 966868ef75ee Author: sundar Date: 2013-06-10 19:54 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/966868ef75ee 8016239: loadWithNewGlobal should support user supplied arguments from the caller Reviewed-by: lagergren, attila, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/Context.java + test/script/basic/JDK-8016239.js + test/script/basic/JDK-8016239.js.EXPECTED Changeset: 1a5d67424e83 Author: sundar Date: 2013-06-11 13:09 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/1a5d67424e83 8015357: a = []; a[0x7fffffff]=1; a.sort()[0] should evaluate to 1 instead of undefined Reviewed-by: hannesw, lagergren + test/script/basic/JDK-8015357.js Changeset: fe830f6daa3f Author: sundar Date: 2013-06-11 13:12 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/fe830f6daa3f Merge Changeset: 558d31c168ed Author: lana Date: 2013-06-16 22:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/558d31c168ed Merge Changeset: df5d7f34e35e Author: hannesw Date: 2013-06-11 17:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/df5d7f34e35e 8015379: PropertyMap.addProperty() is slow Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: aa16622193e1 Author: jlaskey Date: 2013-06-12 11:22 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/aa16622193e1 8016453: loadWithNewGlobal does not allow apply operation Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! samples/test.js ! src/jdk/nashorn/internal/objects/Global.java Changeset: d26e069353c0 Author: hannesw Date: 2013-06-12 16:41 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/d26e069353c0 8011893: JS Object builtin prototype is not thread safe Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java + test/script/basic/JDK-8011893.js + test/script/basic/JDK-8011893.js.EXPECTED Changeset: b0dcc3727fc3 Author: sundar Date: 2013-06-13 16:08 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/b0dcc3727fc3 8015355: Array.prototype functions don't honour non-writable length and / or index properties Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java + test/script/basic/JDK-8015355.js Changeset: 6d6133ef1fd5 Author: hannesw Date: 2013-06-13 12:52 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/6d6133ef1fd5 8016518: Parsing of octal string escapes is broken Reviewed-by: sundar, lagergren ! src/jdk/nashorn/internal/parser/Lexer.java + test/script/basic/JDK-8016518.js + test/script/basic/JDK-8016518.js.EXPECTED Changeset: 18362e95e638 Author: hannesw Date: 2013-06-13 14:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/18362e95e638 8016522: Numeric literal must not be followed by IdentifierStart Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/error/JDK-8016522.js + test/script/error/JDK-8016522.js.EXPECTED Changeset: fe80eda7b57e Author: hannesw Date: 2013-06-13 15:26 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/fe80eda7b57e 8016528: Hex code from escape() should be padded Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java + test/script/basic/JDK-8016528.js + test/script/basic/JDK-8016528.js.EXPECTED Changeset: c5f783d83180 Author: hannesw Date: 2013-06-13 20:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/c5f783d83180 8016542: String.prototype.replace called with function argument should not replace $ patterns Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeRegExp.java + test/script/basic/JDK-8016542.js + test/script/basic/JDK-8016542.js.EXPECTED Changeset: 3efa56767847 Author: lagergren Date: 2013-06-14 13:53 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/3efa56767847 8016235: Use in catch block that may not have been executed in try block caused illegal byte code to be generated Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Lexer.java + test/script/basic/JDK-8016235.js Changeset: 3d947baa33cc Author: sundar Date: 2013-06-14 21:16 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/3d947baa33cc 8016618: script mirror object access should be improved Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java + src/jdk/nashorn/internal/runtime/arrays/ReverseScriptObjectMirrorIterator.java + src/jdk/nashorn/internal/runtime/arrays/ScriptObjectMirrorIterator.java + test/script/basic/JDK-8016618.js + test/script/basic/JDK-8016618.js.EXPECTED Changeset: a2fa56222fa2 Author: sundar Date: 2013-06-17 13:56 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/a2fa56222fa2 8016550: nashorn.option.no.syntax.extensions has the wrong default Reviewed-by: hannesw, lagergren ! make/project.properties ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! test/script/basic/moduleload.js Changeset: bfac80dffc49 Author: sundar Date: 2013-06-18 13:25 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/bfac80dffc49 Merge Changeset: 616ab697fcac Author: sundar Date: 2013-06-18 13:45 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/616ab697fcac 8008915: URLReader constructor should allow specifying encoding Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/URLReader.java ! src/jdk/nashorn/internal/runtime/Source.java Changeset: 2cf438a3a3aa Author: sundar Date: 2013-06-18 13:52 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/2cf438a3a3aa Merge Changeset: af8a98ea83d4 Author: chegar Date: 2013-04-24 11:03 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/af8a98ea83d4 Merge Changeset: 2237e2ff3685 Author: chegar Date: 2013-04-28 08:16 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/2237e2ff3685 Merge Changeset: 2a377892c255 Author: chegar Date: 2013-05-08 10:21 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/2a377892c255 Merge Changeset: d8ae3d87ca26 Author: chegar Date: 2013-05-16 11:42 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/d8ae3d87ca26 Merge Changeset: d3076aecc567 Author: chegar Date: 2013-05-23 12:50 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/d3076aecc567 Merge - src/jdk/nashorn/internal/ir/LineNumberNode.java - src/jdk/nashorn/internal/ir/Location.java - src/jdk/nashorn/internal/runtime/SpillProperty.java - test/script/trusted/logcoverage.js Changeset: ded7168cb008 Author: chegar Date: 2013-05-31 10:28 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/ded7168cb008 Merge Changeset: 2b61f82350de Author: chegar Date: 2013-06-10 09:53 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/2b61f82350de Merge - src/jdk/nashorn/internal/objects/DateParser.java - src/jdk/nashorn/internal/runtime/options/ValueOption.java - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompilerSupport.java - src/jdk/nashorn/internal/runtime/regexp/joni/CaptureTreeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/NameEntry.java - src/jdk/nashorn/internal/runtime/regexp/joni/NativeMachine.java - src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CTypeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CallNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/AbstractBench.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchGreedyBacktrack.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchRailsRegs.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchSeveralRegexps.java - src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java - src/netscape/javascript/JSObject.java Changeset: 12f1d8d74375 Author: chegar Date: 2013-06-17 11:27 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/12f1d8d74375 Merge Changeset: fbcd5c26937a Author: chegar Date: 2013-06-18 16:06 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/fbcd5c26937a Merge Changeset: d6bd440ac5b9 Author: lana Date: 2013-06-24 14:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/d6bd440ac5b9 Merge Changeset: 1bf1d6ce3042 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/1bf1d6ce3042 Added tag jdk8-b96 for changeset d6bd440ac5b9 ! .hgtags Changeset: da63a99481da Author: cl Date: 2013-07-04 01:01 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/da63a99481da Added tag jdk8-b97 for changeset 1bf1d6ce3042 ! .hgtags Changeset: 6a75a505301f Author: sundar Date: 2013-06-18 18:43 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/6a75a505301f 8012698: [nashorn] tests fail to run with agentvm or samevm Reviewed-by: hannesw, jlaskey ! test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java ! test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java Changeset: 7276d66b7118 Author: jlaskey Date: 2013-06-19 09:10 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/7276d66b7118 8010697: DeletedArrayFilter seems to leak memory Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + test/script/basic/JDK-8010697.js + test/script/basic/JDK-8010697.js.EXPECTED Changeset: c7c9222cfe69 Author: sundar Date: 2013-06-19 21:07 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/c7c9222cfe69 8015347: Parsing issue with decodeURIComponent Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/runtime/URIUtils.java + test/script/basic/JDK-8015347.js Changeset: ac404bf3f8c8 Author: sundar Date: 2013-06-20 13:45 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/ac404bf3f8c8 8017046: Cannot assign undefined to a function argument if the function uses arguments object Reviewed-by: hannesw ! src/jdk/nashorn/internal/objects/NativeArguments.java + test/script/basic/JDK-8017046.js Changeset: c7672e621b14 Author: sundar Date: 2013-06-20 17:34 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/c7672e621b14 Merge Changeset: 8e03121cc286 Author: sundar Date: 2013-06-21 16:55 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/8e03121cc286 8017260: adjust lookup code in objects.* classes Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java Changeset: b4e2bccf9598 Author: sundar Date: 2013-06-21 17:33 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/b4e2bccf9598 Merge Changeset: c30beaf3c42a Author: jlaskey Date: 2013-06-21 14:34 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/c30beaf3c42a 8010732: BigDecimal, BigInteger and Long handling in nashorn Reviewed-by: sundar Contributed-by: james.laskey at oracle.com + test/script/basic/JDK-8010732.js + test/script/basic/JDK-8010732.js.EXPECTED Changeset: 2ded2fc08c94 Author: jlaskey Date: 2013-06-22 10:12 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/2ded2fc08c94 8017448: JDK-8010732.js.EXPECTED truncated Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! test/script/basic/JDK-8010732.js.EXPECTED Changeset: 51a5ee93d6bc Author: sundar Date: 2013-06-24 19:06 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/51a5ee93d6bc 8015959: Can't call foreign constructor Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/JSObject.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java + test/script/basic/JDK-8015959.js + test/script/basic/JDK-8015959.js.EXPECTED Changeset: 26a345c26e62 Author: sundar Date: 2013-06-25 17:31 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/26a345c26e62 8015969: Needs to enforce and document that global "context" and "engine" can't be modified when running via jsr223 Reviewed-by: hannesw, jlaskey ! docs/JavaScriptingProgrammersGuide.html ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java + test/script/basic/JDK-8015969.js Changeset: 39e17373d8df Author: sundar Date: 2013-06-26 16:36 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/39e17373d8df 8017950: error.stack should be a string rather than an array Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! test/script/basic/JDK-8012164.js ! test/script/basic/JDK-8012164.js.EXPECTED + test/script/basic/JDK-8017950.js + test/script/basic/JDK-8017950.js.EXPECTED ! test/script/basic/NASHORN-109.js ! test/script/basic/NASHORN-296.js ! test/script/basic/errorstack.js Changeset: 682889823712 Author: jlaskey Date: 2013-06-26 08:36 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/682889823712 8008458: Strict functions dont share property map Reviewed-by: sundar, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java Changeset: 80c66d3fd872 Author: hannesw Date: 2013-06-26 15:40 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/80c66d3fd872 8019157: Avoid calling ScriptObject.setProto() if possible Reviewed-by: jlaskey, sundar ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeMath.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/FunctionScope.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/scripts/JO.java Changeset: 635098f9f45e Author: sundar Date: 2013-06-26 19:42 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/635098f9f45e 8014781: support Error.captureStackTrace Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/internal/objects/NativeError.java + test/script/basic/JDK-8014781.js + test/script/basic/JDK-8014781.js.EXPECTED Changeset: d1886ad46f0c Author: jlaskey Date: 2013-06-26 12:38 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/d1886ad46f0c 8019175: Simplify ScriptObject.modifyOwnProperty Reviewed-by: hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java Changeset: f9c855b828fe Author: sundar Date: 2013-06-27 13:24 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/f9c855b828fe 8019226: line number not generated for first statement if it is on the same function declaration line Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8019226.js + test/script/basic/JDK-8019226.js.EXPECTED Changeset: 5ec4762d9df0 Author: sundar Date: 2013-06-27 13:47 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/5ec4762d9df0 Merge Changeset: 90864d892593 Author: lana Date: 2013-06-28 19:48 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/90864d892593 Merge Changeset: 218c2833c344 Author: sundar Date: 2013-06-28 19:36 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/218c2833c344 8019365: Error stack format Reviewed-by: hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/internal/objects/NativeError.java ! test/script/basic/JDK-8014781.js.EXPECTED ! test/script/basic/JDK-8017950.js.EXPECTED ! test/script/basic/JDK-8019226.js ! test/script/basic/JDK-8019226.js.EXPECTED Changeset: 02588d68399d Author: sundar Date: 2013-07-01 12:38 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/02588d68399d 8019473: Parser issues related to functions and blocks Reviewed-by: lagergren ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8019473.js Changeset: 10c7a1e9e24f Author: sundar Date: 2013-07-01 14:15 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/10c7a1e9e24f 8019478: Object.prototype.toString.call(/a/.exec("a")) === "[object Array]" should be true Reviewed-by: hannesw ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java + test/script/basic/JDK-8019478.js Changeset: 47099609a48b Author: sundar Date: 2013-07-01 17:21 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/47099609a48b 8019482: Number("0x0.0p0") should evaluate to NaN Reviewed-by: lagergren ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/JSType.java + test/script/basic/JDK-8019482.js Changeset: ab3ea5b3e507 Author: sundar Date: 2013-07-01 19:52 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/ab3ea5b3e507 8019488: switch on literals result in NoSuchMethodError or VerifyError Reviewed-by: hannesw ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8019488.js Changeset: 9165138b427c Author: sundar Date: 2013-07-01 23:36 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/9165138b427c 8019508: Comma handling in object literal parsing is wrong Reviewed-by: hannesw ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8019508.js + test/script/basic/JDK-8019508.js.EXPECTED Changeset: 5f9abeb0bb50 Author: jlaskey Date: 2013-07-02 07:45 -0300 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/5f9abeb0bb50 8019580: Build Script Change for Nashorn promotion testing Reviewed-by: jlaskey Contributed-by: eugene.drobitko at oracle.com ! make/build.xml Changeset: a7b82e333c31 Author: lagergren Date: 2013-07-02 13:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/a7b82e333c31 8016667: Wrong bytecode when testing/setting due to null check shortcut checking against primitive too Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8016667.js Changeset: 74049fe3ba46 Author: sundar Date: 2013-07-02 18:00 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/74049fe3ba46 8019553: NPE on illegal l-value for increment and decrement Reviewed-by: jlaskey, attila, lagergren ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8019553.js + test/script/basic/JDK-8019553.js.EXPECTED ! test/script/basic/NASHORN-51.js ! test/script/basic/NASHORN-51.js.EXPECTED ! test/script/error/NASHORN-57.js.EXPECTED Changeset: 9396e42bae4f Author: lagergren Date: 2013-07-02 14:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/9396e42bae4f 8017082: Long array literals were slightly broken Reviewed-by: sundar, attila ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/LiteralNode.java + test/script/basic/JDK-8017082.js Changeset: 69ec02d12a31 Author: lagergren Date: 2013-07-02 15:01 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/69ec02d12a31 Merge Changeset: 16c4535abcf8 Author: sundar Date: 2013-07-02 18:39 +0530 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/16c4535abcf8 Merge Changeset: 542b7803f038 Author: lana Date: 2013-07-05 11:05 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/542b7803f038 Merge Changeset: 10a1ab9e20a4 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/10a1ab9e20a4 Added tag jdk8-b98 for changeset 542b7803f038 ! .hgtags Changeset: 2ae1a2540bec Author: goetz Date: 2013-07-16 20:54 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/nashorn/rev/2ae1a2540bec Merge From goetz.lindenmaier at sap.com Tue Jul 16 12:24:57 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 19:24:57 +0000 Subject: hg: ppc-aix-port/jdk8/langtools: 74 new changesets Message-ID: <20130716192833.268E848114@hg.openjdk.java.net> Changeset: 8717586f7b05 Author: emc Date: 2013-06-06 08:48 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/8717586f7b05 8015701: MethodParameters are not filled in for synthetic captured local variables Summary: Synthetic parameters for captured local variables in an anonymous inner class are not added to MethodParameters attributes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/8015701/AnonymousParameters.java Changeset: 6e30a513c945 Author: mcimadamore Date: 2013-06-06 15:30 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/6e30a513c945 6360970: javac erroneously accept ambiguous field reference Summary: clash between ambiguous fields in superinterface and unambiguous field in subinterface is erroneously marked as unambiguous Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/6360970/T6360970.java + test/tools/javac/6360970/T6360970.out Changeset: 7889d1fe2597 Author: mcimadamore Date: 2013-06-06 15:32 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/7889d1fe2597 7139681: Enhanced for loop: local variable scope inconsistent with JLS Summary: For-each loop variable is incorrectly visible from the for-each expression Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/foreach/7139681/T7139681neg.java + test/tools/javac/foreach/7139681/T7139681neg.out + test/tools/javac/foreach/7139681/T7139681pos.java Changeset: 349160289ba2 Author: mcimadamore Date: 2013-06-06 15:33 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/349160289ba2 8008627: Compiler mishandles three-way return-type-substitutability Summary: Compiler should not enforce an order in how ambiguous methods should be resolved Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/rawOverride/T8008627.java ! test/tools/javac/lambda/funcInterfaces/NonSAM2.java ! test/tools/javac/lambda/funcInterfaces/NonSAM2.out Changeset: f8472e561a97 Author: mcimadamore Date: 2013-06-06 15:35 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/f8472e561a97 8015432: javac crashes with stack overflow when method called recursively from nested generic call Summary: Check.checkMethod should only be called after inference has completed 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/6758789/T6758789b.out ! test/tools/javac/generics/7015430/T7015430.out ! test/tools/javac/generics/7151802/T7151802.out ! test/tools/javac/generics/inference/6718364/T6718364.out ! test/tools/javac/generics/inference/7177306/T7177306a.out + test/tools/javac/lambda/TargetType74.java Changeset: f218bb5ebd53 Author: mcimadamore Date: 2013-06-06 15:37 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/f218bb5ebd53 8015648: Duplicate variable in lambda causes javac crash Summary: Missing flag in synthetic lambda blog is causing duplicates symbol to go undetected Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/LambdaScope05.java + test/tools/javac/lambda/LambdaScope05.out Changeset: 5b039297151e Author: mcimadamore Date: 2013-06-06 15:38 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/5b039297151e Merge Changeset: fd31bf97340f Author: jjg Date: 2013-06-07 15:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/fd31bf97340f 8016193: Fix OAC issue in langtools docs Reviewed-by: darcy ! src/share/classes/com/sun/javadoc/Tag.java Changeset: 105d1f9c1ab8 Author: vromero Date: 2013-06-10 15:18 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/105d1f9c1ab8 7113519: test/tools/javac/VersionOpt.java passes on windows Reviewed-by: jjg ! test/tools/javac/VersionOpt.java Changeset: 3582b62dccb2 Author: mcimadamore Date: 2013-06-10 15:57 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/3582b62dccb2 8013576: Add stat support to LambdaToMethod Summary: LambdaToMethod should emit info to help diagnose/test lambda metafactory problems Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/LambdaStat.java + test/tools/javac/diags/examples/MrefStat.java + test/tools/javac/diags/examples/MrefStat.java.rej + test/tools/javac/diags/examples/MrefStat1.java + test/tools/javac/diags/examples/MrefStat1.java.rej + test/tools/javac/lambda/TestLambdaToMethodStats.java Changeset: bbedff0dc37e Author: vromero Date: 2013-06-11 09:35 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/bbedff0dc37e 8008547: javac, warning message: use of ''_'' as an identifier might not be supported in future releases, should be more especific Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/resources/compiler.properties Changeset: 7fe655cad9b1 Author: vromero Date: 2013-06-11 09:59 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/7fe655cad9b1 8007907: javap, method com.sun.tools.javap.Main.run returns 0 even in case of class not found error Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/JavapTask.java ! test/tools/javac/constDebug/ConstDebugTest.java ! test/tools/javap/8006334/JavapTaskCtorFailWithNPE.java + test/tools/javap/8007907/JavapReturns0AfterClassNotFoundTest.java ! test/tools/javap/T4777949.java ! test/tools/javap/T7190862.java Changeset: 6b48ebae2569 Author: vromero Date: 2013-06-14 16:25 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/6b48ebae2569 8016569: javac, add new flag for polymorphic method signatures Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Changeset: 1936a884b290 Author: vromero Date: 2013-06-14 18:01 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/1936a884b290 8008023: Get rid of utf8 chars in two tests Reviewed-by: jjg ! test/tools/javac/api/6437999/Utf8.java ! test/tools/javac/api/T6306137.java Changeset: 1eb09dba594a Author: lana Date: 2013-06-16 22:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/1eb09dba594a Merge Changeset: b7a10bc02e7a Author: darcy Date: 2013-06-17 14:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/b7a10bc02e7a 8016779: Fix doclint warnings in javax.lang.model Reviewed-by: jjg ! src/share/classes/javax/lang/model/util/ElementScanner6.java ! src/share/classes/javax/lang/model/util/ElementScanner7.java ! src/share/classes/javax/lang/model/util/ElementScanner8.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java Changeset: 455be95bd1b5 Author: rfield Date: 2013-06-17 20:29 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/455be95bd1b5 8013789: Compiler should emit bridges in interfaces Summary: paired with 8015402: Lambda metafactory should not attempt to determine bridge methods Reviewed-by: vromero Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! test/tools/javac/lambda/lambdaExpression/LambdaTest6.java ! test/tools/javac/lambda/methodReference/BridgeMethod.java Changeset: e701af23a095 Author: vromero Date: 2013-06-18 18:57 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/e701af23a095 8016607: javac, avoid analyzing lambdas for source 7 compilation Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Changeset: 9851071b551a Author: vromero Date: 2013-06-18 19:02 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/9851071b551a 8016267: javac, TypeTag refactoring has provoked performance issues Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeTag.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java Changeset: 4d4818b6df72 Author: chegar Date: 2013-04-24 11:03 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/4d4818b6df72 Merge Changeset: 27cda5134748 Author: chegar Date: 2013-04-28 08:16 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/27cda5134748 Merge Changeset: c7c6bfe7fc1f Author: bpatel Date: 2013-05-03 08:52 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/c7c6bfe7fc1f 8012375: Improve Javadoc framing Reviewed-by: mduigou, jlaskey ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! test/com/sun/javadoc/testJavascript/TestJavascript.java Changeset: 8074ccd57d89 Author: chegar Date: 2013-05-08 10:27 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/8074ccd57d89 Merge Changeset: 9d7d36e6927c Author: chegar Date: 2013-05-08 10:28 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/9d7d36e6927c Merge Changeset: 7ee1fd365cdd Author: chegar Date: 2013-05-16 11:42 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/7ee1fd365cdd Merge Changeset: f1b90ea7d402 Author: chegar Date: 2013-05-23 12:50 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/f1b90ea7d402 Merge - src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java - src/share/classes/javax/tools/annotation/GenerateNativeHeader.java - test/tools/javac/nativeHeaders/javahComparison/TestClass2.java - test/tools/javac/nativeHeaders/javahComparison/TestClass3.java Changeset: 76d08c649607 Author: chegar Date: 2013-05-31 10:28 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/76d08c649607 Merge Changeset: 536cad596942 Author: bpatel Date: 2013-06-07 16:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/536cad596942 8015997: Additional improvement in Javadoc framing Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! test/com/sun/javadoc/testJavascript/TestJavascript.java Changeset: da8d0ee0938e Author: chegar Date: 2013-06-10 09:52 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/da8d0ee0938e Merge - test/tools/javac/HiddenAbstractMethod/Test - test/tools/javac/NonAmbiguousField/Test Changeset: cc89c8333127 Author: chegar Date: 2013-06-11 09:25 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/cc89c8333127 Merge Changeset: 31e1151ef3cc Author: chegar Date: 2013-06-17 11:27 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/31e1151ef3cc Merge Changeset: db6bf740a578 Author: chegar Date: 2013-06-18 09:36 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/db6bf740a578 Merge Changeset: 64f511787fd9 Author: chegar Date: 2013-06-18 20:08 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/64f511787fd9 Merge Changeset: 792c40d5185a Author: mfang Date: 2013-06-18 20:56 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/792c40d5185a 8015657: jdk8 l10n resource file translation update 3 Reviewed-by: yhuang ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties + src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties + src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties + src/share/classes/com/sun/tools/javap/resources/javap_ja.properties + src/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties + src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties + src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Changeset: 6d3b33aea370 Author: vromero Date: 2013-06-19 11:09 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/6d3b33aea370 8006981: javac, method toString() of class ...javac.code.Flags doesn't print all the flag bits Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/comp/Check.java Changeset: be62183f938a Author: chegar Date: 2013-06-19 11:48 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/be62183f938a 8017045: anti-delta fix for 8013789 Reviewed-by: alanb ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! test/tools/javac/lambda/lambdaExpression/LambdaTest6.java ! test/tools/javac/lambda/methodReference/BridgeMethod.java Changeset: 29dcd6715b04 Author: chegar Date: 2013-06-19 13:00 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/29dcd6715b04 Merge ! src/share/classes/com/sun/tools/javac/comp/Check.java Changeset: be10ac0081b2 Author: vromero Date: 2013-06-19 22:07 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/be10ac0081b2 8016610: javac, add new internal symbols to make operator resolution faster Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Changeset: b3458329d060 Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/b3458329d060 Merge Changeset: 988aef3a8c3a Author: katleman Date: 2013-06-26 11:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/988aef3a8c3a 8016684: JDK8 b94 source with GPL header errors Reviewed-by: tbell, darcy ! test/tools/javac/6567415/T6567415.java Changeset: 6a11a81a8824 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/6a11a81a8824 Added tag jdk8-b96 for changeset 988aef3a8c3a ! .hgtags Changeset: 2364e94ae67b Author: cl Date: 2013-07-04 01:01 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/2364e94ae67b Added tag jdk8-b97 for changeset 6a11a81a8824 ! .hgtags Changeset: 6debfa63a4a1 Author: vromero Date: 2013-06-20 08:45 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/6debfa63a4a1 8016613: javac should avoid source 8 only analysis when compiling for source 7 Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Changeset: e9ebff1840e5 Author: emc Date: 2013-06-20 19:01 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/e9ebff1840e5 8007546: ClassCastException on JSR308 tests 8015993: jck-compiler tests are failed with java.lang.ClassCastException Summary: Fix ClassCastExceptions arising from addition of AnnotatedType. Reviewed-by: jjg, abuckley ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java Changeset: bf020de5a6db Author: emc Date: 2013-06-24 22:03 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/bf020de5a6db 8012722: Single comma in array initializer should parse Summary: Annotations of the form @Foo({,}) should parse Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/parser/SingleCommaAnnotationValue.java + test/tools/javac/parser/SingleCommaAnnotationValueFail.java + test/tools/javac/parser/SingleCommaAnnotationValueFail.out Changeset: 831467c4c6a7 Author: vromero Date: 2013-06-25 16:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/831467c4c6a7 8017104: javac should have a class for primitive types that inherits from Type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeTag.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java Changeset: aceae9ceebbe Author: kizune Date: 2013-06-25 20:08 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/aceae9ceebbe 8006973: jtreg test fails: test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Reviewed-by: ksrini ! test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Changeset: c2d9303c3477 Author: ksrini Date: 2013-06-26 09:54 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/c2d9303c3477 8016908: TEST_BUG: removing non-ascii characters causes tests to fail Reviewed-by: jjg, vromero ! test/tools/javac/api/6437999/T6437999.java - test/tools/javac/api/6437999/Utf8.java ! test/tools/javac/api/T6306137.java Changeset: 3b2e10524627 Author: jjg Date: 2013-06-26 18:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/3b2e10524627 8014137: Update test/tools/javac/literals/UnderscoreLiterals to add testcases with min/max values Reviewed-by: jjg, darcy Contributed-by: matherey.nunez at oracle.com ! test/tools/javac/literals/UnderscoreLiterals.java Changeset: 4fe5aab73bb2 Author: bpatel Date: 2013-06-26 20:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/4fe5aab73bb2 8007338: Method grouping tab line-folding Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! test/com/sun/javadoc/testStylesheet/TestStylesheet.java Changeset: 27bd6a2302f6 Author: bpatel Date: 2013-06-26 20:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/27bd6a2302f6 8014017: extra space in javadoc class heading Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java Changeset: 36e8bc1907a2 Author: bpatel Date: 2013-06-26 20:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/36e8bc1907a2 8013738: Two javadoc tests have bug 0000000 Reviewed-by: jjg ! test/com/sun/javadoc/testNestedInlineTag/TestNestedInlineTag.java ! test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java Changeset: c674b396827c Author: emc Date: 2013-06-27 00:37 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/c674b396827c 8014230: Compilation incorrectly succeeds with inner class constructor with 254 parameters Summary: The compiler does not account fr extra parameters due to inner this parameters Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/main/Main.java + test/tools/javac/limits/NestedClassConstructorArgs.java + test/tools/javac/limits/NestedClassMethodArgs.java - test/tools/javac/limits/NumArgs1.java - test/tools/javac/limits/NumArgs2.java - test/tools/javac/limits/NumArgs3.java - test/tools/javac/limits/NumArgs4.java + test/tools/javac/limits/NumArgsTest.java + test/tools/javac/limits/StaticNestedClassConstructorArgs.java + test/tools/javac/limits/TopLevelClassConstructorArgs.java + test/tools/javac/limits/TopLevelClassMethodArgs.java + test/tools/javac/limits/TopLevelClassStaticMethodArgs.java Changeset: dcc6a52bf363 Author: erikj Date: 2013-06-27 10:35 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/dcc6a52bf363 8014513: Sjavac doesn't detect 32-bit jvm properly Reviewed-by: jjg ! src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Changeset: a47e28759666 Author: vromero Date: 2013-06-27 09:51 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/a47e28759666 7066788: javah again accepts -old option (ineffectively) which was removed in 1.5. Reviewed-by: jjg ! src/share/classes/com/sun/tools/javah/JavahTask.java Changeset: 8e3d391c88c6 Author: vromero Date: 2013-06-27 09:54 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/8e3d391c88c6 8017609: javac, ClassFile.read(Path) should be ClassFile.read(Path, Attribute.Factory) Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/ClassFile.java Changeset: e42c27026290 Author: vromero Date: 2013-06-27 16:04 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/e42c27026290 8016099: Some @SuppressWarnings annotations ignored ( unchecked, rawtypes ) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/T8016099/UncheckedWarningRegressionTest.java + test/tools/javac/T8016099/UncheckedWarningRegressionTest.out Changeset: d137ce373c4c Author: vromero Date: 2013-06-27 16:06 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/d137ce373c4c 7008643: inlined finally clauses confuse debuggers Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/T7008643/InlinedFinallyConfuseDebuggersTest.java Changeset: 26437287529d Author: janvalenta Date: 2013-06-27 17:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/26437287529d 8015720: since tag isn't copied while generating JavaFX documentation Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! test/com/sun/javadoc/testJavaFX/C.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java Changeset: 065f8cb7bd89 Author: darcy Date: 2013-06-27 11:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/065f8cb7bd89 8019308: Add descriptions of Java SE 7 and 8 language changes to SourceVersion Reviewed-by: jjg ! src/share/classes/javax/lang/model/SourceVersion.java Changeset: 97e798c06804 Author: ksrini Date: 2013-06-27 12:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/97e798c06804 7080001: Need to bump version numbers in build.properties for 8 Reviewed-by: jjg ! make/build.properties Changeset: 5c548a8542b8 Author: emc Date: 2013-06-27 17:45 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/5c548a8542b8 8013357: javac accepts erroneous binary comparison operations Summary: javac does not report type errors on illegal Object == primitive comparisons Reviewed-by: abuckley, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! test/tools/javac/lambda/LambdaConv01.java ! test/tools/javac/lambda/LambdaExpr15.java ! test/tools/javac/lambda/typeInference/InferenceTest2b.java + test/tools/javac/types/TestComparisons.java Changeset: 6101e52ce9e3 Author: emc Date: 2013-06-28 06:54 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/6101e52ce9e3 8016760: Failure of regression test langtools/tools/javac/T6725036.java Summary: Marking the failing test @ignore; the proposed change for 8015666 addresses the underlying issue Reviewed-by: jjg ! test/tools/javac/T6725036.java Changeset: bb06c412d079 Author: vromero Date: 2013-06-28 13:20 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/bb06c412d079 6473148: TreePath.iterator() should document the iteration order Reviewed-by: mcimadamore ! src/share/classes/com/sun/source/util/TreePath.java Changeset: bdd699d7378d Author: vromero Date: 2013-06-28 14:36 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/bdd699d7378d 8005552: c.s.t.javap.AttributeWriter.visitLocalVariableTable() uses incorrect format string Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: 66147d50d8d6 Author: lana Date: 2013-06-28 19:47 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/66147d50d8d6 Merge Changeset: 891c5ecb8306 Author: vromero Date: 2013-06-29 20:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/891c5ecb8306 6983646: javap should identify why a DefaultAttribute is being used Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/DefaultAttribute.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: f559ef7568ce Author: mcimadamore Date: 2013-07-01 14:57 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/f559ef7568ce 7034798: Ambiguity error for abstract method call is too eager Summary: Javac should wait and see if ambiguous methods can be reconciled at the end of an overload resolution round Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/resolve/ResolveHarness.java + test/tools/javac/resolve/tests/AbstractMerge.java ! test/tools/javac/resolve/tests/InnerOverOuter.java Changeset: 1908e86ee49a Author: darcy Date: 2013-07-01 11:58 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/1908e86ee49a 7162089: Add support for repeating annotations to javax.annotation.processing Reviewed-by: abuckley, jjg, jfranck ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java ! src/share/classes/javax/annotation/processing/AbstractProcessor.java ! src/share/classes/javax/annotation/processing/Processor.java ! test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java + test/tools/javac/processing/environment/round/TpAnno.java + test/tools/javac/processing/environment/round/TypeParameterAnnotations.java Changeset: 27a2e8c78bd0 Author: vromero Date: 2013-07-02 10:21 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/27a2e8c78bd0 8019397: javap does not show SourceDebugExtension properly Reviewed-by: jjg Contributed-by: dmytro_sheyko at hotmail.com ! src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java Changeset: 565341d436e2 Author: ksrini Date: 2013-07-01 16:36 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/565341d436e2 8019460: tests in changeset do not have @bug tag Reviewed-by: darcy ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.java ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.out ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary.java ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary1.out ! test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary2.out ! test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java Changeset: 3b4f92a3797f Author: vromero Date: 2013-07-02 22:49 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/3b4f92a3797f 6326693: variable x might already have been assigned, when assignment is in catch block Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Flow.java + test/tools/javac/T6326693/FinalVariableAssignedToInCatchBlockTest.java + test/tools/javac/T6326693/FinalVariableAssignedToInCatchBlockTest.out Changeset: ce5a90df517b Author: lana Date: 2013-07-05 11:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/ce5a90df517b Merge Changeset: bdeef606be8e Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/langtools/rev/bdeef606be8e Added tag jdk8-b98 for changeset ce5a90df517b ! .hgtags From goetz.lindenmaier at sap.com Tue Jul 16 11:53:32 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 18:53:32 +0000 Subject: hg: ppc-aix-port/jdk8/jdk: 281 new changesets Message-ID: <20130716195404.0A7C24811A@hg.openjdk.java.net> Changeset: 616a73e97b38 Author: bae Date: 2013-06-06 13:57 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/616a73e97b38 8013430: REGRESSION: closed/java/awt/color/ICC_Profile/LoadProfileTest/LoadProfileTest.java fails with java.io.StreamCorruptedException: invalid type code: EE since 8b87 Reviewed-by: prr, vadim ! src/share/classes/java/awt/color/ICC_Profile.java + src/share/classes/sun/java2d/cmm/ProfileDataVerifier.java Changeset: 917dd642f934 Author: bae Date: 2013-06-07 14:45 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/917dd642f934 6830714: cmm test failures with OpenJDK Reviewed-by: prr ! test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java ! test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java ! test/sun/java2d/cmm/ColorConvertOp/ColConvTest.java Changeset: 1431488fb0f9 Author: jgodinez Date: 2013-06-07 10:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1431488fb0f9 8013810: PrintServiceLookup.lookupPrintServices() does not return consistent result Reviewed-by: prr, jgodinez Contributed-by: patrick at reini.net ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java + test/javax/print/PrintServiceLookup/GetPrintServices.java Changeset: f67db3d2f406 Author: prr Date: 2013-06-13 13:02 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f67db3d2f406 8016485: Windows native print dialog does not reflect default printer settings Reviewed-by: jgodinez, jchen ! src/windows/classes/sun/awt/windows/WPrinterJob.java ! src/windows/classes/sun/print/Win32PrintService.java ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/awt_PrintControl.cpp Changeset: 82927bc76ea5 Author: lana Date: 2013-06-14 11:10 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/82927bc76ea5 Merge - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: c636942a28ef Author: prr Date: 2013-06-17 10:34 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c636942a28ef 8015334: Memory leak when kerning is used on Windows. Reviewed-by: srl, bae ! src/share/native/sun/font/layout/KernTable.cpp ! src/share/native/sun/font/layout/KernTable.h ! src/share/native/sun/font/layout/LayoutEngine.cpp + test/java/awt/font/TextLayout/KerningLeak.java Changeset: e3d5df92f4ff Author: lana Date: 2013-06-19 17:57 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e3d5df92f4ff Merge Changeset: deb8752684e3 Author: kshefov Date: 2013-06-06 17:02 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/deb8752684e3 8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions Reviewed-by: serb, anthony ! test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html ! test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java ! test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.java Changeset: cfd3f8bfb96c Author: kshefov Date: 2013-06-06 17:06 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cfd3f8bfb96c 7109977: [macosx] MixingInHwPanel.java test fails on Mac trying to click in the reserved corner Reviewed-by: serb, anthony ! test/java/awt/Mixing/MixingInHwPanel.java Changeset: cb7f711e1752 Author: dmarkov Date: 2013-06-06 17:59 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cb7f711e1752 8015853: java.lang.ArrayIndexOutOfBoundsException when running SwingSet2 demo Reviewed-by: alexp, serb ! src/share/classes/javax/swing/text/View.java + test/javax/swing/text/View/8015853/bug8015853.java + test/javax/swing/text/View/8015853/bug8015853.txt Changeset: 2d5bb70458b6 Author: kshefov Date: 2013-06-10 16:44 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2d5bb70458b6 7105030: [TEST_BUG] [macosx] The tests never finishes Reviewed-by: alexsch, serb + test/javax/swing/JMenu/4692443/bug4692443.java Changeset: d14523c12f20 Author: kshefov Date: 2013-06-11 14:14 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d14523c12f20 8012569: TEST_BUG: java/awt/GraphicsDevice/CheckDisplayModes.java fails Reviewed-by: anthony, serb ! test/java/awt/GraphicsDevice/CheckDisplayModes.java Changeset: 9ab7973d5907 Author: kshefov Date: 2013-06-11 14:20 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9ab7973d5907 7184908: TEST_BUG: [macosx] closed/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java fails Reviewed-by: alexsch, serb + test/com/sun/java/swing/plaf/gtk/4928019/bug4928019.java Changeset: 59dc1385127f Author: malenkov Date: 2013-06-11 16:02 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/59dc1385127f 8015336: BasicComboBoxEditor throws NullPointerException Reviewed-by: alexsch ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxEditor.java + test/javax/swing/plaf/basic/BasicComboBoxEditor/Test8015336.java Changeset: 7bba0147ab3d Author: alexsch Date: 2013-06-11 16:30 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7bba0147ab3d 8009984: [parfait] Buffer overrun at jdk/src/macosx/native/com/apple/laf/AquaFileView.m Reviewed-by: serb, art ! src/macosx/native/com/apple/laf/AquaFileView.m Changeset: 33fc8a062f90 Author: ant Date: 2013-06-12 16:18 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/33fc8a062f90 8015454: java/awt/Focus/TypeAhead/TestFocusFreeze.java hangs with jdk8 since b56 Reviewed-by: anthony ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! test/java/awt/Focus/TypeAhead/TestFocusFreeze.java Changeset: a7d943998bd3 Author: pchelko Date: 2013-06-13 11:10 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a7d943998bd3 8013468: [macosx] Cursor does not update properly when in fullscreen mode on Mac Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m + test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java Changeset: 6e5824a42c49 Author: alitvinov Date: 2013-06-13 18:46 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6e5824a42c49 6847588: AWT test fails Reviewed-by: anthony, serb ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java Changeset: d57fa4e45100 Author: ant Date: 2013-06-14 16:38 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d57fa4e45100 8014821: Regression: Focus issues with Oracle WebCenter Capture applet Reviewed-by: leonidr ! src/windows/native/sun/windows/awt_Frame.cpp Changeset: 3a157a38f9b3 Author: lana Date: 2013-06-14 10:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3a157a38f9b3 Merge - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: a0202d94844a Author: malenkov Date: 2013-06-17 18:30 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a0202d94844a 8013571: TreeModelEvent doesn't accept "null" for root as Javadoc specifies. Reviewed-by: alexsch ! src/share/classes/javax/swing/JTree.java ! src/share/classes/javax/swing/event/TreeModelEvent.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/share/classes/javax/swing/tree/FixedHeightLayoutCache.java ! src/share/classes/javax/swing/tree/VariableHeightLayoutCache.java ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/JTree/8013571/Test8013571.java Changeset: 6a3a2cb3ca6a Author: malenkov Date: 2013-06-19 14:28 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6a3a2cb3ca6a 8013442: No file filter selected in file type combo box when using JFileChooser Reviewed-by: alexsch ! src/share/classes/javax/swing/JFileChooser.java + test/javax/swing/JFileChooser/8013442/Test8013442.java Changeset: e8000751a585 Author: pchelko Date: 2013-06-19 17:12 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e8000751a585 8005661: [parfait] Possible buffer overrun in jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c 8005695: [parfait] Format string argument mismatch in jdk/src/solaris/native/sun/xawt/XToolkit.c 8005752: [parfait] False positive function call mismatch at jdk/src/solaris/native/sun/xawt/XWindow.c Reviewed-by: art, serb ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_InputMethod.c ! src/solaris/native/sun/xawt/XToolkit.c Changeset: a117785457f6 Author: lana Date: 2013-06-19 17:59 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a117785457f6 Merge Changeset: 571e5f452640 Author: dholmes Date: 2013-06-06 05:32 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/571e5f452640 8015470: Remove redundant calls of toString() on String objects Reviewed-by: dholmes, alanb Contributed-by: Otavio Goncalves ! src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java ! src/share/classes/java/lang/annotation/IncompleteAnnotationException.java ! src/share/classes/sun/rmi/rmic/Main.java ! src/share/classes/sun/tools/java/MemberDefinition.java ! src/share/classes/sun/tools/jconsole/inspector/Utils.java Changeset: c4480e0d9f53 Author: coffeys Date: 2013-06-06 14:10 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c4480e0d9f53 8000450: Restrict access to com/sun/corba/se/impl package Reviewed-by: alanb, chegar, lancea ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/java/lang/SecurityManager/CheckPackageAccess.java Changeset: 37aa82c52317 Author: emc Date: 2013-06-06 09:51 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/37aa82c52317 8016019: Remove setProtectionDomain0 and JVM_SetProtectionDomain in JDK Summary: setProtectionDomain0 and JVM_SetProtectionDomain are unused since at least 1.5. This is the JDK side of a changeset to remove it. Reviewed-by: alanb ! src/share/classes/java/lang/Class.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/Class.c Changeset: e6d2c605930c Author: dmeetry Date: 2013-06-06 20:43 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e6d2c605930c 8009579: Xpathexception does not honor initcause() Reviewed-by: alanb, dholmes, joehw Contributed-by: aleksej.efimov at oracle.com + test/javax/xml/jaxp/XPath/8009579/XPathExceptionInitCause.java Changeset: 69d566198fe4 Author: henryjen Date: 2013-06-05 15:56 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/69d566198fe4 8015522: CharSequence.codePoints can be faster Reviewed-by: martin, psandoz, alanb Contributed-by: henry.jen at oracle.com ! src/share/classes/java/lang/CharSequence.java Changeset: 26922bad9c08 Author: mduigou Date: 2013-06-06 11:39 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/26922bad9c08 Merge Changeset: 986793409b2b Author: bpb Date: 2013-06-05 21:01 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/986793409b2b 7032154: Performance tuning of sun.misc.FloatingDecimal/FormattedFloatingDecimal Summary: Performance improvements for double/float -> String and decimal/hex String -> double/float conversions. Reviewed-by: martin, iris Contributed-by: Sergey Kuksenko , Brian Burkhalter , Dmitry Nadezhin , Olivier Lagneau ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/text/DigitList.java ! src/share/classes/java/util/Formatter.java - src/share/classes/sun/misc/FDBigInt.java ! src/share/classes/sun/misc/FloatingDecimal.java ! src/share/classes/sun/misc/FormattedFloatingDecimal.java + test/sun/misc/FloatingDecimal/OldFDBigIntForTest.java + test/sun/misc/FloatingDecimal/OldFloatingDecimalForTest.java + test/sun/misc/FloatingDecimal/TestFDBigInteger.java + test/sun/misc/FloatingDecimal/TestFloatingDecimal.java Changeset: d28f802ce914 Author: robm Date: 2013-06-06 22:22 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d28f802ce914 8016063: getFinalAttributes should use FindClose Reviewed-by: alanb ! src/windows/native/java/io/WinNTFileSystem_md.c Changeset: f5f54e493a64 Author: bpb Date: 2013-06-06 16:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f5f54e493a64 8016117: New sun.misc.FDBigInteger class as part of 7032154 Reviewed-by: martin, iris Contributed-by: Sergey Kuksenko , Brian Burkhalter , Dmitry Nadezhin , Olivier Lagneau + src/share/classes/sun/misc/FDBigInteger.java Changeset: 6975eea0b458 Author: okutsu Date: 2013-06-07 17:07 +0900 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6975eea0b458 7177315: SimpleDateFormat parses wrong 2-digit year if input contains spaces Reviewed-by: peytoia ! src/share/classes/java/text/SimpleDateFormat.java + test/java/text/Format/DateFormat/Bug7177315.java Changeset: a286ed046116 Author: okutsu Date: 2013-06-07 17:37 +0900 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a286ed046116 7064270: java/text/Format/DateFormat/WeekDateTest.java fails on OEL5.6 hi_IN.UTF-8 Reviewed-by: peytoia ! test/java/text/Format/DateFormat/WeekDateTest.java Changeset: 8b65dfe8f509 Author: khazra Date: 2013-06-07 10:59 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8b65dfe8f509 7051862: CookiePolicy spec conflicts with CookiePolicy.ACCEPT_ORIGINAL_SERVER Summary: Return false for null arguments in ACCEPT_ORIGINAL_SERVER#shouldAccept() Reviewed-by: chegar ! src/share/classes/java/net/CookiePolicy.java ! test/java/net/CookieHandler/CookieManagerTest.java Changeset: e2333bd8514a Author: lancea Date: 2013-06-07 14:13 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e2333bd8514a 8016101: Fix typo in SerialRef and missing @param in SerialStruct Reviewed-by: darcy ! src/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java Changeset: aed2ad905da6 Author: sherman Date: 2013-06-07 13:49 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/aed2ad905da6 8015728: (zipfs) demo/zipfs/basic.sh failing Summary: to return the correct loc entry size from wirteLOC(); Reviewed-by: alanb ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! test/demo/zipfs/ZipFSTester.java ! test/demo/zipfs/basic.sh Changeset: f18337edd201 Author: coleenp Date: 2013-06-07 22:15 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f18337edd201 7124706: enable RetransformBigClass.sh test when fix for 8013063 is promoted Summary: The code for this test is fixed now and integrated to TL repo and it passes now. Reviewed-by: alanb ! test/java/lang/instrument/MakeJAR4.sh ! test/java/lang/instrument/RetransformBigClass.sh Changeset: c351a48c091d Author: ksrini Date: 2013-06-08 09:05 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c351a48c091d 8016209: TEST_BUG: non-compliant jmc in the bin directory hangs testing Reviewed-by: alanb, darcy, chegar ! test/tools/launcher/VersionCheck.java Changeset: 3990fcab2cd9 Author: psandoz Date: 2013-06-10 11:52 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3990fcab2cd9 8015492: Remove DoubleStream.range methods Reviewed-by: alanb ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/Streams.java ! test/java/util/stream/bootlib/java/util/stream/DoubleStreamTestDataProvider.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ExplodeOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamBuilderTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java Changeset: 7322e8ad7c01 Author: psandoz Date: 2013-06-10 12:20 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7322e8ad7c01 8015798: Rename IntStream.longs/doubles and LongStream.doubles to asXxxStream Reviewed-by: alanb ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/LongStream.java ! test/java/util/stream/boottest/java/util/stream/SpinedBufferTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/DoublePrimitiveOpsTests.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ExplodeOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MapOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MatchOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MinMaxTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/PrimitiveSumTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamBuilderTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java Changeset: 9c462579b624 Author: psandoz Date: 2013-06-10 12:26 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9c462579b624 8015792: Rename Spliterators.spliteratorFromIterator to Spliterators.iterator Reviewed-by: chegar ! src/share/classes/java/util/Spliterators.java ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/SpinedBuffer.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java ! test/java/util/stream/bootlib/java/util/stream/TestData.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java Changeset: d790064850a7 Author: alanb Date: 2013-06-10 12:58 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d790064850a7 8016217: More javadoc warnings Reviewed-by: lancea, chegar, psandoz ! src/share/classes/java/io/BufferedInputStream.java ! src/share/classes/java/io/BufferedReader.java ! src/share/classes/java/io/BufferedWriter.java ! src/share/classes/java/io/Console.java ! src/share/classes/java/io/PipedInputStream.java ! src/share/classes/java/io/PipedReader.java ! src/share/classes/java/io/PrintStream.java ! src/share/classes/java/io/PushbackInputStream.java ! src/share/classes/java/io/PushbackReader.java ! src/share/classes/java/io/StringReader.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Comparable.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/StackTraceElement.java ! src/share/classes/java/lang/instrument/Instrumentation.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/management/MemoryUsage.java ! src/share/classes/java/lang/management/RuntimeMXBean.java ! src/share/classes/java/lang/management/ThreadMXBean.java ! src/share/classes/java/net/CookieManager.java ! src/share/classes/java/net/CookiePolicy.java ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/java/net/InetSocketAddress.java ! src/share/classes/java/net/MulticastSocket.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/StandardSocketOptions.java ! src/share/classes/java/net/URI.java ! src/share/classes/java/net/URLConnection.java ! src/share/classes/java/nio/X-Buffer.java.template ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/SelectionKey.java ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/SecureRandom.java ! src/share/classes/java/security/cert/CertPathValidatorException.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/X509Extension.java ! src/share/classes/java/security/spec/EllipticCurve.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/Statement.java ! src/share/classes/java/text/CharacterIterator.java ! src/share/classes/java/text/ChoiceFormat.java ! src/share/classes/java/text/Collator.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Date.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/Random.java ! src/share/classes/java/util/ResourceBundle.java ! src/share/classes/java/util/Scanner.java ! src/share/classes/java/util/TimerTask.java ! src/share/classes/java/util/jar/Pack200.java ! src/share/classes/java/util/logging/ConsoleHandler.java ! src/share/classes/java/util/logging/FileHandler.java ! src/share/classes/java/util/logging/MemoryHandler.java ! src/share/classes/java/util/prefs/Preferences.java ! src/share/classes/java/util/regex/MatchResult.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/stream/package-info.java ! src/share/classes/java/util/zip/DeflaterInputStream.java ! src/share/classes/java/util/zip/DeflaterOutputStream.java ! src/share/classes/java/util/zip/GZIPInputStream.java ! src/share/classes/java/util/zip/GZIPOutputStream.java ! src/share/classes/java/util/zip/InflaterInputStream.java ! src/share/classes/java/util/zip/InflaterOutputStream.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/javax/crypto/spec/IvParameterSpec.java ! src/share/classes/javax/crypto/spec/RC5ParameterSpec.java ! src/share/classes/javax/crypto/spec/SecretKeySpec.java ! src/share/classes/javax/naming/BinaryRefAddr.java ! src/share/classes/javax/naming/directory/Attribute.java ! src/share/classes/javax/naming/ldap/LdapName.java ! src/share/classes/javax/naming/ldap/PagedResultsControl.java ! src/share/classes/javax/naming/ldap/SortControl.java ! src/share/classes/javax/net/ssl/SNIHostName.java ! src/share/classes/javax/net/ssl/SSLEngine.java ! src/share/classes/javax/net/ssl/SSLEngineResult.java ! src/share/classes/javax/net/ssl/SSLSessionContext.java ! src/share/classes/javax/script/ScriptEngineFactory.java ! src/share/classes/javax/security/auth/callback/CallbackHandler.java ! src/share/classes/javax/security/sasl/Sasl.java ! src/share/classes/javax/security/sasl/SaslClient.java ! src/share/classes/javax/security/sasl/SaslServer.java ! src/share/classes/javax/smartcardio/ResponseAPDU.java ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java ! src/share/classes/javax/sql/rowset/CachedRowSet.java ! src/share/classes/javax/sql/rowset/Predicate.java ! src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java ! src/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/share/classes/javax/sql/rowset/spi/SyncResolver.java ! src/share/classes/javax/xml/crypto/dsig/Manifest.java Changeset: 4a66dd1d7eea Author: dxu Date: 2013-06-10 11:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4a66dd1d7eea 8013827: File.createTempFile hangs with temp file starting with 'com1.4' 8011950: java.io.File.createTempFile enters infinite loop when passed invalid data Reviewed-by: alanb ! src/share/classes/java/io/File.java ! src/windows/native/java/io/WinNTFileSystem_md.c ! test/java/io/File/CreateNewFile.java ! test/java/io/File/NulFile.java + test/java/io/File/createTempFile/SpecialTempFile.java Changeset: 8d627f324c38 Author: psandoz Date: 2013-06-11 12:13 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8d627f324c38 8015895: Int/LongStream.range/rangeClosed 8012986: Right-bias range spliterators for large ranges Reviewed-by: mduigou ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/Streams.java ! test/java/util/stream/bootlib/java/util/stream/IntStreamTestDataProvider.java ! test/java/util/stream/bootlib/java/util/stream/LongStreamTestDataProvider.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java Changeset: 669be1677ab7 Author: alanb Date: 2013-06-11 11:22 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/669be1677ab7 7059085: Retire Thread.stop(Throwable) so that it throws UOE Reviewed-by: dholmes, chegar, forax, darcy, mduigou ! src/share/classes/java/lang/Thread.java + test/java/lang/Thread/StopThrowable.java Changeset: 1f33fd081860 Author: alanb Date: 2013-06-11 11:25 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1f33fd081860 8016311: Update j.u.c. tests to avoid using Thread.stop(Throwable) Reviewed-by: alanb Contributed-by: martinrb at google.com ! test/java/util/concurrent/Executors/PrivilegedCallables.java ! test/java/util/concurrent/FutureTask/Throw.java ! test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java ! test/java/util/concurrent/locks/Lock/FlakyMutex.java Changeset: f1a1f65d2861 Author: alanb Date: 2013-06-11 14:09 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f1a1f65d2861 Merge Changeset: cadb0ef6e931 Author: naoto Date: 2013-06-11 11:18 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cadb0ef6e931 8015960: java/util/Locale/LocaleProviders.java failing again on Windows Reviewed-by: alanb ! test/java/util/Locale/LocaleProviders.java Changeset: 7f697d028937 Author: mduigou Date: 2013-06-11 15:39 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7f697d028937 8016213: Convert j2se NetBeans project to use top-level make targets Reviewed-by: chegar ! make/netbeans/common/shared.xml ! make/netbeans/j2se/build.xml Changeset: f56b5c243f7c Author: alanb Date: 2013-06-12 08:04 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f56b5c243f7c 8016370: javadoc warnings, unexpected

mostly Reviewed-by: martin, jjg ! makefiles/scripts/genExceptions.sh ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/ByteOrder.java ! src/share/classes/java/nio/X-Buffer.java.template ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/Channel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/Pipe.java ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/SelectionKey.java ! src/share/classes/java/nio/channels/Selector.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java ! src/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/charset/CoderResult.java ! src/share/classes/java/nio/charset/CodingErrorAction.java ! src/share/classes/java/nio/charset/UnmappableCharacterException.java ! src/share/classes/java/nio/charset/spi/CharsetProvider.java Changeset: 6df79b7bae6f Author: alanb Date: 2013-06-12 09:44 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6df79b7bae6f 8016369: java/lang/instrument/RetransformBigClass.sh failing again Reviewed-by: sla, sergei ! test/java/lang/instrument/MakeJAR4.sh Changeset: c9f5a2fd7d3d Author: bchristi Date: 2013-06-12 11:11 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c9f5a2fd7d3d 8010325: Remove hash32() method and hash32 int field from java.lang.String Reviewed-by: alanb, mduigou ! src/share/classes/java/lang/String.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/WeakHashMap.java - src/share/classes/sun/misc/Hashing.java - test/sun/misc/Hashing.java Changeset: ce8fbca80bbc Author: henryjen Date: 2013-06-12 14:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ce8fbca80bbc 8016448: java/util/BitSet/BitSetStreamTest.java no longer compiles, missed by 8015895 Reviewed-by: mduigou ! test/java/util/BitSet/BitSetStreamTest.java Changeset: 021fdd093cd9 Author: weijun Date: 2013-06-13 09:59 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/021fdd093cd9 8014310: JAAS/Krb5LoginModule using des encytypes failure with NPE after JDK-8012679 Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/KrbTgsReq.java ! src/share/classes/sun/security/krb5/internal/crypto/EType.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! test/sun/security/krb5/auto/BasicKrb5Test.java ! test/sun/security/krb5/auto/OneKDC.java + test/sun/security/krb5/auto/OnlyDesLogin.java Changeset: e9c5ad10fa4b Author: weijun Date: 2013-06-13 10:00 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e9c5ad10fa4b 8015274: TEST_BUG: Step2: After selecting 'View Warning Log', it is empty instead of FileNotFound. 8015276: TEST_BUG: The 'ptool.test' can't be saved in the 'tmp' folder. 8016158: Instruction is not clear on how to use keytool to create JKS store in case Reviewed-by: mullan ! test/sun/security/tools/policytool/Alias.sh ! test/sun/security/tools/policytool/ChangeUI.html ! test/sun/security/tools/policytool/ChangeUI.sh ! test/sun/security/tools/policytool/OpenPolicy.sh ! test/sun/security/tools/policytool/SaveAs.sh ! test/sun/security/tools/policytool/UpdatePermissions.html ! test/sun/security/tools/policytool/UpdatePermissions.sh ! test/sun/security/tools/policytool/UsePolicy.sh ! test/sun/security/tools/policytool/i18n.html ! test/sun/security/tools/policytool/i18n.sh Changeset: 3c7bab68cd2f Author: yhuang Date: 2013-06-12 23:54 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3c7bab68cd2f 7040556: SimpleDateFormat.format Portuguese Month should not be capitalized Reviewed-by: okutsu ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: a50394c44464 Author: psandoz Date: 2013-06-13 11:13 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a50394c44464 8016251: Balanced spliterator for SpinedBuffer Reviewed-by: mduigou Contributed-by: Brian Goetz , Peter Levart , Paul Sandoz ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/Node.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/SortedOps.java ! src/share/classes/java/util/stream/SpinedBuffer.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java ! test/java/util/stream/boottest/java/util/stream/SpinedBufferTest.java Changeset: f3609297a868 Author: igerasim Date: 2013-06-13 15:15 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f3609297a868 7181748: java/lang/ThreadGroup/Suspend.java test fails intermittently Reviewed-by: chegar, dholmes ! test/java/lang/ThreadGroup/Suspend.java Changeset: ff83bd43e36a Author: khazra Date: 2013-06-13 11:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ff83bd43e36a 8015421: NegativeArraySizeException occurs in ChunkedOutputStream() with Integer.MAX_VALUE Summary: Ensure integer overflow does not occur Reviewed-by: chegar ! src/share/classes/sun/net/www/http/ChunkedOutputStream.java Changeset: 42f9ad39bf42 Author: khazra Date: 2013-06-13 17:48 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/42f9ad39bf42 7169142: CookieHandler does not work with localhost Summary: Add .local to derived effective hostnames without dot Reviewed-by: chegar ! src/share/classes/java/net/CookieManager.java + test/java/net/CookieHandler/LocalHostCookie.java Changeset: f695f447f6b7 Author: jzavgren Date: 2013-06-14 09:13 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f695f447f6b7 8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c Summary: I modified the native procedure: Java_sun_security_jgss_wrapper_GSSLibStub_initContext() so that allocated memory is freed when errors occur. Reviewed-by: chegar, valeriep ! src/share/native/sun/security/jgss/wrapper/GSSLibStub.c Changeset: 45a3584bfacf Author: coffeys Date: 2013-06-14 15:14 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/45a3584bfacf 8015978: Incorrect transformation of XPath expression "string(-0)" Reviewed-by: darcy, joehw Contributed-by: aleksej.efimov at oracle.com + test/javax/xml/jaxp/XPath/8015978/XPathNegativeZero.java + test/javax/xml/jaxp/XPath/8015978/dummy.xml + test/javax/xml/jaxp/XPath/8015978/negativezero.xsl Changeset: bad604b15314 Author: lana Date: 2013-06-16 22:36 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/bad604b15314 Merge - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties Changeset: adf70cb48ce0 Author: chegar Date: 2013-06-17 14:09 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/adf70cb48ce0 8016747: Replace deprecated PlatformLogger isLoggable(int) with isLoggable(Level) Reviewed-by: darcy ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/AttributeValue.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java ! src/share/classes/java/awt/Cursor.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/SplashScreen.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/event/InputEvent.java ! src/share/classes/java/net/CookieManager.java ! src/share/classes/java/util/Currency.java ! src/share/classes/javax/swing/BufferStrategyPaintManager.java ! src/share/classes/javax/swing/SortingFocusTraversalPolicy.java ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/share/classes/sun/awt/DebugSettings.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/ScrollPaneWheelScroller.java ! src/share/classes/sun/awt/SunDisplayChanger.java ! src/share/classes/sun/awt/SunGraphicsCallback.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/datatransfer/DataTransferer.java ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java ! src/share/classes/sun/awt/im/InputContext.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java ! src/share/classes/sun/net/www/protocol/http/Negotiator.java ! src/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/solaris/classes/sun/awt/X11/ListHelper.java ! src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java ! src/solaris/classes/sun/awt/X11/XAWTXSettings.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XCheckboxPeer.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XContentWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java ! src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java ! src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java ! src/solaris/classes/sun/awt/X11/XErrorHandlerUtil.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XInputMethod.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java ! src/solaris/classes/sun/awt/X11/XListPeer.java ! src/solaris/classes/sun/awt/X11/XMSelection.java ! src/solaris/classes/sun/awt/X11/XMenuBarPeer.java ! src/solaris/classes/sun/awt/X11/XMenuPeer.java ! src/solaris/classes/sun/awt/X11/XMenuWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java ! src/solaris/classes/sun/awt/X11/XProtocol.java ! src/solaris/classes/sun/awt/X11/XScrollbar.java ! src/solaris/classes/sun/awt/X11/XScrollbarPeer.java ! src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java ! src/solaris/classes/sun/awt/X11/XTextFieldPeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWINProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ! src/solaris/classes/sun/awt/X11InputMethod.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WDesktopProperties.java ! src/windows/classes/sun/awt/windows/WMenuItemPeer.java ! src/windows/classes/sun/awt/windows/WScrollPanePeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: b0cfde1e70e9 Author: shade Date: 2013-06-17 16:28 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b0cfde1e70e9 8016236: Class.getGenericInterfaces performance improvement Summary: cache more reflective data and lookup results. Reviewed-by: alanb, plevart, psandoz, dl Contributed-by: Doug Lea
, Aleksey Shipilev ! src/share/classes/java/lang/Class.java ! src/share/classes/sun/reflect/generics/repository/ClassRepository.java ! src/share/native/java/lang/Class.c Changeset: 2b63fda275a3 Author: twisti Date: 2013-06-17 16:24 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2b63fda275a3 7177472: JSR292: MethodType interning penalizes scalability Reviewed-by: twisti Contributed-by: Aleksey Shipilev ! src/share/classes/java/lang/invoke/MethodType.java Changeset: 116050227ee9 Author: youdwei Date: 2013-06-17 17:36 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/116050227ee9 8014620: Signature.getAlgorithm return null in special case Reviewed-by: wetmore ! src/share/classes/java/security/Signature.java + test/java/security/Signature/SignatureGetAlgorithm.java Changeset: 989049977d04 Author: rfield Date: 2013-06-17 20:31 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/989049977d04 8015402: Lambda metafactory should not attempt to determine bridge methods Summary: paired with 8013789: Compiler should emit bridges in interfaces Reviewed-by: twisti ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java Changeset: 956b00d7d4ea Author: uta Date: 2013-06-18 17:19 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/956b00d7d4ea 8016046: (process) Strict validation of input should be security manager case only [win]. Reviewed-by: alanb, ahgross ! src/windows/classes/java/lang/ProcessImpl.java ! test/java/lang/Runtime/exec/ExecCommand.java Changeset: 3c36782f5129 Author: bae Date: 2013-02-27 12:10 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3c36782f5129 8001034: Memory management improvements Reviewed-by: mschoene, prr, jgodinez ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c Changeset: b4a306969af5 Author: alanb Date: 2013-02-27 11:44 +0000 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b4a306969af5 8004288: (fs) Files.probeContentType problems Reviewed-by: ahgross, sherman ! src/share/classes/java/nio/file/Files.java ! src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java Changeset: ecf85457671a Author: dmocek Date: 2013-03-04 14:34 -0800 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ecf85457671a 8000638: Improve deserialization Reviewed-by: smarks, hawtin, mchung ! src/share/classes/java/io/ObjectStreamClass.java Changeset: 1bd2a0bb583e Author: jbachorik Date: 2013-03-07 14:05 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1bd2a0bb583e 8008603: Improve provision of JMX providers Reviewed-by: alanb, dfuchs, jfdenise, skoivu ! src/share/classes/javax/management/remote/JMXConnectorFactory.java Changeset: 711d544b2319 Author: jbachorik Date: 2013-03-12 09:34 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/711d544b2319 8009038: Improve JMX notification support Summary: Disallowing access to mutable shared arrays Reviewed-by: dfuchs, mchung, skoivu ! src/share/classes/javax/management/StandardEmitterMBean.java Changeset: 363547f54176 Author: jbachorik Date: 2013-03-12 11:09 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/363547f54176 8009034: Improve resulting notifications in JMX Summary: Disallowing access to mutable shared arrays Reviewed-by: dfuchs, mchung, skoivu ! src/share/classes/javax/management/remote/NotificationResult.java Changeset: 9114ea4791ec Author: jbachorik Date: 2013-03-14 14:42 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9114ea4791ec 8008585: Better JMX data handling Reviewed-by: alanb, dfuchs, jfdenise, skoivu, sjiang ! src/share/classes/javax/management/remote/JMXConnectorFactory.java Changeset: 200ae4b8f192 Author: jbachorik Date: 2013-03-14 14:45 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/200ae4b8f192 8008607: Better input checking in JMX Reviewed-by: dfuchs, mchung, skoivu, sjiang ! src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java Changeset: a65111ce1ed7 Author: khazra Date: 2013-03-14 13:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a65111ce1ed7 7170730: Improve Windows network stack support. Summary: Enable exclusive binding of ports on Windows Reviewed-by: alanb, chegar, ahgross ! make/java/nio/mapfile-bsd ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! makefiles/mapfiles/libnio/mapfile-linux ! makefiles/mapfiles/libnio/mapfile-macosx ! makefiles/mapfiles/libnio/mapfile-solaris ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/solaris/native/sun/nio/ch/Net.c ! src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java ! src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/windows/classes/java/net/DualStackPlainSocketImpl.java ! src/windows/classes/java/net/PlainSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainSocketImpl.java ! src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c ! src/windows/native/java/net/DualStackPlainSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainSocketImpl.c ! src/windows/native/java/net/net_util_md.c ! src/windows/native/java/net/net_util_md.h ! src/windows/native/sun/nio/ch/Net.c Changeset: 30f15138e298 Author: dmocek Date: 2013-03-13 17:24 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/30f15138e298 8001033: Refactor network address handling in virtual machine identifiers Reviewed-by: smarks, hawtin, mchung ! src/share/classes/java/rmi/dgc/VMID.java Changeset: 9f99c9ab588b Author: jgodinez Date: 2013-03-15 12:31 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9f99c9ab588b 8007927: Improve cmsAllocProfileSequenceDescription Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmsnamed.c Changeset: bf7120252a95 Author: jbachorik Date: 2013-03-18 11:17 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/bf7120252a95 8009996: tests javax/management/mxbean/MiscTest.java and javax/management/mxbean/StandardMBeanOverrideTest.java fail Reviewed-by: dfuchs, dholmes ! src/share/classes/javax/management/StandardEmitterMBean.java Changeset: 59ced5cf8344 Author: dfuchs Date: 2013-03-18 11:55 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/59ced5cf8344 8001043: Clarify definition restrictions Reviewed-by: alanb, skoivu, smarks ! src/share/classes/sun/rmi/server/LoaderHandler.java Changeset: 810688020f65 Author: sla Date: 2013-03-19 13:26 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/810688020f65 8003703: Update RMI connection dialog box Reviewed-by: skoivu, ahgross, mchung, jbachorik ! src/share/classes/sun/tools/jconsole/Messages.java ! src/share/classes/sun/tools/jconsole/ProxyClient.java ! src/share/classes/sun/tools/jconsole/VMPanel.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties Changeset: 8b4c3e09b29a Author: jgodinez Date: 2013-03-19 14:29 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8b4c3e09b29a 8009013: Better handling of T2K glyphs Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/font/freetypeScaler.c Changeset: dd60654d4a8b Author: darcy Date: 2013-03-19 14:59 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/dd60654d4a8b 8001309: Better handling of annotation interfaces Reviewed-by: ahgross, smarks, alanb ! src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java Changeset: b412e6128726 Author: jgodinez Date: 2013-03-20 10:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b412e6128726 8007929: Improve CurvesAlloc Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmsopt.c Changeset: cfea7f72cbcd Author: khazra Date: 2013-03-20 11:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cfea7f72cbcd 8010213: Some api/javax_net/SocketFactory tests fail in 7u25 nightly build Summary: Eliminate fall-through while setting socket options on Windows Reviewed-by: alanb, chegar ! src/windows/classes/java/net/DualStackPlainSocketImpl.java Changeset: 711187756b9e Author: leonidr Date: 2013-03-21 02:13 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/711187756b9e 8004584: Augment applet contextualization Summary: Do not create the main AppContext for applets Reviewed-by: art, ahgross ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/sun/applet/AppletSecurity.java ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/awt/SunToolkit.java Changeset: 9d6d7886a74c Author: jbachorik Date: 2013-03-21 09:26 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9d6d7886a74c 8008623: Better handling of MBeanServers Reviewed-by: dfuchs, dholmes, skoivu ! src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java ! src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Changeset: 9bcf9c9cb73d Author: vinnie Date: 2013-03-21 12:14 +0000 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9bcf9c9cb73d 8009067: Improve storing keys in KeyStore Reviewed-by: mullan, skoivu ! src/share/classes/java/security/KeyStore.java Changeset: 434e0155180c Author: jfdenise Date: 2013-03-26 09:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/434e0155180c 8009004: Better implementation of RMI connections Summary: Better class handling. Reviewed-by: alanb, dfuchs, skoivu, jbachorik Contributed-by: jean-francois.denise at oracle.com ! src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java ! src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java Changeset: 72fac19dad5c Author: sjiang Date: 2013-03-26 08:32 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/72fac19dad5c 8008615: Improve robustness of JMX internal APIs Reviewed-by: dfuchs, skoivu, dholmes ! src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java ! src/share/classes/javax/management/MBeanServerFactory.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java Changeset: 27d79fbadda1 Author: jfdenise Date: 2013-03-27 09:59 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/27d79fbadda1 8008128: Better API coherence for JMX Summary: Permission for getting classloader Reviewed-by: alanb, dfuchs, skoivu Contributed-by: jean-francois.denise at oracle.com ! src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Changeset: 311f16954ada Author: jbachorik Date: 2013-03-27 13:29 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/311f16954ada 8010209: Better provision of factories Reviewed-by: dcubed, ahgross ! src/share/classes/sun/tracing/ProviderSkeleton.java ! src/share/classes/sun/tracing/dtrace/DTraceProvider.java Changeset: 185cbf454f51 Author: jgodinez Date: 2013-03-27 11:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/185cbf454f51 8009654: Improve stability of cmsnamed Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmsnamed.c Changeset: c193b7431ea6 Author: jgodinez Date: 2013-03-27 15:58 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c193b7431ea6 8007925: Improve cmsStageAllocLabV2ToV4curves 8007926: Improve cmsPipelineDup Reviewed-by: bae, mschoene, prr Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/cmm/lcms/cmslut.c Changeset: 9137e1efe9fd Author: lancea Date: 2013-03-28 06:55 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9137e1efe9fd 8009554: Improve SerialJavaObject.getFields Reviewed-by: alanb, skoivu, mchung ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java Changeset: 7067e2e493e5 Author: khazra Date: 2013-03-28 14:34 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7067e2e493e5 8001318: Socket.getLocalAddress not consistent with InetAddress.getLocalHost Reviewed-by: alanb, chegar, hawtin ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/SocksSocketImpl.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/sun/net/NetworkClient.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/httpserver/ServerImpl.java ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/ServerSocketAdaptor.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketAdaptor.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/share/classes/sun/rmi/server/Activation.java ! src/share/classes/sun/rmi/transport/proxy/WrappedSocket.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpNet.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java Changeset: d0ba983c0e70 Author: jbachorik Date: 2013-03-28 09:39 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d0ba983c0e70 8008982: Adjust JMX for underlying interface changes Reviewed-by: mchung, dholmes, dfuchs, skoivu ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/javax/management/JMX.java ! src/share/classes/javax/management/MBeanServerInvocationHandler.java Changeset: 2db5b7f6aa66 Author: jgodinez Date: 2013-03-29 10:01 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2db5b7f6aa66 8001038: Resourcefully handle resources Reviewed-by: prr, bae Contributed-by: jia-hong.chen at oracle.com ! src/share/classes/java/awt/Font.java ! src/share/classes/sun/font/CreatedFontTracker.java Changeset: d6f0cbba0b8a Author: serb Date: 2013-03-29 22:07 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d6f0cbba0b8a 8006328: Improve robustness of sound classes 8009057: Improve MIDI event handling Reviewed-by: amenkov, art, skoivu ! src/share/classes/com/sun/media/sound/AbstractDataLine.java ! src/share/classes/com/sun/media/sound/AbstractLine.java ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/share/classes/com/sun/media/sound/AbstractMidiDeviceProvider.java ! src/share/classes/com/sun/media/sound/AbstractMixer.java ! src/share/classes/com/sun/media/sound/AiffFileFormat.java ! src/share/classes/com/sun/media/sound/AiffFileReader.java ! src/share/classes/com/sun/media/sound/AiffFileWriter.java ! src/share/classes/com/sun/media/sound/AlawCodec.java ! src/share/classes/com/sun/media/sound/AuFileFormat.java ! src/share/classes/com/sun/media/sound/AuFileReader.java ! src/share/classes/com/sun/media/sound/AuFileWriter.java ! src/share/classes/com/sun/media/sound/AudioFileSoundbankReader.java ! src/share/classes/com/sun/media/sound/AudioFloatConverter.java ! src/share/classes/com/sun/media/sound/AudioFloatFormatConverter.java ! src/share/classes/com/sun/media/sound/AudioFloatInputStream.java ! src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java ! src/share/classes/com/sun/media/sound/DLSInfo.java ! src/share/classes/com/sun/media/sound/DLSInstrument.java ! src/share/classes/com/sun/media/sound/DLSModulator.java ! src/share/classes/com/sun/media/sound/DLSRegion.java ! src/share/classes/com/sun/media/sound/DLSSample.java ! src/share/classes/com/sun/media/sound/DLSSampleLoop.java ! src/share/classes/com/sun/media/sound/DLSSampleOptions.java ! src/share/classes/com/sun/media/sound/DLSSoundbank.java ! src/share/classes/com/sun/media/sound/DLSSoundbankReader.java ! src/share/classes/com/sun/media/sound/DataPusher.java ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! src/share/classes/com/sun/media/sound/DirectAudioDeviceProvider.java ! src/share/classes/com/sun/media/sound/EmergencySoundbank.java ! src/share/classes/com/sun/media/sound/EventDispatcher.java ! src/share/classes/com/sun/media/sound/FFT.java ! src/share/classes/com/sun/media/sound/FastShortMessage.java ! src/share/classes/com/sun/media/sound/JARSoundbankReader.java ! src/share/classes/com/sun/media/sound/JDK13Services.java ! src/share/classes/com/sun/media/sound/JSSecurityManager.java ! src/share/classes/com/sun/media/sound/JavaSoundAudioClip.java ! src/share/classes/com/sun/media/sound/MidiDeviceReceiverEnvelope.java ! src/share/classes/com/sun/media/sound/MidiDeviceTransmitterEnvelope.java ! src/share/classes/com/sun/media/sound/MidiInDevice.java ! src/share/classes/com/sun/media/sound/MidiInDeviceProvider.java ! src/share/classes/com/sun/media/sound/MidiOutDevice.java ! src/share/classes/com/sun/media/sound/MidiOutDeviceProvider.java ! src/share/classes/com/sun/media/sound/MidiUtils.java ! src/share/classes/com/sun/media/sound/ModelByteBuffer.java ! src/share/classes/com/sun/media/sound/ModelByteBufferWavetable.java ! src/share/classes/com/sun/media/sound/ModelConnectionBlock.java ! src/share/classes/com/sun/media/sound/ModelDestination.java ! src/share/classes/com/sun/media/sound/ModelIdentifier.java ! src/share/classes/com/sun/media/sound/ModelInstrument.java ! src/share/classes/com/sun/media/sound/ModelInstrumentComparator.java ! src/share/classes/com/sun/media/sound/ModelMappedInstrument.java ! src/share/classes/com/sun/media/sound/ModelPatch.java ! src/share/classes/com/sun/media/sound/ModelPerformer.java ! src/share/classes/com/sun/media/sound/ModelSource.java ! src/share/classes/com/sun/media/sound/ModelStandardDirector.java ! src/share/classes/com/sun/media/sound/ModelStandardIndexedDirector.java ! src/share/classes/com/sun/media/sound/ModelStandardTransform.java ! src/share/classes/com/sun/media/sound/PCMtoPCMCodec.java ! src/share/classes/com/sun/media/sound/Platform.java ! src/share/classes/com/sun/media/sound/PortMixer.java ! src/share/classes/com/sun/media/sound/PortMixerProvider.java ! src/share/classes/com/sun/media/sound/Printer.java ! src/share/classes/com/sun/media/sound/RIFFInvalidDataException.java ! src/share/classes/com/sun/media/sound/RIFFInvalidFormatException.java ! src/share/classes/com/sun/media/sound/RIFFReader.java ! src/share/classes/com/sun/media/sound/RIFFWriter.java ! src/share/classes/com/sun/media/sound/RealTimeSequencer.java ! src/share/classes/com/sun/media/sound/RealTimeSequencerProvider.java ! src/share/classes/com/sun/media/sound/SF2GlobalRegion.java ! src/share/classes/com/sun/media/sound/SF2Instrument.java ! src/share/classes/com/sun/media/sound/SF2InstrumentRegion.java ! src/share/classes/com/sun/media/sound/SF2Layer.java ! src/share/classes/com/sun/media/sound/SF2LayerRegion.java ! src/share/classes/com/sun/media/sound/SF2Modulator.java ! src/share/classes/com/sun/media/sound/SF2Sample.java ! src/share/classes/com/sun/media/sound/SF2Soundbank.java ! src/share/classes/com/sun/media/sound/SF2SoundbankReader.java ! src/share/classes/com/sun/media/sound/SoftAbstractResampler.java ! src/share/classes/com/sun/media/sound/SoftAudioBuffer.java ! src/share/classes/com/sun/media/sound/SoftAudioPusher.java ! src/share/classes/com/sun/media/sound/SoftChannel.java ! src/share/classes/com/sun/media/sound/SoftChannelProxy.java ! src/share/classes/com/sun/media/sound/SoftChorus.java ! src/share/classes/com/sun/media/sound/SoftCubicResampler.java ! src/share/classes/com/sun/media/sound/SoftEnvelopeGenerator.java ! src/share/classes/com/sun/media/sound/SoftFilter.java ! src/share/classes/com/sun/media/sound/SoftInstrument.java ! src/share/classes/com/sun/media/sound/SoftJitterCorrector.java ! src/share/classes/com/sun/media/sound/SoftLanczosResampler.java ! src/share/classes/com/sun/media/sound/SoftLimiter.java ! src/share/classes/com/sun/media/sound/SoftLinearResampler.java ! src/share/classes/com/sun/media/sound/SoftLinearResampler2.java ! src/share/classes/com/sun/media/sound/SoftLowFrequencyOscillator.java ! src/share/classes/com/sun/media/sound/SoftMainMixer.java ! src/share/classes/com/sun/media/sound/SoftMidiAudioFileReader.java ! src/share/classes/com/sun/media/sound/SoftMixingClip.java ! src/share/classes/com/sun/media/sound/SoftMixingDataLine.java ! src/share/classes/com/sun/media/sound/SoftMixingMainMixer.java ! src/share/classes/com/sun/media/sound/SoftMixingMixer.java ! src/share/classes/com/sun/media/sound/SoftMixingMixerProvider.java ! src/share/classes/com/sun/media/sound/SoftMixingSourceDataLine.java ! src/share/classes/com/sun/media/sound/SoftPerformer.java ! src/share/classes/com/sun/media/sound/SoftPointResampler.java ! src/share/classes/com/sun/media/sound/SoftProvider.java ! src/share/classes/com/sun/media/sound/SoftReceiver.java ! src/share/classes/com/sun/media/sound/SoftReverb.java ! src/share/classes/com/sun/media/sound/SoftShortMessage.java ! src/share/classes/com/sun/media/sound/SoftSincResampler.java ! src/share/classes/com/sun/media/sound/SoftSynthesizer.java ! src/share/classes/com/sun/media/sound/SoftTuning.java ! src/share/classes/com/sun/media/sound/SoftVoice.java ! src/share/classes/com/sun/media/sound/StandardMidiFileReader.java ! src/share/classes/com/sun/media/sound/StandardMidiFileWriter.java ! src/share/classes/com/sun/media/sound/SunCodec.java ! src/share/classes/com/sun/media/sound/SunFileReader.java ! src/share/classes/com/sun/media/sound/SunFileWriter.java ! src/share/classes/com/sun/media/sound/Toolkit.java ! src/share/classes/com/sun/media/sound/UlawCodec.java ! src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java ! src/share/classes/com/sun/media/sound/WaveFileFormat.java ! src/share/classes/com/sun/media/sound/WaveFileReader.java ! src/share/classes/com/sun/media/sound/WaveFileWriter.java ! src/share/classes/com/sun/media/sound/WaveFloatFileReader.java ! src/share/classes/com/sun/media/sound/WaveFloatFileWriter.java ! src/share/classes/javax/sound/midi/MetaMessage.java ! src/share/classes/javax/sound/sampled/Mixer.java ! src/share/classes/sun/audio/AudioData.java ! src/share/classes/sun/audio/AudioDataStream.java ! src/share/classes/sun/audio/AudioDevice.java ! src/share/classes/sun/audio/AudioPlayer.java ! src/share/classes/sun/audio/AudioStream.java ! src/share/classes/sun/audio/AudioStreamSequence.java ! src/share/classes/sun/audio/AudioTranslatorStream.java ! src/share/classes/sun/audio/ContinuousAudioDataStream.java ! src/share/classes/sun/audio/InvalidAudioFormatException.java Changeset: 2eac60e99307 Author: dsamersoff Date: 2013-03-31 22:00 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2eac60e99307 8007471: Improve MBean notifications Summary: Improve MBean notifications Reviewed-by: dfuchs, mchung, alanb, skoivu ! src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java ! src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java Changeset: 107f21efda78 Author: dsamersoff Date: 2013-03-31 22:59 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/107f21efda78 8008120: Improve JMX class checking Summary: Improve JMX class checking Reviewed-by: mchung, dfuchs, alanb, skoivu ! src/share/classes/javax/management/relation/RelationNotification.java Changeset: 0bddd4e8bfb6 Author: dsamersoff Date: 2013-03-31 23:47 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/0bddd4e8bfb6 8008124: Better compliance testing Summary: Better compliance testing Reviewed-by: dfuchs, jfdenise, skoivu, alanb ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: 0d36b1e3e509 Author: prr Date: 2013-04-01 09:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/0d36b1e3e509 8005007: Better glyph processing Reviewed-by: srl, mschoene, bae ! src/share/classes/sun/font/ExtendedTextSourceLabel.java ! src/share/native/sun/font/layout/LEGlyphStorage.cpp ! src/share/native/sun/font/layout/LookupProcessor.cpp Changeset: 4224b02452f5 Author: sjiang Date: 2013-04-02 10:38 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4224b02452f5 8007467: Better JMX type conversion Reviewed-by: dfuchs, mchung, skoivu ! src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java ! src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java ! src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java ! src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java ! src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java Changeset: 5ae5c4120014 Author: egahlin Date: 2013-03-21 13:56 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/5ae5c4120014 8008611: Better handling of annotations in JMX Reviewed-by: skoivu, dholmes, jfdenise ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: 802f5e480c8a Author: mullan Date: 2013-04-05 10:17 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/802f5e480c8a 8001330: Improve on checking order Reviewed-by: acorn, hawtin ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/security/ProtectionDomain.java Changeset: e5969bf37f26 Author: chegar Date: 2013-04-08 06:15 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e5969bf37f26 8008593: Better URLClassLoader resource management Reviewed-by: alanb, sherman, hawtin ! make/java/zip/mapfile-vers ! make/java/zip/reorder-i586 ! make/java/zip/reorder-sparc ! make/java/zip/reorder-sparcv9 ! makefiles/mapfiles/libzip/mapfile-vers ! makefiles/mapfiles/libzip/reorder-sparc ! makefiles/mapfiles/libzip/reorder-sparcv9 ! makefiles/mapfiles/libzip/reorder-x86 ! src/share/classes/java/util/zip/ZipFile.java + src/share/classes/sun/misc/JavaUtilZipFileAccess.java ! src/share/classes/sun/misc/SharedSecrets.java ! src/share/classes/sun/misc/URLClassPath.java ! src/share/native/java/util/zip/ZipFile.c ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h Changeset: 6f75b365af19 Author: vinnie Date: 2013-04-08 21:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6f75b365af19 8009235: Improve handling of TSA data Reviewed-by: ahgross, mullan ! src/share/classes/sun/security/pkcs/SignerInfo.java ! src/share/classes/sun/security/timestamp/TimestampToken.java Changeset: 5496abfc666a Author: prr Date: 2013-04-08 13:29 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/5496abfc666a 8011248: Better Component Rasters Reviewed-by: bae, vadim, mschoene ! src/share/classes/sun/awt/image/IntegerComponentRaster.java Changeset: 761e0002dcfe Author: prr Date: 2013-04-08 13:32 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/761e0002dcfe 8011253: Better Short Component Rasters Reviewed-by: bae, vadim, mschoene ! src/share/classes/sun/awt/image/ShortBandedRaster.java ! src/share/classes/sun/awt/image/ShortComponentRaster.java Changeset: 1adc1051f2d3 Author: prr Date: 2013-04-08 13:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1adc1051f2d3 8011257: Better Byte Component Rasters Reviewed-by: bae, vadim, mschoene ! src/share/classes/sun/awt/image/ByteBandedRaster.java ! src/share/classes/sun/awt/image/ByteComponentRaster.java Changeset: eafd52d53f09 Author: bae Date: 2013-04-10 15:55 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/eafd52d53f09 8011243: Improve ImagingLib Reviewed-by: prr, vadim ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! src/share/native/sun/awt/medialib/mlib_ImageCreate.c Changeset: fa42f0831e66 Author: bae Date: 2013-04-12 14:08 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/fa42f0831e66 8011992: java/awt/image/mlib/MlibOpsTest.java failed since jdk7u25b05 Reviewed-by: vadim ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! test/java/awt/image/mlib/MlibOpsTest.java Changeset: bfe04328d394 Author: bae Date: 2013-04-15 14:11 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/bfe04328d394 8012112: java/awt/image/mlib/MlibOpsTest.java fails on sparc solaris Reviewed-by: prr, vadim ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! test/java/awt/image/mlib/MlibOpsTest.java Changeset: 7d90e3e0a8ec Author: leonidr Date: 2013-04-16 21:19 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7d90e3e0a8ec 8011695: [tck-red] Application can not be run, the Security Warning dialog is gray. Summary: EventQueue shouldn't use AppContext.getAppContext() to obtain its AppContext. Reviewed-by: art ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/sun/awt/SunToolkit.java Changeset: cf14f699f36c Author: anthony Date: 2013-04-18 13:52 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cf14f699f36c 8009071: Improve shape handling Reviewed-by: art, mschoene ! src/macosx/native/sun/awt/CRobot.m ! src/macosx/native/sun/awt/LWCToolkit.m ! src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m + src/share/native/common/sizecalc.h ! src/share/native/sun/awt/splashscreen/java_awt_SplashScreen.c ! src/share/native/sun/awt/splashscreen/splashscreen_gif.c ! src/share/native/sun/java2d/pipe/Region.c ! src/solaris/native/sun/awt/awt_Robot.c ! src/solaris/native/sun/awt/awt_UNIXToolkit.c ! src/solaris/native/sun/awt/fontpath.c ! src/solaris/native/sun/awt/gtk2_interface.c ! src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/native/sun/awt/splashscreen/splashscreen_sys.c ! src/windows/native/sun/font/lcdglyph.c ! src/windows/native/sun/java2d/opengl/WGLSurfaceData.c ! src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp ! src/windows/native/sun/java2d/windows/GDIRenderer.cpp ! src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp ! src/windows/native/sun/windows/CmdIDList.cpp ! src/windows/native/sun/windows/Devices.cpp ! src/windows/native/sun/windows/ShellFolder2.cpp ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/alloc.h ! src/windows/native/sun/windows/awt.h ! src/windows/native/sun/windows/awt_BitmapUtil.cpp ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Cursor.cpp ! src/windows/native/sun/windows/awt_DataTransferer.cpp ! src/windows/native/sun/windows/awt_DesktopProperties.cpp ! src/windows/native/sun/windows/awt_DnDDT.cpp ! src/windows/native/sun/windows/awt_InputMethod.cpp ! src/windows/native/sun/windows/awt_PrintControl.cpp ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_Robot.cpp Changeset: 4934254492af Author: sundar Date: 2013-04-19 11:43 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4934254492af 8006611: Improve scripting Reviewed-by: mchung ! src/share/classes/javax/script/ScriptEngineManager.java Changeset: a73ecb5085eb Author: jfranck Date: 2013-04-19 14:40 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a73ecb5085eb 8007812: (reflect) Class.getEnclosingMethod problematic for some classes Summary: Better checking in getEnclosing(Method|Constructor|Class) Reviewed-by: darcy, ahgross, mchung ! src/share/classes/java/lang/Class.java + test/lib/testlibrary/ClassFileInstaller.java Changeset: 15370008c68d Author: chegar Date: 2013-04-22 10:21 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/15370008c68d 8012692: SerialJavaObject.java should be CallerSensitive aware Reviewed-by: mchung ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java Changeset: ff3ac3680ffa Author: mchung Date: 2013-04-22 10:22 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ff3ac3680ffa 8012689: CallerSensitive annotation should not have CONSTRUCTOR Target Reviewed-by: chegar ! src/share/classes/sun/reflect/CallerSensitive.java Changeset: 783ed53bce0b Author: smarks Date: 2013-04-22 10:55 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/783ed53bce0b 8008132: Better serialization support Reviewed-by: alanb, hawtin ! src/share/classes/java/io/ObjectOutputStream.java ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/ObjectStreamField.java Changeset: bb0ec4661eb8 Author: chegar Date: 2013-04-22 11:08 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/bb0ec4661eb8 8012917: ObjectStreamClass and ObjectStreamField should be CallerSensitive aware Reviewed-by: mchung ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/ObjectStreamField.java Changeset: 10558009e439 Author: anthony Date: 2013-04-09 12:05 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/10558009e439 8011154: java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java failed since 7u25b03 on windows Reviewed-by: art, yan ! src/windows/native/sun/windows/awt_Component.cpp Changeset: 0f0ff6e9da05 Author: mullan Date: 2013-04-22 11:23 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/0f0ff6e9da05 6741606: Integrate Apache Santuario Reviewed-by: vinnie, hawtin ! src/share/classes/com/sun/org/apache/xml/internal/security/Init.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizerSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_en.properties ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignedInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transforms.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformBase64Decode.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java + src/share/classes/com/sun/org/apache/xml/internal/security/utils/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/I18n.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverFragment.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverXPointer.java ! src/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/javax/xml/crypto/dsig/GenerationTests.java ! test/javax/xml/crypto/dsig/SecurityManager/XMLDSigWithSecMgr.java ! test/javax/xml/crypto/dsig/ValidationTests.java Changeset: 72f55e763113 Author: leonidr Date: 2013-03-27 16:37 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/72f55e763113 8003559: Update display of applet windows Summary: Implemented applet security warning for OS X port Reviewed-by: art, anthony, serb, skoivu ! make/sun/awt/Makefile + make/sun/awt/ToBin.java ! make/sun/lwawt/FILES_export_macosx.gmk ! make/sun/xawt/Makefile - make/sun/xawt/ToBin.java ! makefiles/GenerateJavaSources.gmk ! makefiles/GensrcIcons.gmk ! makefiles/Tools.gmk + makefiles/sun/awt/ToBin.java - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/macosx/classes/sun/lwawt/LWKeyboardFocusManagerPeer.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java + src/macosx/classes/sun/lwawt/PlatformEventNotifier.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java + src/macosx/classes/sun/lwawt/SecurityWarningWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CTrayIcon.java ! src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java + src/macosx/classes/sun/lwawt/macosx/CWarningWindow.java ! src/macosx/classes/sun/lwawt/macosx/CWrapper.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/CWrapper.m + src/share/classes/sun/awt/IconInfo.java + src/share/classes/sun/awt/resources/security-icon-bw16.png + src/share/classes/sun/awt/resources/security-icon-bw24.png + src/share/classes/sun/awt/resources/security-icon-bw32.png + src/share/classes/sun/awt/resources/security-icon-bw48.png + src/share/classes/sun/awt/resources/security-icon-interim16.png + src/share/classes/sun/awt/resources/security-icon-interim24.png + src/share/classes/sun/awt/resources/security-icon-interim32.png + src/share/classes/sun/awt/resources/security-icon-interim48.png + src/share/classes/sun/awt/resources/security-icon-yellow16.png + src/share/classes/sun/awt/resources/security-icon-yellow24.png + src/share/classes/sun/awt/resources/security-icon-yellow32.png + src/share/classes/sun/awt/resources/security-icon-yellow48.png ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWarningWindow.java ! src/solaris/classes/sun/awt/X11/XWindowAttributesData.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png Changeset: 31980806a21a Author: chegar Date: 2013-04-19 14:14 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/31980806a21a Merge - make/sun/xawt/ToBin.java ! makefiles/Tools.gmk - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png Changeset: 7615af456906 Author: chegar Date: 2013-04-22 11:29 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7615af456906 Merge Changeset: d0dbbdbb217f Author: mchung Date: 2013-04-17 15:04 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d0dbbdbb217f 8011557: Improve reflection utility classes Reviewed-by: ahgross, alanb ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/sun/reflect/misc/ReflectUtil.java Changeset: 25b69fbfe80f Author: chegar Date: 2013-04-23 11:13 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/25b69fbfe80f Merge ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/sun/security/timestamp/TimestampToken.java Changeset: 3197c702c8d1 Author: bae Date: 2013-04-24 21:15 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3197c702c8d1 8012438: Better image validation Reviewed-by: prr ! src/share/classes/java/awt/image/ComponentSampleModel.java ! src/share/classes/java/awt/image/PixelInterleavedSampleModel.java ! src/share/classes/java/awt/image/Raster.java ! src/share/classes/sun/awt/image/ByteBandedRaster.java ! src/share/classes/sun/awt/image/ByteComponentRaster.java ! src/share/classes/sun/awt/image/BytePackedRaster.java ! src/share/classes/sun/awt/image/IntegerComponentRaster.java ! src/share/classes/sun/awt/image/ShortBandedRaster.java ! src/share/classes/sun/awt/image/ShortComponentRaster.java ! src/share/native/sun/awt/medialib/awt_ImagingLib.c Changeset: 256ebcf1317b Author: chegar Date: 2013-04-28 09:35 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/256ebcf1317b Merge ! src/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/sun/awt/SunToolkit.java - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: c3a08adee3ea Author: chegar Date: 2013-05-01 12:25 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c3a08adee3ea Merge Changeset: f1c0e2da008c Author: chegar Date: 2013-05-08 11:22 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f1c0e2da008c Merge ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java - src/share/classes/java/beans/ReflectionUtils.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/nio/file/Files.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: b8102c2f6632 Author: chegar Date: 2013-05-16 11:47 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b8102c2f6632 Merge Changeset: 60a2184a71f2 Author: chegar Date: 2013-05-23 12:58 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/60a2184a71f2 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile ! src/macosx/classes/sun/lwawt/LWToolkit.java - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/sun/net/httpserver/ServerImpl.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: aa559d55fc4a Author: chegar Date: 2013-05-31 10:34 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/aa559d55fc4a Merge Changeset: 405cd7338069 Author: chegar Date: 2013-06-10 10:38 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/405cd7338069 Merge ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/util/zip/ZipFile.java - src/share/classes/sun/misc/FDBigInt.java ! src/share/classes/sun/tools/jconsole/VMPanel.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/share/native/sun/java2d/cmm/lcms/cmslut.c ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/xawt/XlibWrapper.c ! src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java - test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java Changeset: cd0140e5bee5 Author: prr Date: 2013-04-25 16:49 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cd0140e5bee5 8012421: Better positioning of PairPositioning Reviewed-by: srl, mschoene, vadim ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.h Changeset: 97149218a8ad Author: bae Date: 2013-04-26 11:46 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/97149218a8ad 8012601: Better validation of image layouts Reviewed-by: prr ! src/share/classes/java/awt/image/BufferedImage.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java Changeset: 40c65c6711ee Author: prr Date: 2013-04-26 15:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/40c65c6711ee 8012617: ArrayIndexOutOfBoundsException with some fonts using LineBreakMeasurer Reviewed-by: bae, srl ! src/share/classes/sun/font/ExtendedTextSourceLabel.java ! src/share/classes/sun/font/GlyphLayout.java ! src/share/native/sun/font/layout/ContextualSubstSubtables.cpp ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp ! src/share/native/sun/font/layout/ExtensionSubtables.cpp ! src/share/native/sun/font/layout/ExtensionSubtables.h ! src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp ! src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp ! src/share/native/sun/font/layout/LigatureSubstSubtables.cpp ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp ! src/share/native/sun/font/layout/MultipleSubstSubtables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/SinglePositioningSubtables.cpp ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp ! src/share/native/sun/font/layout/SunLayoutEngine.cpp + test/java/awt/font/LineBreakMeasurer/AllFontsLBM.java Changeset: 30c8c83eeb70 Author: mullan Date: 2013-04-29 11:47 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/30c8c83eeb70 8009217: REGRESSION: test com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java fails to compile since 7u21b03 Reviewed-by: xuelei ! test/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java ! test/com/sun/org/apache/xml/internal/security/transforms/MyTransform.java Changeset: 19af6fae7b98 Author: bae Date: 2013-04-30 04:41 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/19af6fae7b98 8012597: Better image channel verification Reviewed-by: vadim ! src/share/classes/java/awt/image/BufferedImage.java ! src/share/native/sun/awt/image/awt_parseImage.c ! src/share/native/sun/awt/medialib/awt_ImagingLib.c Changeset: 1b86ce92dc2f Author: alexsch Date: 2013-04-30 13:55 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1b86ce92dc2f 8012330: [macosx] Sometimes the applet showing the modal dialog itself loses the ability to gain focus Reviewed-by: serb, ant ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java Changeset: d4c5b2792d55 Author: dfuchs Date: 2013-05-02 10:46 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d4c5b2792d55 8012243: about 30% regression on specjvm2008.serial on 7u25 comparing 7u21 Reviewed-by: alanb, skoivu, smarks, mchung ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/ObjectStreamField.java Changeset: e898a9e1404b Author: mullan Date: 2013-05-02 11:42 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e898a9e1404b 8008744: Rework part of fix for JDK-6741606 Reviewed-by: xuelei, ahgross + src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java + src/share/classes/com/sun/org/apache/xml/internal/security/transforms/ClassLoaderUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java - src/share/classes/com/sun/org/apache/xml/internal/security/utils/ClassLoaderUtils.java Changeset: b3850bdca7f1 Author: leonidr Date: 2013-05-06 16:12 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b3850bdca7f1 8012933: Test closed/java/awt/Dialog/DialogAnotherThread/JaWSTest.java fails since jdk 7u25 b07 Summary: Do not mark context as disposed until we've posted all the events Reviewed-by: art ! src/share/classes/sun/awt/AppContext.java + test/sun/awt/AppContext/8012933/Test8012933.java Changeset: fb7dc7c54145 Author: jfranck Date: 2013-05-07 13:23 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/fb7dc7c54145 8011139: (reflect) Revise checking in getEnclosingClass Reviewed-by: darcy, mchung, ahgross ! src/share/classes/java/lang/Class.java Changeset: cefd77938a6c Author: twisti Date: 2013-05-08 12:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cefd77938a6c 8009424: Restrict publicLookup with additional checks Reviewed-by: vlivanov, jdn ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 7f2fc413fb1d Author: coffeys Date: 2013-05-09 20:31 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7f2fc413fb1d 8013196: TimeZone.getDefault() throws NPE due to sun.awt.AppContext.getAppContext() Reviewed-by: mchung, okutsu ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/misc/SharedSecrets.java Changeset: 3948bdc62c34 Author: mullan Date: 2013-05-13 17:50 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3948bdc62c34 8010714: XML DSig API allows a RetrievalMethod to reference another RetrievalMethod Reviewed-by: xuelei, hawtin ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/ObjectContainer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperties.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/SignatureProperty.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignature.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java ! test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java Changeset: 5d342b420db0 Author: xuelei Date: 2013-05-14 05:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/5d342b420db0 8014281: Better checking of XML signature Summary: also reviewed by Andrew Gross and Christophe Ravel Reviewed-by: mullan ! src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java Changeset: c261596407b5 Author: bae Date: 2013-05-14 21:10 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c261596407b5 8014427: REGRESSION: closed/javax/imageio/plugins/bmp/Write3ByteBgrTest.java fails since 7u25 b09 Reviewed-by: prr ! src/share/classes/java/awt/image/Raster.java Changeset: 392f03789497 Author: mchung Date: 2013-05-14 08:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/392f03789497 8010727: WLS fails to add a logger with "" in its own LogManager subclass instance Reviewed-by: alanb, jgish ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/LogManagerInstanceTest.java Changeset: 8e07710dca9a Author: bae Date: 2013-05-17 16:14 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8e07710dca9a 8014205: Most of the Swing dialogs are blank on one win7 MUI Reviewed-by: vadim ! src/share/classes/java/awt/image/BufferedImage.java Changeset: 1d8fe72d3c4e Author: leonidr Date: 2013-05-20 19:07 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1d8fe72d3c4e 8014718: Netbeans IDE begins to throw a lot exceptions since 7u25 b10 Summary: Removed logging from SunToolkit Reviewed-by: art ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/sun/awt/SunToolkit.java Changeset: 25baf6dc46a0 Author: chegar Date: 2013-05-22 13:57 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/25baf6dc46a0 8014737: java/lang/invoke/7196190/MHProxyTest.java fails after 8009424 Reviewed-by: twisti - test/java/lang/invoke/7196190/MHProxyTest.java Changeset: a4ea4234facf Author: chegar Date: 2013-06-14 16:38 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a4ea4234facf 8012156: tools/javac/file/zip/T6865530.java fails for win32/64 in 7u25 nightly runs Reviewed-by: alanb ! src/share/classes/sun/misc/URLClassPath.java Changeset: 7d56b8a92f52 Author: chegar Date: 2013-06-17 11:26 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/7d56b8a92f52 Merge ! make/sun/awt/Makefile ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/LWCToolkit.m ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/security/KeyStore.java - src/share/classes/sun/misc/Hashing.java - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties ! src/solaris/native/sun/xawt/XlibWrapper.c - test/sun/misc/Hashing.java Changeset: e3b075b8f21f Author: chegar Date: 2013-06-17 14:23 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e3b075b8f21f Merge ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java Changeset: c31fa946605c Author: chegar Date: 2013-06-18 09:39 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c31fa946605c Merge ! src/share/classes/java/lang/Class.java Changeset: 403e63195af5 Author: chegar Date: 2013-06-18 16:08 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/403e63195af5 Merge Changeset: ba544aab1fcd Author: bpb Date: 2013-06-18 11:36 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ba544aab1fcd 8015395: NumberFormatException during startup if JDK-internal property java.lang.Integer.IntegerCache.high set to bad value Summary: Fall back to default if a bad value is passed for this property. Reviewed-by: mduigou ! src/share/classes/java/lang/Integer.java Changeset: eb1a3c50a2a9 Author: mduigou Date: 2013-06-18 14:11 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/eb1a3c50a2a9 Merge Changeset: 1f7cbe4829fe Author: mduigou Date: 2013-06-18 16:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1f7cbe4829fe 8016446: Improve forEach/replaceAll for Map, HashMap, Hashtable, IdentityHashMap, WeakHashMap, TreeMap, ConcurrentMap Reviewed-by: forax, mduigou, psandoz Contributed-by: Mike Duigou , Remi Forax ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/Map.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/WeakHashMap.java ! src/share/classes/java/util/concurrent/ConcurrentMap.java ! test/java/util/Map/Defaults.java Changeset: 2d9da733014f Author: xuelei Date: 2013-06-18 18:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2d9da733014f 8000456: Add programmatic deadlock detection in SSLEngineDeadlock Reviewed-by: wetmore ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java Changeset: d82773b770ce Author: mfang Date: 2013-06-18 21:08 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/d82773b770ce 8015657: jdk8 l10n resource file translation update 3 Reviewed-by: yhuang ! src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_ja.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_ko.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/security/util/AuthResources_zh_CN.java ! src/share/classes/sun/security/util/Resources_de.java ! src/share/classes/sun/security/util/Resources_es.java ! src/share/classes/sun/security/util/Resources_fr.java ! src/share/classes/sun/security/util/Resources_it.java ! src/share/classes/sun/security/util/Resources_ja.java ! src/share/classes/sun/security/util/Resources_ko.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/security/util/Resources_sv.java ! src/share/classes/sun/security/util/Resources_zh_CN.java ! src/share/classes/sun/security/util/Resources_zh_TW.java ! 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 ! src/share/classes/sun/tools/serialver/serialver_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_de.properties ! src/share/classes/sun/util/logging/resources/logging_es.properties ! src/share/classes/sun/util/logging/resources/logging_fr.properties ! src/share/classes/sun/util/logging/resources/logging_it.properties ! src/share/classes/sun/util/logging/resources/logging_ja.properties ! src/share/classes/sun/util/logging/resources/logging_ko.properties ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/logging/resources/logging_sv.properties ! src/share/classes/sun/util/logging/resources/logging_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_zh_TW.properties Changeset: a76858faad59 Author: xuelei Date: 2013-06-19 02:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a76858faad59 7188658: Add possibility to disable client initiated renegotiation Reviewed-by: weijun, wetmore ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java Changeset: 22337da71eca Author: chegar Date: 2013-06-19 11:47 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/22337da71eca 8017044: anti-delta fix for 8015402 Reviewed-by: alanb ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java Changeset: 8bc1b313a082 Author: chegar Date: 2013-06-19 13:03 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8bc1b313a082 Merge Changeset: 9b802d99cb52 Author: bpb Date: 2013-06-19 08:59 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9b802d99cb52 4837946: Faster multiplication and exponentiation of large integers 4646474: BigInteger.pow() algorithm slow in 1.4.0 Summary: Implement Karatsuba and 3-way Toom-Cook multiplication as well as exponentiation using Karatsuba and Toom-Cook squaring. Reviewed-by: alanb, bpb, martin Contributed-by: Alan Eliasen ! src/share/classes/java/math/BigDecimal.java ! src/share/classes/java/math/BigInteger.java ! test/java/math/BigInteger/BigIntegerTest.java Changeset: c3087d966f1f Author: chegar Date: 2013-06-19 11:04 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c3087d966f1f Merge ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: a5735e6d6616 Author: chegar Date: 2013-06-19 11:49 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a5735e6d6616 Merge Changeset: a9ad5ac3430b Author: chegar Date: 2013-06-19 15:58 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a9ad5ac3430b 8017057: More ProblemList.txt updates (6/2013) Reviewed-by: alanb ! test/ProblemList.txt Changeset: 8fd1e39b1c2b Author: chegar Date: 2013-06-19 17:32 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8fd1e39b1c2b Merge Changeset: f6d72c4f6bf1 Author: dxu Date: 2013-06-19 13:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f6d72c4f6bf1 8016592: Clean-up Javac Overrides Warnings In javax/management/NotificationBroadcasterSupport.java Summary: Add hashCode() methods to ListenerInfo and WildcardListenerInfo classes Reviewed-by: dfuchs, alanb, sjiang, chegar ! src/share/classes/javax/management/NotificationBroadcasterSupport.java Changeset: de6b93fd6d23 Author: khazra Date: 2013-06-19 14:02 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/de6b93fd6d23 8016576: Overrides warnings in jdi and jconsole Summary: Implement hashCode() in classes emitting warnings Reviewed-by: alanb, chegar ! src/share/classes/com/sun/tools/jdi/SDE.java ! src/share/classes/sun/tools/jconsole/inspector/XObject.java Changeset: e1b18a666f76 Author: khazra Date: 2013-06-19 14:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e1b18a666f76 8016698: Cleanup overrides warning in sun/tools/ClassDeclaration.java Summary: Override Object.hashCode() Reviewed-by: alanb, chegar ! src/share/classes/sun/tools/java/ClassDeclaration.java Changeset: 2b156531b7eb Author: arieber Date: 2013-06-19 17:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2b156531b7eb 7025238: HttpURLConnection does not handle URLs with an empty path component. Summary: Prepend a '/' to file when path is empty Reviewed-by: chegar, khazra ! src/share/classes/sun/net/www/http/HttpClient.java + test/sun/net/www/http/HttpClient/B7025238.java Changeset: aa4610fe8a73 Author: lana Date: 2013-06-19 18:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/aa4610fe8a73 Merge - make/sun/xawt/ToBin.java - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java - src/share/classes/sun/misc/FDBigInt.java - src/share/classes/sun/misc/Hashing.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/windows/native/sun/windows/WPrinterJob.cpp ! src/windows/native/sun/windows/awt_PrintControl.cpp - test/java/lang/invoke/7196190/MHProxyTest.java - test/sun/misc/Hashing.java Changeset: fce2eaa84b21 Author: lana Date: 2013-06-24 14:28 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/fce2eaa84b21 Merge Changeset: 58e5d1149f97 Author: erikj Date: 2013-06-25 09:25 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/58e5d1149f97 8017480: Move copying of jfr files to closed makefile Reviewed-by: sla, tbell ! makefiles/CopyFiles.gmk Changeset: fd41ca58229c Author: katleman Date: 2013-06-25 13:49 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/fd41ca58229c Merge Changeset: 4a5d3cf2b3af Author: katleman Date: 2013-06-26 11:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4a5d3cf2b3af 8016684: JDK8 b94 source with GPL header errors Reviewed-by: tbell, darcy ! src/share/classes/java/nio/CharBufferSpliterator.java ! src/share/native/sun/management/DiagnosticCommandImpl.c ! test/java/lang/management/MXBean/MXBeanBehavior.java ! test/java/lang/management/ManagementFactory/MBeanServerMXBeanUnsupportedTest.java Changeset: 2465dffd6054 Author: simonis Date: 2013-07-02 17:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2465dffd6054 8017568: PPC64: Generic build preparations needed to enable new build on Linux/PPC64 Summary: Enable new build on Linux/PPC64 Reviewed-by: erikj ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk + makefiles/mapfiles/launchers/mapfile-ppc64 + makefiles/mapfiles/launchers/mapfile-ppc64.anonymous + makefiles/mapfiles/launchers/mapfile-x86.anonymous + makefiles/mapfiles/launchers/mapfile-x86_64.anonymous + makefiles/mapfiles/libunpack/mapfile-vers-unpack200.anonymous + src/solaris/bin/ppc64/jvm.cfg Changeset: 2f1386fc2079 Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2f1386fc2079 Added tag jdk8-b96 for changeset 4a5d3cf2b3af ! .hgtags Changeset: 8339c83b16c6 Author: ehelin Date: 2013-07-02 13:06 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8339c83b16c6 8019500: Exclude MemoryTest.java and MemoryTestAllGC.sh to enable integration Reviewed-by: erikj, alanb ! test/ProblemList.txt Changeset: 87cab043cb5e Author: katleman Date: 2013-06-28 16:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/87cab043cb5e 8019347: JDK8 b96 source with GPL header errors Reviewed-by: iris, alanb, lancea ! makefiles/sun/awt/ToBin.java ! src/share/classes/javax/xml/crypto/dsig/dom/DOMValidateContext.java ! test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java ! test/java/lang/ThreadGroup/Suspend.java Changeset: 978a95239044 Author: katleman Date: 2013-07-02 15:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/978a95239044 Merge Changeset: 4b21dcfdcc3b Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4b21dcfdcc3b Added tag jdk8-b97 for changeset 978a95239044 ! .hgtags Changeset: 5cfcd545ce4a Author: vadim Date: 2013-06-26 13:49 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/5cfcd545ce4a 8016254: several sun/java2d/OpenGL tests failed with SIGFPE Reviewed-by: prr, bae ! src/share/native/sun/java2d/opengl/OGLContext.c Changeset: 3ffa38871143 Author: lana Date: 2013-06-28 19:37 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3ffa38871143 Merge - make/sun/xawt/ToBin.java - makefiles/sun/awt/X11/ToBin.java - src/share/classes/sun/misc/FDBigInt.java - src/share/classes/sun/misc/Hashing.java - src/solaris/classes/sun/awt/X11/XIconInfo.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png - test/java/lang/invoke/7196190/MHProxyTest.java - test/sun/misc/Hashing.java Changeset: 6dda4a069a83 Author: prr Date: 2013-07-01 12:39 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6dda4a069a83 8015144: Performance regression in ICU OpenType Layout library Reviewed-by: srl, jgodinez ! make/sun/font/Makefile ! makefiles/CompileNativeLibraries.gmk ! src/share/native/sun/font/layout/GlyphIterator.cpp ! src/share/native/sun/font/layout/GlyphIterator.h ! src/share/native/sun/font/layout/LETableReference.h ! src/share/native/sun/font/layout/OpenTypeUtilities.cpp Changeset: 6d2b5ec2ec79 Author: prr Date: 2013-07-02 14:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6d2b5ec2ec79 8019692: JDK build CC_OPT_HIGHEST setting isn't valid for Sun C++ compiler Reviewed-by: jgodinez ! make/sun/font/Makefile ! makefiles/CompileNativeLibraries.gmk Changeset: 1c607ebfc180 Author: leonidr Date: 2013-06-20 18:50 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1c607ebfc180 8014264: The applet pathguy_TimeDead throws java.lang.NullPointerException in java console once click drop-down check box. Reviewed-by: art, anthony, serb ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java ! src/solaris/classes/sun/awt/X11/XListPeer.java Changeset: b7b95b7ab2cb Author: malenkov Date: 2013-06-21 17:13 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b7b95b7ab2cb 8016545: java.beans.XMLEncoder.writeObject output is wrong Reviewed-by: alexsch ! src/share/classes/java/beans/XMLEncoder.java + test/java/beans/XMLEncoder/Test8016545.java Changeset: eed321190272 Author: alitvinov Date: 2013-06-21 21:30 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/eed321190272 8007642: Media Names on Java Print Do Not Match the Printer???s and Confuse Users Reviewed-by: prr, jgodinez ! src/windows/classes/sun/print/Win32PrintService.java Changeset: e5bac76282f7 Author: pchelko Date: 2013-06-27 13:56 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e5bac76282f7 8019236: [macosx] Add javadoc to the handleWindowFocusEvent in CEmbeddedFrame Reviewed-by: serb, ant ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java Changeset: 72f167edf630 Author: dmarkov Date: 2013-06-28 18:32 +0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/72f167edf630 8016534: javax/swing/text/View/8014863/bug8014863.java failed Reviewed-by: alexp, alexsch ! test/javax/swing/text/View/8014863/bug8014863.java Changeset: 228ec4b9111a Author: lana Date: 2013-06-28 18:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/228ec4b9111a Merge - make/sun/xawt/ToBin.java - makefiles/sun/awt/X11/ToBin.java ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java - src/share/classes/sun/misc/FDBigInt.java - src/share/classes/sun/misc/Hashing.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XChoicePeer.java - src/solaris/classes/sun/awt/X11/XIconInfo.java ! src/solaris/classes/sun/awt/X11/XListPeer.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png ! src/windows/classes/sun/print/Win32PrintService.java - test/java/lang/invoke/7196190/MHProxyTest.java - test/sun/misc/Hashing.java Changeset: 6fc558b41d8e Author: lana Date: 2013-07-02 15:20 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6fc558b41d8e Merge Changeset: 656ea2349aa5 Author: psandoz Date: 2013-06-20 10:45 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/656ea2349aa5 8016308: Updates to j.u.stream.Node/Nodes Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! src/share/classes/java/util/stream/Node.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/SliceOps.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java Changeset: 85524d9839dc Author: psandoz Date: 2013-06-20 11:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/85524d9839dc 8016324: filter/flatMap pipeline sinks should pass size information to downstream sink Reviewed-by: chegar, mduigou Contributed-by: Brian Goetz ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/ReferencePipeline.java Changeset: f758d7c24396 Author: psandoz Date: 2013-06-20 11:15 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f758d7c24396 8016455: Sync stream tests from lambda to tl Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! test/java/util/stream/bootlib/java/util/stream/IntStreamTestDataProvider.java ! test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java + test/java/util/stream/bootlib/java/util/stream/LoggingTestCase.java ! test/java/util/stream/bootlib/java/util/stream/OpTestCase.java ! test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java ! test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java ! test/java/util/stream/boottest/java/util/stream/IntNodeTest.java ! test/java/util/stream/boottest/java/util/stream/LongNodeTest.java ! test/java/util/stream/boottest/java/util/stream/NodeTest.java ! test/java/util/stream/boottest/java/util/stream/UnorderedTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/GroupByOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntSliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntUniqOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/MatchOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ReduceByOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamLinkTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java Changeset: 562f5cf13a9c Author: psandoz Date: 2013-06-20 11:21 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/562f5cf13a9c 8016139: PrimitiveIterator.forEachRemaining Reviewed-by: alanb ! src/share/classes/java/util/PrimitiveIterator.java Changeset: a44bd993ce93 Author: xuelei Date: 2013-06-20 07:48 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a44bd993ce93 8017157: catch more exception in test RejectClientRenego Reviewed-by: vinnie ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java Changeset: 49b78ec058fb Author: mduigou Date: 2013-06-20 07:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/49b78ec058fb 8017088: Map/HashMap.compute() incorrect with key mapping to null value Reviewed-by: dl, dholmes, plevart ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Map.java ! test/java/util/Map/Defaults.java Changeset: 9fa37bd38d4b Author: mduigou Date: 2013-06-20 08:21 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9fa37bd38d4b Merge Changeset: bf2bacf934d1 Author: chegar Date: 2013-06-20 18:53 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/bf2bacf934d1 8014499: MulticastSocket should enable IP_MULTICAST_ALL (lnx) Reviewed-by: alanb, chegar Contributed-by: John Zavgren , Chris Hegarty ! src/solaris/native/java/net/PlainDatagramSocketImpl.c + test/java/net/MulticastSocket/Promiscuous.java Changeset: cd06fc069152 Author: alanb Date: 2013-06-20 19:14 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cd06fc069152 8014377: (dc) DatagramChannel should set IP_MULTICAST_ALL=0 (lnx) Reviewed-by: chegar, jzavgren ! src/solaris/native/sun/nio/ch/Net.c + test/java/nio/channels/DatagramChannel/Promiscuous.java Changeset: 4503e04141f7 Author: weijun Date: 2013-06-21 18:26 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4503e04141f7 8001326: Improve Kerberos caching Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbApRep.java ! src/share/classes/sun/security/krb5/KrbApReq.java + src/share/classes/sun/security/krb5/internal/ReplayCache.java + src/share/classes/sun/security/krb5/internal/rcache/AuthList.java ! src/share/classes/sun/security/krb5/internal/rcache/AuthTime.java + src/share/classes/sun/security/krb5/internal/rcache/AuthTimeWithHash.java - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java + src/share/classes/sun/security/krb5/internal/rcache/DflCache.java + src/share/classes/sun/security/krb5/internal/rcache/MemoryCache.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java + test/java/security/testlibrary/Proc.java ! test/sun/security/krb5/auto/AcceptorSubKey.java + test/sun/security/krb5/auto/BasicProc.java ! test/sun/security/krb5/auto/Context.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/NoneReplayCacheTest.java - test/sun/security/krb5/auto/ReplayCache.java + test/sun/security/krb5/auto/ReplayCacheExpunge.java + test/sun/security/krb5/auto/ReplayCachePrecise.java + test/sun/security/krb5/auto/ReplayCacheTest.java + test/sun/security/krb5/auto/ReplayCacheTestProc.java ! test/sun/security/krb5/ccache/EmptyCC.java Changeset: a88f6f4d279f Author: bpb Date: 2013-06-21 11:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a88f6f4d279f 7192954: Fix Float.parseFloat to round correctly and preserve monotonicity. 4396272: Parsing doubles fails to follow IEEE for largest decimal that should yield 0 7039391: Use Math.ulp in FloatingDecimal Summary: Correct rounding and monotonicity problems in floats and doubles Reviewed-by: bpb, martin Contributed-by: Dmitry Nadezhin , Louis Wasserman ! src/share/classes/sun/misc/FDBigInteger.java ! src/share/classes/sun/misc/FloatingDecimal.java ! test/java/lang/Double/ParseDouble.java ! test/java/lang/Float/ParseFloat.java ! test/sun/misc/FloatingDecimal/TestFDBigInteger.java Changeset: 814759462705 Author: bpb Date: 2013-06-21 11:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/814759462705 7131192: BigInteger.doubleValue() is depressingly slow Summary: In doubleValue() and floatValue() replace converting to String and parsing to Double or Float with direct conversion into IEEE 754 bits. Reviewed-by: bpb, drchase, martin Contributed-by: Louis Wasserman ! src/share/classes/java/math/BigInteger.java + test/java/math/BigInteger/PrimitiveConversionTests.java Changeset: 8b84d557570c Author: naoto Date: 2013-06-21 13:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8b84d557570c 6863624: java/util/Currency/PropertiesTest.sh writable check is incorrect Reviewed-by: alanb ! test/java/util/Currency/PropertiesTest.sh ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh Changeset: cb3f3a05eee3 Author: chegar Date: 2013-06-22 08:14 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/cb3f3a05eee3 8017271: Crash may occur in java.net.DualStackPlainSocketImpl::initIDs due to unchecked values returned from JNI functions Reviewed-by: alanb, khazra ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/windows/native/java/net/DualStackPlainSocketImpl.c Changeset: fd050ba1cf72 Author: arieber Date: 2013-06-22 08:20 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/fd050ba1cf72 7157360: HttpURLConnection: HTTP method DELETE doesn't support output Reviewed-by: chegar ! src/share/classes/sun/net/www/http/PosterOutputStream.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/http/HttpURLConnection/PostOnDelete.java Changeset: 1bf060029a5d Author: weijun Date: 2013-06-24 16:25 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1bf060029a5d 8017453: ReplayCache tests fail on multiple platforms Reviewed-by: xuelei ! test/sun/security/krb5/auto/ReplayCacheExpunge.java ! test/sun/security/krb5/auto/ReplayCacheTestProc.java Changeset: 5f80b8cee601 Author: alanb Date: 2013-06-24 11:26 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/5f80b8cee601 8017477: Remove TimeZone.DisplayNames, no longer used Reviewed-by: okutsu ! src/share/classes/java/util/TimeZone.java Changeset: bb2e67628dc0 Author: naoto Date: 2013-06-24 16:21 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/bb2e67628dc0 8017468: typo in javadoc: " ResourceBunlde " Reviewed-by: okutsu ! src/share/classes/java/util/spi/LocaleServiceProvider.java Changeset: eabcb85fcabc Author: bpb Date: 2013-06-24 14:17 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/eabcb85fcabc 6469160: (fmt) general (%g) formatting of zero (0.0) with precision 0 or 1 throws ArrayOutOfBoundsException Summary: For zero value ensure than an unpadded zero character is passed to Formatter.addZeros() Reviewed-by: iris, darcy Contributed-by: Brian Burkhalter ! src/share/classes/java/util/Formatter.java ! src/share/classes/sun/misc/FloatingDecimal.java ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/Basic.java ! test/java/util/Formatter/BasicBigDecimal.java ! test/java/util/Formatter/BasicDouble.java ! test/java/util/Formatter/BasicDoubleObject.java ! test/java/util/Formatter/BasicFloat.java ! test/java/util/Formatter/BasicFloatObject.java Changeset: 82e7682c17e2 Author: darcy Date: 2013-06-24 23:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/82e7682c17e2 8017550: Fix doclint issues in java.lang and subpackages Reviewed-by: alanb, chegar ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/Runtime.java ! src/share/classes/java/lang/Short.java ! src/share/classes/java/lang/StrictMath.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/annotation/Annotation.java ! src/share/classes/java/lang/annotation/Repeatable.java ! src/share/classes/java/lang/annotation/Retention.java ! src/share/classes/java/lang/annotation/Target.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/java/lang/reflect/TypeVariable.java Changeset: 4a4d910e1504 Author: alanb Date: 2013-06-25 13:53 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4a4d910e1504 8017570: jfr.jar should not be in compact3 (for now) Reviewed-by: erikj ! makefiles/profile-includes.txt Changeset: 01fcca3d2b8c Author: bpb Date: 2013-06-20 12:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/01fcca3d2b8c 4641897: Faster string conversion of large integers Summary: Accelerate conversion to string by means of Schoenhage recursive base conversion. Reviewed-by: bpb, alanb Contributed-by: Alan Eliasen ! src/share/classes/java/math/BigInteger.java ! test/java/math/BigInteger/BigIntegerTest.java Changeset: 89631a384ee6 Author: weijun Date: 2013-06-25 21:51 +0800 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/89631a384ee6 8016051: Possible ClassCastException in KdcComm Reviewed-by: weijun Contributed-by: Artem Smotrakov ! src/share/classes/sun/security/krb5/KdcComm.java Changeset: ac61efd8c593 Author: shade Date: 2013-06-25 20:06 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ac61efd8c593 8014233: java.lang.Thread should have @Contended on TLR fields Summary: add the @Contended over three TLR fields. Reviewed-by: psandoz, chegar, dholmes, dl ! src/share/classes/java/lang/Thread.java Changeset: 757290440a2f Author: juh Date: 2013-06-25 14:31 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/757290440a2f 8017325: Cleanup of the javadoc tag in java.security.cert Summary: Convert javadoc ... and ... tags to {@code ...} Reviewed-by: darcy ! src/share/classes/java/security/cert/CRLException.java ! src/share/classes/java/security/cert/CRLSelector.java ! src/share/classes/java/security/cert/CertPath.java ! src/share/classes/java/security/cert/CertPathBuilder.java ! src/share/classes/java/security/cert/CertPathBuilderException.java ! src/share/classes/java/security/cert/CertPathBuilderResult.java ! src/share/classes/java/security/cert/CertPathBuilderSpi.java ! src/share/classes/java/security/cert/CertPathParameters.java ! src/share/classes/java/security/cert/CertPathValidator.java ! src/share/classes/java/security/cert/CertPathValidatorException.java ! src/share/classes/java/security/cert/CertPathValidatorResult.java ! src/share/classes/java/security/cert/CertPathValidatorSpi.java ! src/share/classes/java/security/cert/CertSelector.java ! src/share/classes/java/security/cert/CertStore.java ! src/share/classes/java/security/cert/CertStoreException.java ! src/share/classes/java/security/cert/CertStoreParameters.java ! src/share/classes/java/security/cert/CertStoreSpi.java ! src/share/classes/java/security/cert/Certificate.java ! src/share/classes/java/security/cert/CertificateEncodingException.java ! src/share/classes/java/security/cert/CertificateException.java ! src/share/classes/java/security/cert/CertificateExpiredException.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/CertificateFactorySpi.java ! src/share/classes/java/security/cert/CertificateNotYetValidException.java ! src/share/classes/java/security/cert/CertificateParsingException.java ! src/share/classes/java/security/cert/CertificateRevokedException.java ! src/share/classes/java/security/cert/CollectionCertStoreParameters.java ! src/share/classes/java/security/cert/Extension.java ! src/share/classes/java/security/cert/LDAPCertStoreParameters.java ! src/share/classes/java/security/cert/PKIXBuilderParameters.java ! src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java ! src/share/classes/java/security/cert/PKIXCertPathChecker.java ! src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java ! src/share/classes/java/security/cert/PKIXParameters.java ! src/share/classes/java/security/cert/PKIXReason.java ! src/share/classes/java/security/cert/PolicyNode.java ! src/share/classes/java/security/cert/PolicyQualifierInfo.java ! src/share/classes/java/security/cert/TrustAnchor.java ! src/share/classes/java/security/cert/X509CRL.java ! src/share/classes/java/security/cert/X509CRLEntry.java ! src/share/classes/java/security/cert/X509CRLSelector.java ! src/share/classes/java/security/cert/X509CertSelector.java ! src/share/classes/java/security/cert/X509Certificate.java ! src/share/classes/java/security/cert/X509Extension.java Changeset: 3700bb58c9a2 Author: juh Date: 2013-06-25 14:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3700bb58c9a2 8017326: Cleanup of the javadoc tag in java.security.spec Summary: Convert javadoc and tags to {@code ...} Reviewed-by: darcy ! src/share/classes/java/security/spec/DSAGenParameterSpec.java ! src/share/classes/java/security/spec/DSAParameterSpec.java ! src/share/classes/java/security/spec/DSAPrivateKeySpec.java ! src/share/classes/java/security/spec/DSAPublicKeySpec.java ! src/share/classes/java/security/spec/ECFieldF2m.java ! src/share/classes/java/security/spec/ECFieldFp.java ! src/share/classes/java/security/spec/ECGenParameterSpec.java ! src/share/classes/java/security/spec/ECParameterSpec.java ! src/share/classes/java/security/spec/ECPoint.java ! src/share/classes/java/security/spec/ECPrivateKeySpec.java ! src/share/classes/java/security/spec/ECPublicKeySpec.java ! src/share/classes/java/security/spec/EllipticCurve.java ! src/share/classes/java/security/spec/EncodedKeySpec.java ! src/share/classes/java/security/spec/InvalidKeySpecException.java ! src/share/classes/java/security/spec/KeySpec.java ! src/share/classes/java/security/spec/MGF1ParameterSpec.java ! src/share/classes/java/security/spec/PKCS8EncodedKeySpec.java ! src/share/classes/java/security/spec/PSSParameterSpec.java ! src/share/classes/java/security/spec/RSAKeyGenParameterSpec.java ! src/share/classes/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java ! src/share/classes/java/security/spec/RSAOtherPrimeInfo.java ! src/share/classes/java/security/spec/RSAPrivateCrtKeySpec.java ! src/share/classes/java/security/spec/X509EncodedKeySpec.java Changeset: 510035b7bbbb Author: yhuang Date: 2013-06-25 21:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/510035b7bbbb 8013836: getFirstDayOfWeek reports wrong day for pt-BR locale Reviewed-by: naoto + src/share/classes/sun/util/resources/pt/CalendarData_pt_BR.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 0822bcddbd4f Author: xuelei Date: 2013-06-26 06:32 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/0822bcddbd4f 8017049: rename property jdk.tls.rejectClientInitializedRenego Reviewed-by: vinnie, wetmore, mullan ! src/share/classes/sun/security/ssl/Handshaker.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java Changeset: e83cdd58f1cf Author: chegar Date: 2013-06-26 15:30 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e83cdd58f1cf 8012647: Add Arrays.parallelPrefix (prefix sum, scan, cumulative sum) Reviewed-by: chegar, alanb, psandoz Contributed-by: Doug Lea
, Tristan Yan , Chris Hegarty + src/share/classes/java/util/ArrayPrefixHelpers.java ! src/share/classes/java/util/Arrays.java + test/java/util/Arrays/ParallelPrefix.java Changeset: 71059bca036a Author: rfield Date: 2013-06-26 07:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/71059bca036a 8016761: Lambda metafactory - incorrect type conversion of constructor method handle Reviewed-by: jrose ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java + test/java/lang/invoke/lambda/LambdaConstructorMethodHandleUnbox.java Changeset: 336e5a862013 Author: naoto Date: 2013-06-26 11:21 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/336e5a862013 8017322: java/util/Currency/PropertiesTest.sh should run exclusively Reviewed-by: alanb ! test/TEST.ROOT Changeset: 1fda8fa7ae97 Author: darcy Date: 2013-06-26 13:24 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1fda8fa7ae97 7018139: Fix HTML accessibility and doclint issues in java.math Reviewed-by: lancea, bpb ! src/share/classes/java/math/BigDecimal.java ! src/share/classes/java/math/RoundingMode.java Changeset: a5aa57eb85b6 Author: darcy Date: 2013-06-26 19:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a5aa57eb85b6 8019223: Fix doclint warnings in java.rmi.server Reviewed-by: smarks ! src/share/classes/java/rmi/server/RMIClassLoader.java Changeset: ac65905883a7 Author: darcy Date: 2013-06-26 22:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ac65905883a7 8019228: Fix doclint issues in java.util.zip Reviewed-by: sherman, mchung ! src/share/classes/java/util/zip/Deflater.java ! src/share/classes/java/util/zip/Inflater.java Changeset: 370e7beff8a0 Author: wetmore Date: 2013-06-27 10:19 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/370e7beff8a0 8019227: JDK-8010325 broke the old build Reviewed-by: alanb, chegar ! make/java/java/FILES_java.gmk Changeset: 4e69a7dfbeac Author: chegar Date: 2013-06-27 10:21 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/4e69a7dfbeac Merge Changeset: 1c31082f0a51 Author: darcy Date: 2013-06-27 11:06 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1c31082f0a51 8019304: Fix doclint issues in java.util.prefs Reviewed-by: lancea ! src/share/classes/java/util/prefs/AbstractPreferences.java ! src/share/classes/java/util/prefs/PreferencesFactory.java Changeset: b9ba04dc210f Author: lancea Date: 2013-06-27 15:07 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b9ba04dc210f 8017471: Fix JDBC -Xdoclint public errors Reviewed-by: darcy ! src/share/classes/java/sql/Blob.java ! src/share/classes/java/sql/CallableStatement.java ! src/share/classes/java/sql/Clob.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/Driver.java ! src/share/classes/java/sql/DriverAction.java ! src/share/classes/java/sql/NClob.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/SQLInput.java ! src/share/classes/java/sql/SQLPermission.java ! src/share/classes/java/sql/SQLXML.java ! src/share/classes/java/sql/Wrapper.java ! src/share/classes/javax/sql/CommonDataSource.java ! src/share/classes/javax/sql/ConnectionPoolDataSource.java ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/RowSet.java ! src/share/classes/javax/sql/XADataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java ! src/share/classes/javax/sql/rowset/CachedRowSet.java ! src/share/classes/javax/sql/rowset/FilteredRowSet.java ! src/share/classes/javax/sql/rowset/JdbcRowSet.java ! src/share/classes/javax/sql/rowset/Joinable.java ! src/share/classes/javax/sql/rowset/Predicate.java ! src/share/classes/javax/sql/rowset/RowSetProvider.java ! src/share/classes/javax/sql/rowset/RowSetWarning.java ! src/share/classes/javax/sql/rowset/WebRowSet.java ! src/share/classes/javax/sql/rowset/package.html ! src/share/classes/javax/sql/rowset/serial/SerialArray.java ! src/share/classes/javax/sql/rowset/serial/SerialBlob.java ! src/share/classes/javax/sql/rowset/serial/SerialClob.java ! src/share/classes/javax/sql/rowset/serial/SerialDatalink.java ! src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java ! src/share/classes/javax/sql/rowset/serial/SerialRef.java ! src/share/classes/javax/sql/rowset/serial/SerialStruct.java ! src/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/share/classes/javax/sql/rowset/spi/SyncResolver.java Changeset: b8f16cb2d95b Author: darcy Date: 2013-06-27 12:24 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b8f16cb2d95b 8019315: Fix doclint issues in java.util.logging Reviewed-by: lancea ! src/share/classes/java/util/logging/Handler.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/LogRecord.java Changeset: 6729f7ef94cd Author: smarks Date: 2013-06-27 13:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/6729f7ef94cd 8019224: add exception chaining to RMI CGIHandler Reviewed-by: darcy ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java Changeset: 1099fe14fb65 Author: darcy Date: 2013-06-27 14:11 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1099fe14fb65 8019320: Fix doclint issues in javax.script Reviewed-by: lancea ! src/share/classes/javax/script/Invocable.java ! src/share/classes/javax/script/ScriptContext.java ! src/share/classes/javax/script/ScriptEngineFactory.java ! src/share/classes/javax/script/SimpleScriptContext.java Changeset: e34e3ddb3cd8 Author: naoto Date: 2013-06-27 14:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/e34e3ddb3cd8 6609431: (rb) ResourceBundle.getString() returns incorrect value Reviewed-by: okutsu, sherman ! src/share/classes/java/util/Properties.java + test/java/util/Properties/Bug6609431.java + test/java/util/Properties/Bug6609431.properties Changeset: 29bbbb136bc5 Author: darcy Date: 2013-06-27 19:02 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/29bbbb136bc5 8019357: Fix doclint warnings in java.lang.invoke Reviewed-by: jrose ! src/share/classes/java/lang/invoke/LambdaConversionException.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MutableCallSite.java ! src/share/classes/java/lang/invoke/SerializedLambda.java ! src/share/classes/java/lang/invoke/package-info.java Changeset: 60d1994f63f7 Author: xuelei Date: 2013-06-27 19:22 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/60d1994f63f7 8019359: To comment why not use no_renegotiation to reject client initiated renegotiation Reviewed-by: wetmore ! src/share/classes/sun/security/ssl/ServerHandshaker.java Changeset: c1df54fd19b2 Author: henryjen Date: 2013-06-11 13:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c1df54fd19b2 8009736: Comparator API cleanup Reviewed-by: psandoz, briangoetz, mduigou, plevart ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Comparator.java ! src/share/classes/java/util/Comparators.java ! src/share/classes/java/util/Map.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/stream/Collectors.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/SortedOps.java ! test/java/nio/file/Files/StreamTest.java ! test/java/util/Collection/ListDefaults.java + test/java/util/Comparator/BasicTest.java + test/java/util/Comparator/TypeTest.java - test/java/util/Comparators/BasicTest.java + test/java/util/Map/EntryComparators.java + test/java/util/function/BinaryOperator/BasicTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java ! test/sun/misc/JavaLangAccess/NewUnsafeString.java Changeset: 28b71c97a72d Author: psandoz Date: 2013-06-28 10:29 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/28b71c97a72d 8012987: Optimizations for Stream.limit/substream Reviewed-by: mduigou Contributed-by: Brian Goetz , Paul Sandoz ! src/share/classes/java/util/stream/AbstractPipeline.java ! src/share/classes/java/util/stream/AbstractTask.java ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/ForEachOps.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/PipelineHelper.java ! src/share/classes/java/util/stream/SliceOps.java ! src/share/classes/java/util/stream/Stream.java ! src/share/classes/java/util/stream/StreamSpliterators.java ! test/java/util/stream/bootlib/java/util/stream/OpTestCase.java ! test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java + test/java/util/stream/boottest/java/util/stream/SliceSpliteratorTest.java ! test/java/util/stream/boottest/java/util/stream/StreamFlagsTest.java ! test/java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest.java Changeset: 19a6d2d701d9 Author: sla Date: 2013-06-26 19:15 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/19a6d2d701d9 8019155: Update makefiles with correct jfr packages Reviewed-by: mgronlun, erikj ! make/common/Release.gmk ! makefiles/CreateJars.gmk Changeset: 04378a645944 Author: alanb Date: 2013-06-28 16:10 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/04378a645944 8019380: doclint warnings in java.nio, java.nio.file.**, java.nio.channels.** Reviewed-by: chegar ! src/share/classes/java/nio/Buffer.java ! src/share/classes/java/nio/MappedByteBuffer.java ! src/share/classes/java/nio/X-Buffer.java.template ! src/share/classes/java/nio/channels/AsynchronousByteChannel.java ! src/share/classes/java/nio/channels/AsynchronousChannel.java ! src/share/classes/java/nio/channels/AsynchronousChannelGroup.java ! src/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/MulticastChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java ! src/share/classes/java/nio/channels/Pipe.java ! src/share/classes/java/nio/channels/SelectableChannel.java ! src/share/classes/java/nio/channels/SelectionKey.java ! src/share/classes/java/nio/channels/Selector.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java ! src/share/classes/java/nio/channels/spi/AbstractSelector.java ! src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/java/nio/charset/CoderResult.java ! src/share/classes/java/nio/charset/spi/CharsetProvider.java ! src/share/classes/java/nio/file/FileStore.java ! src/share/classes/java/nio/file/FileSystem.java ! src/share/classes/java/nio/file/FileSystems.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/WatchEvent.java ! src/share/classes/java/nio/file/WatchService.java ! src/share/classes/java/nio/file/attribute/AclEntry.java ! src/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/share/classes/java/nio/file/attribute/AttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributes.java ! src/share/classes/java/nio/file/attribute/DosFileAttributeView.java ! src/share/classes/java/nio/file/attribute/FileAttribute.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/share/classes/java/nio/file/spi/FileSystemProvider.java ! src/share/classes/java/sql/SQLInput.java Changeset: 1919c226b427 Author: dl Date: 2013-06-28 12:10 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/1919c226b427 8017739: ReentrantReadWriteLock is confused by the Threads with reused IDs Reviewed-by: chegar ! src/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java Changeset: 0e24065a75db Author: dl Date: 2013-06-28 12:12 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/0e24065a75db 8019377: Sync j.u.c locks and atomic from 166 to tl Reviewed-by: chegar ! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicMarkableReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java ! src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/share/classes/java/util/concurrent/atomic/DoubleAdder.java ! src/share/classes/java/util/concurrent/atomic/LongAccumulator.java ! src/share/classes/java/util/concurrent/atomic/Striped64.java ! src/share/classes/java/util/concurrent/atomic/package-info.java ! src/share/classes/java/util/concurrent/locks/AbstractOwnableSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java ! src/share/classes/java/util/concurrent/locks/Condition.java ! src/share/classes/java/util/concurrent/locks/Lock.java ! src/share/classes/java/util/concurrent/locks/LockSupport.java ! src/share/classes/java/util/concurrent/locks/ReadWriteLock.java ! src/share/classes/java/util/concurrent/locks/ReentrantLock.java ! src/share/classes/java/util/concurrent/locks/StampedLock.java Changeset: ff0242ed08db Author: jzavgren Date: 2013-06-28 16:38 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/ff0242ed08db 8015799: HttpURLConnection.getHeaderFields() throws IllegalArgumentException Reviewed-by: chegar, dsamersoff, khazra ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/java/net/CookieHandler/EmptyCookieHeader.java Changeset: 52b4527d3fc7 Author: chegar Date: 2013-06-28 16:39 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/52b4527d3fc7 Merge Changeset: 389f59e6288f Author: juh Date: 2013-06-28 10:48 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/389f59e6288f 8019360: Cleanup of the javadoc tag in java.security.* Summary: Convert to {@code ...} tags. convert package.html to package-info.java. Reviewed-by: darcy ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AccessControlException.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/security/AlgorithmParameterGenerator.java ! src/share/classes/java/security/AlgorithmParameterGeneratorSpi.java ! src/share/classes/java/security/AlgorithmParameters.java ! src/share/classes/java/security/AlgorithmParametersSpi.java ! src/share/classes/java/security/AllPermission.java ! src/share/classes/java/security/AuthProvider.java ! src/share/classes/java/security/BasicPermission.java ! src/share/classes/java/security/Certificate.java ! src/share/classes/java/security/CodeSigner.java ! src/share/classes/java/security/CodeSource.java ! src/share/classes/java/security/DigestException.java ! src/share/classes/java/security/DigestInputStream.java ! src/share/classes/java/security/DigestOutputStream.java ! src/share/classes/java/security/DomainCombiner.java ! src/share/classes/java/security/GeneralSecurityException.java ! src/share/classes/java/security/Guard.java ! src/share/classes/java/security/GuardedObject.java ! src/share/classes/java/security/Identity.java ! src/share/classes/java/security/IdentityScope.java ! src/share/classes/java/security/InvalidAlgorithmParameterException.java ! src/share/classes/java/security/InvalidKeyException.java ! src/share/classes/java/security/Key.java ! src/share/classes/java/security/KeyException.java ! src/share/classes/java/security/KeyFactory.java ! src/share/classes/java/security/KeyFactorySpi.java ! src/share/classes/java/security/KeyManagementException.java ! src/share/classes/java/security/KeyPair.java ! src/share/classes/java/security/KeyPairGenerator.java ! src/share/classes/java/security/KeyPairGeneratorSpi.java ! src/share/classes/java/security/KeyRep.java ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/KeyStoreException.java ! src/share/classes/java/security/KeyStoreSpi.java ! src/share/classes/java/security/MessageDigest.java ! src/share/classes/java/security/MessageDigestSpi.java ! src/share/classes/java/security/NoSuchAlgorithmException.java ! src/share/classes/java/security/Permission.java ! src/share/classes/java/security/PermissionCollection.java ! src/share/classes/java/security/Permissions.java ! src/share/classes/java/security/Policy.java ! src/share/classes/java/security/PolicySpi.java ! src/share/classes/java/security/PrivilegedAction.java ! src/share/classes/java/security/PrivilegedActionException.java ! src/share/classes/java/security/PrivilegedExceptionAction.java ! src/share/classes/java/security/ProtectionDomain.java ! src/share/classes/java/security/Provider.java ! src/share/classes/java/security/ProviderException.java ! src/share/classes/java/security/PublicKey.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/java/security/SecureRandom.java ! src/share/classes/java/security/SecureRandomSpi.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/SecurityPermission.java ! src/share/classes/java/security/Signature.java ! src/share/classes/java/security/SignatureException.java ! src/share/classes/java/security/SignatureSpi.java ! src/share/classes/java/security/SignedObject.java ! src/share/classes/java/security/Signer.java ! src/share/classes/java/security/UnresolvedPermission.java ! src/share/classes/java/security/acl/Acl.java ! src/share/classes/java/security/acl/AclEntry.java ! src/share/classes/java/security/acl/Group.java ! src/share/classes/java/security/acl/Owner.java + src/share/classes/java/security/acl/package-info.java - src/share/classes/java/security/acl/package.html + src/share/classes/java/security/cert/package-info.java - src/share/classes/java/security/cert/package.html ! src/share/classes/java/security/interfaces/DSAKeyPairGenerator.java ! src/share/classes/java/security/interfaces/DSAParams.java ! src/share/classes/java/security/interfaces/DSAPrivateKey.java ! src/share/classes/java/security/interfaces/DSAPublicKey.java + src/share/classes/java/security/interfaces/package-info.java - src/share/classes/java/security/interfaces/package.html + src/share/classes/java/security/package-info.java - src/share/classes/java/security/package.html + src/share/classes/java/security/spec/package-info.java - src/share/classes/java/security/spec/package.html Changeset: 9d175c6cb527 Author: darcy Date: 2013-06-28 11:35 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9d175c6cb527 8019407: Fix doclint issues in javax.naming.* Reviewed-by: lancea ! src/share/classes/javax/naming/CompositeName.java ! src/share/classes/javax/naming/CompoundName.java ! src/share/classes/javax/naming/Context.java ! src/share/classes/javax/naming/InitialContext.java ! src/share/classes/javax/naming/RefAddr.java ! src/share/classes/javax/naming/ReferralException.java ! src/share/classes/javax/naming/directory/DirContext.java ! src/share/classes/javax/naming/event/EventContext.java ! src/share/classes/javax/naming/ldap/ControlFactory.java ! src/share/classes/javax/naming/ldap/InitialLdapContext.java ! src/share/classes/javax/naming/ldap/LdapContext.java Changeset: 389b8739a74e Author: alanb Date: 2013-06-28 19:45 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/389b8739a74e 8019384: jps and jcmd tests fail when there is a process started with a .war file Reviewed-by: dcubed, sla, mchung ! test/sun/tools/jcmd/jcmd_Output1.awk ! test/sun/tools/jps/jps-l_Output1.awk ! test/sun/tools/jps/jps_Output1.awk Changeset: b4d36f3717b8 Author: lana Date: 2013-06-28 19:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b4d36f3717b8 Merge Changeset: a4eb59bffb60 Author: lancea Date: 2013-06-29 06:12 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/a4eb59bffb60 8019286: Fix javadoc typo in ResultSet.next Reviewed-by: darcy, mchung ! src/share/classes/java/sql/ResultSet.java Changeset: bf650fee4983 Author: darcy Date: 2013-06-30 16:02 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/bf650fee4983 8019466: Fix doclint issues in java.util.function Reviewed-by: briangoetz ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/UnaryOperator.java Changeset: 9eaeb1a0aa46 Author: darcy Date: 2013-06-30 17:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/9eaeb1a0aa46 8019467: Fix doclint issues in java.util.jar.Pack200 Reviewed-by: lancea, ksrini ! src/share/classes/java/util/jar/Pack200.java Changeset: 3aa541b50a64 Author: dfuchs Date: 2013-07-01 11:13 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3aa541b50a64 8014045: test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java failing intermittently Summary: this test was failing because it didn't take into account the fact that Loggers could be garbage collected. Reviewed-by: mchung ! test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java Changeset: dfb37cc30a67 Author: vinnie Date: 2013-07-01 14:39 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/dfb37cc30a67 8019259: Failover to CRL checking does not happen if wrong OCSP responder URL is set Reviewed-by: xuelei ! src/share/classes/sun/security/provider/certpath/RevocationChecker.java ! test/java/security/cert/CertPathValidator/OCSP/FailoverToCRL.java Changeset: c8cf01de8fa8 Author: bpb Date: 2013-07-01 11:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c8cf01de8fa8 8017540: Improve multi-threaded contention behavior of radix conversion cache Summary: Replace array of ArrayList of BigIntegers with a volatile two-dimensional BigInteger array eliminate the synchronization of getRadixConversionCache() Reviewed-by: plevart, shade, bpb, alanb Contributed-by: Peter Levart , Dmitry Nadezhin , Aleksey Shipilev ! src/share/classes/java/math/BigInteger.java Changeset: 3736ad2636aa Author: darcy Date: 2013-07-01 13:29 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/3736ad2636aa 8019527: Fix doclint issues in java.lang.instrument Reviewed-by: lancea, alanb ! src/share/classes/java/lang/instrument/Instrumentation.java Changeset: 8e5376324e4b Author: darcy Date: 2013-07-01 13:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/8e5376324e4b 8019529: Fix doclint issues in java.util.spi Reviewed-by: lancea ! src/share/classes/java/util/spi/LocaleServiceProvider.java Changeset: 5427f7316633 Author: darcy Date: 2013-07-01 14:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/5427f7316633 8019535: Fix doclint issues in java.time.format Reviewed-by: lancea, rriggs ! src/share/classes/java/time/format/DateTimeFormatter.java Changeset: 17f44b2dde41 Author: juh Date: 2013-07-01 17:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/17f44b2dde41 8019539: Fix doclint errors in java.security and its subpackages Reviewed-by: darcy ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/Provider.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/cert/X509CRL.java ! src/share/classes/java/security/cert/X509CRLEntry.java ! src/share/classes/java/security/cert/X509Certificate.java Changeset: 020f023f87d1 Author: dfuchs Date: 2013-07-02 11:30 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/020f023f87d1 8017174: NPE when using Logger.getAnonymousLogger or LogManager.getLogManager().getLogger Summary: This patch makes sure that LoggerContext instances created for applets have a root and global logger. Reviewed-by: mchung ! src/share/classes/java/util/logging/LogManager.java ! test/java/util/logging/LogManagerInstanceTest.java + test/java/util/logging/TestAppletLoggerContext.java Changeset: b1fffbbdf58c Author: ksrini Date: 2013-07-02 05:28 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/b1fffbbdf58c 8017463: [TEST_BUG] 2 tests from tools/pack200/ remain about 1 GB of data in work directory after execution Reviewed-by: mchung ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/BandIntegrity.java ! test/tools/pack200/CommandLineTests.java ! test/tools/pack200/InstructionTests.java ! test/tools/pack200/Pack200Props.java ! test/tools/pack200/Pack200Test.java ! test/tools/pack200/PackageVersionTest.java ! test/tools/pack200/RepackTest.java ! test/tools/pack200/T7007157.java ! test/tools/pack200/TestExceptions.java ! test/tools/pack200/TimeStamp.java ! test/tools/pack200/UnpackerMemoryTest.java ! test/tools/pack200/Utils.java ! test/tools/pack200/typeannos/TestTypeAnnotations.java Changeset: 70bff2d12af0 Author: dfuchs Date: 2013-07-02 19:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/70bff2d12af0 7184195: java.util.logging.Logger.getGlobal().info() doesn't log without configuration Summary: Due to subtle synchronization issues between LogManager & Logger class initialization the global logger doesn't have its 'manager' field initialized until the LogManager is initialized. This fix will ensure that the global logger has its 'manager' field set when getGlobal() is called. Reviewed-by: mchung, plevart ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/Logger/getGlobal/TestGetGlobal.java + test/java/util/logging/Logger/getGlobal/TestGetGlobalByName.java + test/java/util/logging/Logger/getGlobal/TestGetGlobalConcurrent.java + test/java/util/logging/Logger/getGlobal/logging.properties + test/java/util/logging/Logger/getGlobal/policy + test/java/util/logging/Logger/getGlobal/testgetglobal/BadLogManagerImpl.java + test/java/util/logging/Logger/getGlobal/testgetglobal/DummyLogManagerImpl.java + test/java/util/logging/Logger/getGlobal/testgetglobal/HandlerImpl.java + test/java/util/logging/Logger/getGlobal/testgetglobal/LogManagerImpl1.java + test/java/util/logging/Logger/getGlobal/testgetglobal/LogManagerImpl2.java + test/java/util/logging/Logger/getGlobal/testgetglobal/LogManagerImpl3.java Changeset: 11c074904fce Author: lana Date: 2013-07-02 15:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/11c074904fce Merge - src/share/classes/java/security/acl/package.html - src/share/classes/java/security/cert/package.html - src/share/classes/java/security/interfaces/package.html - src/share/classes/java/security/package.html - src/share/classes/java/security/spec/package.html - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java - test/java/util/Comparators/BasicTest.java - test/sun/security/krb5/auto/ReplayCache.java Changeset: 974b94f944ce Author: lana Date: 2013-07-03 19:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/974b94f944ce Merge - src/share/classes/java/security/acl/package.html - src/share/classes/java/security/cert/package.html - src/share/classes/java/security/interfaces/package.html - src/share/classes/java/security/package.html - src/share/classes/java/security/spec/package.html - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java - test/java/util/Comparators/BasicTest.java - test/sun/security/krb5/auto/ReplayCache.java Changeset: f2342dedf04a Author: lana Date: 2013-07-05 11:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/f2342dedf04a Merge Changeset: 2c26ccf0a85b Author: tbell Date: 2013-07-08 07:20 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/2c26ccf0a85b 8012925: [parfait] Missing return value in jdk/src/macosx/native/sun/awt/AWTEvent.m Reviewed-by: katleman, leonidr Contributed-by: petr.pchelko at oracle.com ! src/macosx/native/sun/awt/AWTEvent.m Changeset: c4908732fef5 Author: katleman Date: 2013-07-08 14:29 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/c4908732fef5 Merge Changeset: 758c21301545 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/758c21301545 Added tag jdk8-b98 for changeset c4908732fef5 ! .hgtags Changeset: be0647c2f89c Author: kvn Date: 2013-07-11 12:31 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/be0647c2f89c Merge ! makefiles/CompileNativeLibraries.gmk - src/share/classes/java/security/acl/package.html - src/share/classes/java/security/cert/package.html - src/share/classes/java/security/interfaces/package.html - src/share/classes/java/security/package.html - src/share/classes/java/security/spec/package.html - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java - test/java/util/Comparators/BasicTest.java - test/sun/security/krb5/auto/ReplayCache.java Changeset: 307bf50d3768 Author: goetz Date: 2013-07-16 20:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/jdk/rev/307bf50d3768 Merge ! make/common/Release.gmk ! make/sun/awt/Makefile ! make/sun/font/Makefile ! make/sun/xawt/Makefile - make/sun/xawt/ToBin.java ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk - makefiles/sun/awt/X11/ToBin.java - src/share/classes/java/security/acl/package.html - src/share/classes/java/security/cert/package.html - src/share/classes/java/security/interfaces/package.html - src/share/classes/java/security/package.html - src/share/classes/java/security/spec/package.html - src/share/classes/sun/misc/FDBigInt.java - src/share/classes/sun/misc/Hashing.java - src/share/classes/sun/security/krb5/internal/rcache/CacheTable.java - src/share/classes/sun/security/krb5/internal/rcache/ReplayCache.java ! src/share/native/sun/font/layout/KernTable.cpp - src/solaris/classes/sun/awt/X11/XIconInfo.java - src/solaris/classes/sun/awt/X11/security-icon-bw16.png - src/solaris/classes/sun/awt/X11/security-icon-bw24.png - src/solaris/classes/sun/awt/X11/security-icon-bw32.png - src/solaris/classes/sun/awt/X11/security-icon-bw48.png - src/solaris/classes/sun/awt/X11/security-icon-interim16.png - src/solaris/classes/sun/awt/X11/security-icon-interim24.png - src/solaris/classes/sun/awt/X11/security-icon-interim32.png - src/solaris/classes/sun/awt/X11/security-icon-interim48.png - src/solaris/classes/sun/awt/X11/security-icon-yellow16.png - src/solaris/classes/sun/awt/X11/security-icon-yellow24.png - src/solaris/classes/sun/awt/X11/security-icon-yellow32.png - src/solaris/classes/sun/awt/X11/security-icon-yellow48.png ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java ! src/solaris/native/sun/awt/fontpath.c ! src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c ! src/solaris/native/sun/nio/ch/Net.c - test/java/lang/invoke/7196190/MHProxyTest.java - test/java/util/Comparators/BasicTest.java ! test/java/util/Currency/PropertiesTest.sh - test/sun/misc/Hashing.java - test/sun/security/krb5/auto/ReplayCache.java ! test/sun/security/tools/policytool/Alias.sh ! test/sun/security/tools/policytool/ChangeUI.sh ! test/sun/security/tools/policytool/OpenPolicy.sh ! test/sun/security/tools/policytool/SaveAs.sh ! test/sun/security/tools/policytool/UpdatePermissions.sh ! test/sun/security/tools/policytool/UsePolicy.sh ! test/sun/security/tools/policytool/i18n.sh From goetz.lindenmaier at sap.com Tue Jul 16 12:35:25 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 16 Jul 2013 19:35:25 +0000 Subject: hg: ppc-aix-port/jdk8/hotspot: 133 new changesets Message-ID: <20130716194002.0B12D48117@hg.openjdk.java.net> Changeset: f75faf51e8c4 Author: hseigel Date: 2013-03-07 11:49 -0500 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f75faf51e8c4 7158805: Better rewriting of nested subroutine calls Reviewed-by: mschoene, coleenp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/oops/generateOopMap.cpp Changeset: b295e132102d Author: mullan Date: 2013-04-05 10:18 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b295e132102d 8001330: Improve on checking order Reviewed-by: acorn, hawtin ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/prims/jvm.cpp Changeset: be131aa5a529 Author: mullan Date: 2013-04-22 08:33 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/be131aa5a529 8011896: Add check for invalid offset for new AccessControlContext isAuthorized field Reviewed-by: acorn ! src/share/vm/classfile/javaClasses.cpp Changeset: 3463b5b373f7 Author: chegar Date: 2013-04-24 10:17 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/3463b5b373f7 Merge Changeset: f822ecf621ce Author: chegar Date: 2013-04-28 08:15 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f822ecf621ce Merge Changeset: 4b52137b07c9 Author: chegar Date: 2013-05-01 14:11 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/4b52137b07c9 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp Changeset: 7ee0d5c53c78 Author: chegar Date: 2013-05-08 15:25 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/7ee0d5c53c78 Merge - agent/doc/c2replay.html ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp Changeset: cb92413c6934 Author: chegar Date: 2013-05-16 11:44 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/cb92413c6934 Merge ! src/share/vm/classfile/vmSymbols.hpp Changeset: ce9ecec70f99 Author: chegar Date: 2013-05-23 12:44 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/ce9ecec70f99 Merge - make/bsd/makefiles/launcher.make - make/linux/makefiles/launcher.make - make/solaris/makefiles/launcher.make - make/windows/makefiles/launcher.make - src/os/posix/launcher/java_md.c - src/os/posix/launcher/java_md.h - src/os/posix/launcher/launcher.script - src/os/windows/launcher/java_md.c - src/os/windows/launcher/java_md.h - src/share/tools/launcher/java.c - src/share/tools/launcher/java.h - src/share/tools/launcher/jli_util.c - src/share/tools/launcher/jli_util.h - src/share/tools/launcher/wildcard.c - src/share/tools/launcher/wildcard.h ! src/share/vm/classfile/vmSymbols.hpp - src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/prims/jvm.cpp Changeset: 0861193d358a Author: chegar Date: 2013-05-31 10:27 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/0861193d358a Merge - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/amd64/AMD64CFrame.java - agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/basic/x86/X86CFrame.java - test/runtime/7158804/Test7158804.sh - test/runtime/8003985/Test8003985.java Changeset: eaf3742822ec Author: chegar Date: 2013-06-17 11:17 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/eaf3742822ec Merge ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/prims/jvm.cpp Changeset: 3a0774193f71 Author: chegar Date: 2013-06-19 11:02 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/3a0774193f71 Merge ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/prims/jvm.cpp - src/share/vm/trace/traceEventTypes.hpp Changeset: 38e483cb1bcd Author: lana Date: 2013-06-24 14:27 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/38e483cb1bcd Merge Changeset: f9709e27a876 Author: amurillo Date: 2013-06-14 07:27 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f9709e27a876 8016567: new hotspot build - hs25-b38 Reviewed-by: jcoomes ! make/hotspot_version Changeset: a837fa3d3f86 Author: dcubed Date: 2013-06-13 11:16 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/a837fa3d3f86 8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint Summary: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking. Reviewed-by: zgu, stefank, dholmes, dsamersoff ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/perfMemory_windows.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/virtualspace.cpp Changeset: 2bffd20a0fcc Author: ctornqvi Date: 2013-06-13 21:57 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/2bffd20a0fcc 8016065: Write regression test for 7167142 Summary: Regression tests written for both test cases (.hotspotrc and .hotspot_compiler). Also reviewed by mikhailo.seledtsov at oracle.com Reviewed-by: zgu, coleenp + test/runtime/CommandLine/CompilerConfigFileWarning.java + test/runtime/CommandLine/ConfigFileWarning.java Changeset: 1e9094165098 Author: ctornqvi Date: 2013-06-13 22:00 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/1e9094165098 8015324: Create tests for CDS feature Summary: Wrote tests for use of CDS with ObjectAlignmentInBytes CL option Reviewed-by: coleenp, ctornqvi, hseigel Contributed-by: Mikhailo Seledtsov + test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java + test/runtime/SharedArchiveFile/CdsSameObjectAlignment.java + test/testlibrary/com/oracle/java/testlibrary/Platform.java ! test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java Changeset: a0a47b2649a2 Author: ctornqvi Date: 2013-06-14 13:11 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/a0a47b2649a2 Merge Changeset: ef57c43512d6 Author: ccheung Date: 2013-06-13 22:02 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/ef57c43512d6 8014431: cleanup warnings indicated by the -Wunused-value compiler option on linux Reviewed-by: dholmes, coleenp Contributed-by: jeremymanson at google.com, calvin.cheung at oracle.com ! make/linux/makefiles/gcc.make ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/ci/ciUtilities.hpp ! src/share/vm/classfile/genericSignatures.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/services/diagnosticArgument.cpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/taskqueue.hpp Changeset: bcb96b2922f2 Author: zgu Date: 2013-06-14 07:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/bcb96b2922f2 Merge Changeset: ab313d4e9a8b Author: zgu Date: 2013-06-14 09:18 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/ab313d4e9a8b 8011968: Kitchensink crashed with SIGSEGV in MemBaseline::baseline Summary: Simple fix to add NULL pointer check that can cause segv Reviewed-by: coleenp, ctornqvi ! src/share/vm/services/memBaseline.cpp Changeset: dba2306ee2e3 Author: zgu Date: 2013-06-14 07:39 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/dba2306ee2e3 Merge Changeset: 3aaa16611c30 Author: zgu Date: 2013-06-14 15:20 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/3aaa16611c30 Merge Changeset: e95fc50106cf Author: rdurbin Date: 2013-06-14 07:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/e95fc50106cf 7178026: os::close can restart ::close but that is not a restartable syscall Summary: Removed restart macros from all os:close calls on Solaris, Linux, MacOS X platforms. Reviewed-by: dcubed, dholmes ! src/os/bsd/dtrace/jvm_dtrace.c ! src/os/bsd/vm/attachListener_bsd.cpp ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/attachListener_linux.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/dtrace/jvm_dtrace.c ! src/os/solaris/vm/attachListener_solaris.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp Changeset: f2d56a269345 Author: dcubed Date: 2013-06-14 08:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f2d56a269345 Merge Changeset: c7242a797916 Author: dcubed Date: 2013-06-14 19:49 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/c7242a797916 Merge Changeset: 5c89346f2bdd Author: sspitsyn Date: 2013-06-14 15:17 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/5c89346f2bdd 6493116: JVMTI Doc: GetOwnedMonitorStackDepthInfo has a typo in monitor_info_ptr parameter description Summary: A typo in the parameter spelling, a bound update missed when the parameter was renamed Reviewed-by: sla, minqi Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmti.xml Changeset: 7fa28f3d3f62 Author: sspitsyn Date: 2013-06-14 22:34 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/7fa28f3d3f62 Merge Changeset: abbd5c660b48 Author: mgronlun Date: 2013-06-15 13:17 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/abbd5c660b48 8016105: Add complementary RETURN_NULL allocation macros in allocation.hpp Reviewed-by: sla, rbackman ! src/share/vm/memory/allocation.hpp Changeset: cd2118b62475 Author: zgu Date: 2013-06-10 10:45 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/cd2118b62475 8013917: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites Summary: Simple fix when memory allocation site is gone, NMT should report 0 memory size, instead old memory size. Reviewed-by: dcubed, ctornqvi ! src/share/vm/services/memReporter.cpp Changeset: ef748153ee8f Author: sla Date: 2013-06-17 18:35 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/ef748153ee8f 8016304: ThreadMXBean.getDeadlockedThreads reports bogus deadlocks on JDK 8 Reviewed-by: dcubed, mgronlun ! src/share/vm/services/threadService.cpp + test/serviceability/threads/TestFalseDeadLock.java Changeset: 1f4355cee9a2 Author: zgu Date: 2013-06-18 08:44 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/1f4355cee9a2 8013651: NMT: reserve/release sequence id's in incorrect order due to race Summary: Fixed NMT race condition for realloc, uncommit and release Reviewed-by: coleenp, ccheung ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/perfMemory_windows.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: a5904a086d9f Author: zgu Date: 2013-06-18 09:34 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/a5904a086d9f Merge Changeset: cd54c7e92908 Author: minqi Date: 2013-06-18 09:08 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/cd54c7e92908 8015660: Test8009761.java "Failed: init recursive calls: 24. After deopt 25" Summary: Windows reserves and only partially commits thread stack. For detecting more thread stack space for execution, Windows installs one-shot page as guard page just before the current commited edge. It will trigger STACK_OVERFLOW_EXCEPTION when lands on last 4 pages of thread stack space. StackYellowPages default value is 2 on Windows (plus 1 page of StackRedPages, 3 pages guarded by hotspot) so the exception happens one page before Yellow pages. Same route executed second time will have one more page brought in, this leads same execution with different stack depth(interpreter mode). We need match Windows settings so the stack overflow exception will not happen before Yellow pages. Reviewed-by: dholmes Contributed-by: andreas.schoesser at sap.com ! src/cpu/x86/vm/globals_x86.hpp Changeset: 726d2d4913fc Author: nloodin Date: 2013-06-19 18:13 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/726d2d4913fc Merge Changeset: 0abfeed51c9e Author: brutisso Date: 2013-06-14 08:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/0abfeed51c9e 8012265: VM often crashes on solaris with a lot of memory Summary: Increase HeapBaseMinAddress for G1 from 256m to 1g on Solaris x86 Reviewed-by: mgerdin, coleenp, kvn ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 01522ca68fc7 Author: johnc Date: 2013-06-18 12:31 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/01522ca68fc7 8015237: Parallelize string table scanning during strong root processing Summary: Parallelize the scanning of the intern string table by having each GC worker claim a given number of buckets. Changes were also reviewed by Per Liden . Reviewed-by: tschatzl, stefank, twisti ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/memory/sharedHeap.cpp Changeset: b9d151496930 Author: brutisso Date: 2013-06-18 22:45 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b9d151496930 8016556: G1: Use ArrayAllocator for BitMaps Reviewed-by: tschatzl, dholmes, coleenp, johnc ! src/share/vm/memory/allocation.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp Changeset: 493089fd29df Author: poonam Date: 2013-06-19 06:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/493089fd29df 8015903: Format issue with -XX:+PrintAdaptiveSizePolicy on JDK8 Summary: Missing linebreak in hotspot log. Reviewed-by: brutisso, tschatzl Contributed-by: vladimir.kempik at oracle.com ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp Changeset: 9f9c0a163cc5 Author: ehelin Date: 2013-06-20 10:03 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/9f9c0a163cc5 Merge ! src/share/vm/memory/allocation.hpp Changeset: 8d52e305a777 Author: morris Date: 2013-06-07 07:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/8d52e305a777 8015437: SPARC cbcond branch offset out of 10-bit range Summary: Forced SPARC MacroAssembler eden_alloate to use long branch to slow case Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/macroAssembler_sparc.cpp Changeset: ea60d1de6735 Author: kvn Date: 2013-06-07 11:43 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/ea60d1de6735 Merge Changeset: 46c544b8fbfc Author: morris Date: 2013-06-07 16:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/46c544b8fbfc 8008407: remove SPARC V8 support Summary: Removed most of the SPARC V8 instructions Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c2_init_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! 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/sparc.ad ! 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/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il ! src/share/vm/runtime/arguments.cpp Changeset: e7f5651d459c Author: twisti Date: 2013-06-11 11:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/e7f5651d459c 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods Reviewed-by: kvn ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp Changeset: 693e4d04fd09 Author: drchase Date: 2013-06-11 16:34 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/693e4d04fd09 8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit Summary: Insert extra checks and bailouts for too many nodes Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/matcher.cpp Changeset: bc8956037049 Author: kvn Date: 2013-06-11 16:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/bc8956037049 Merge Changeset: c52abc8a0b08 Author: drchase Date: 2013-06-13 15:39 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/c52abc8a0b08 8010124: JVM_GetClassContext: use GrowableArray instead of KlassLink Summary: replace linked data structure with array (performance) Reviewed-by: kvn Contributed-by: christian.thalinger at oracle.com, david.r.chase at oracle.com ! src/share/vm/prims/jvm.cpp Changeset: 7fa25f5575c9 Author: adlertz Date: 2013-06-14 01:19 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/7fa25f5575c9 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Summary: Disable rematerialization for negD node Reviewed-by: kvn, roland ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp Changeset: ac91879aa56f Author: kvn Date: 2013-06-14 16:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/ac91879aa56f Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/prims/jvm.cpp Changeset: 87a6f2df28e2 Author: drchase Date: 2013-06-17 12:35 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/87a6f2df28e2 8002160: Compilation issue with adlc using latest SunStudio compilers Summary: modify declaration of 'swap' overloading; dodge optimizer bug in c1_LIR.cpp Reviewed-by: kvn, jrose ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/share/vm/c1/c1_LIR.cpp Changeset: 08d35fd1b599 Author: adlertz Date: 2013-06-19 00:41 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/08d35fd1b599 8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc Summary: Remove unnecessary LoadN / DecodeN nodes at MemBarAcquire nodes. Reviewed-by: kvn, roland ! src/share/vm/opto/memnode.cpp Changeset: b88209cf98c0 Author: kvn Date: 2013-06-20 16:08 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b88209cf98c0 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 2cc5a9d1ba66 Author: amurillo Date: 2013-06-21 00:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/2cc5a9d1ba66 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Changeset: 3bdeff4a6ca7 Author: amurillo Date: 2013-06-21 00:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/3bdeff4a6ca7 Added tag hs25-b38 for changeset 2cc5a9d1ba66 ! .hgtags Changeset: 9f3e3245b50f Author: amurillo Date: 2013-06-25 12:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/9f3e3245b50f Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/prims/jvm.cpp Changeset: e6a4b8c71fa6 Author: katleman Date: 2013-06-26 11:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/e6a4b8c71fa6 8017323: JDK8 b95 source with GPL header errors Reviewed-by: tbell, darcy ! src/share/vm/memory/referenceProcessorStats.hpp Changeset: f4f6ae481e1a Author: kvn Date: 2013-06-27 13:04 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f4f6ae481e1a Merge ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 58be756e7595 Author: goetz Date: 2013-06-24 17:11 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/58be756e7595 8017313: PPC64 (part 6): stack handling improvements Summary: Precompute limit for stack overflow check. Reviewed-by: kvn, coleenp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 48d3d0eb193b Author: goetz Date: 2013-06-26 16:06 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/48d3d0eb193b 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking Reviewed-by: kvn, dholmes ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: b6d1e42655cd Author: katleman Date: 2013-06-27 13:40 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b6d1e42655cd Added tag jdk8-b96 for changeset e6a4b8c71fa6 ! .hgtags Changeset: fc8a1a5de78e Author: amurillo Date: 2013-06-21 00:59 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/fc8a1a5de78e 8017253: new hotspot build - hs25-b39 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 91acb82a8b7a Author: dholmes Date: 2013-06-19 13:14 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/91acb82a8b7a 8014326: [OSX] All libjvm symbols are exported Summary: Add support for a MacOS X compatible form of the libjvm mapfile. Reviewed-by: dcubed, rdurbin, coleenp ! make/bsd/makefiles/build_vm_def.sh ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product Changeset: b9f4c4ec0f50 Author: iklam Date: 2013-06-19 20:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b9f4c4ec0f50 8008964: NPG: Memory regression: Thread::_metadata_handles uses 1 KB per thread. Summary: Reduce default size of Thread::_metadata_handles from 300 to 30 Reviewed-by: coleenp, sspitsyn ! src/share/vm/runtime/thread.cpp Changeset: b3cd8b58b798 Author: mgronlun Date: 2013-06-20 11:53 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b3cd8b58b798 8016735: Remove superfluous EnableInvokeDynamic warning from UnlockDiagnosticVMOptions check Reviewed-by: sla, dholmes ! src/share/vm/runtime/globals.cpp Changeset: 9ba41a4a71ff Author: coleenp Date: 2013-06-21 10:50 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/9ba41a4a71ff 8004124: Handle and/or warn about SI_KERNEL Summary: Detect this crash in the signal handler and give a fatal error message instead of making us chase down bugs that don't reproduce Reviewed-by: kvn, mgerdin, dholmes ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: bed34a7a3b9b Author: coleenp Date: 2013-06-21 10:57 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/bed34a7a3b9b 8017177: more explicit code location information in hs_err crash log Summary: Add code pc location for compiled code Reviewed-by: kvn, coleenp Contributed-by: doug.simon at oracle.com ! src/share/vm/runtime/frame.cpp Changeset: bb6c7f2f10fd Author: dcubed Date: 2013-06-21 08:18 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/bb6c7f2f10fd Merge Changeset: b7bc7c94b4b5 Author: dcubed Date: 2013-06-21 10:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b7bc7c94b4b5 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp Changeset: d9eed26d638a Author: iklam Date: 2013-06-23 22:08 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/d9eed26d638a 8009575: Reduce Symbol::_refcount from 4 bytes to 2 bytes Summary: Added Atomic::inc(short*) to support this change. Reviewed-by: coleenp, dcubed, dholmes, minqi ! src/share/vm/oops/symbol.cpp ! src/share/vm/oops/symbol.hpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: e0c9a1d29eb4 Author: coleenp Date: 2013-06-24 18:55 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/e0c9a1d29eb4 8016325: JVM hangs verifying system dictionary Summary: Minimize redundant verifications of Klasses. Reviewed-by: hseigel, jmasa ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/compiledICHolder.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/shark/sharkBuilder.cpp Changeset: 01e10b366055 Author: sla Date: 2013-06-25 14:11 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/01e10b366055 8017561: Build errors caused by missing .PHONY Reviewed-by: stefank, brutisso ! make/excludeSrc.make Changeset: feae15578b2f Author: tamao Date: 2013-06-07 09:46 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/feae15578b2f 7122222: GC log is limited to 2G for 32-bit Summary: Enable large file support for generated 32-bit ostream.o on Linux and Solaris (as only the two need this) by setting -D_FILE_OFFSET_BITS=64 in compilation Reviewed-by: tbell, mgerdin, dcubed Contributed-by: tamao ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make ! src/os/solaris/vm/os_solaris.inline.hpp Changeset: df7e1c0e3dc1 Author: jmasa Date: 2013-06-25 09:58 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/df7e1c0e3dc1 8014546: MetaspaceAux print_metaspace_change() should print "used" after GC not capacity Reviewed-by: johnc, tschatzl ! src/share/vm/memory/metaspace.cpp Changeset: f99cd6e20ab1 Author: jmasa Date: 2013-06-25 15:17 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f99cd6e20ab1 8014851: UseAdaptiveGCBoundary is broken Reviewed-by: tschatzl, brutisso ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp + test/gc/parallelScavenge/AdaptiveGCBoundary.java Changeset: 71963b3f802a Author: ehelin Date: 2013-06-26 16:58 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/71963b3f802a 8013590: NPG: Add a memory pool MXBean for Metaspace Reviewed-by: jmasa, mgerdin ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp + test/gc/metaspace/TestMetaspaceMemoryPool.java Changeset: f8972b867ded Author: ehelin Date: 2013-06-27 10:56 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f8972b867ded Merge Changeset: 7875ea94bea5 Author: goetz Date: 2013-06-24 11:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/7875ea94bea5 8017308: Remove unused breakpoint relocation type Summary: remove unused breakpoint relocation type Reviewed-by: kvn ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/relocInfo_sparc.cpp ! src/cpu/x86/vm/relocInfo_x86.cpp ! src/cpu/zero/vm/relocInfo_zero.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp Changeset: cc63bcb47cce Author: twisti Date: 2013-06-24 17:47 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/cc63bcb47cce 8017538: Clang support broke slowdebug build for i586 Reviewed-by: kvn ! make/linux/makefiles/gcc.make Changeset: a023da4ffc15 Author: twisti Date: 2013-06-24 18:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/a023da4ffc15 Merge Changeset: 3aa636f2a743 Author: adlertz Date: 2013-06-25 12:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/3aa636f2a743 8017243: 8001345 is incomplete Summary: Replaces unused decodeN at MemBarAcquire with its corresponding loadN if loadN is used at more than one place. Reviewed-by: kvn, twisti ! src/share/vm/opto/memnode.cpp Changeset: 9347cae673f0 Author: adlertz Date: 2013-06-26 00:40 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/9347cae673f0 8017510: Add a regression test for 8005956 Summary: Regression test for 8005956 Reviewed-by: kvn, twisti + test/compiler/8005956/PolynomialRoot.java Changeset: 6a0ead6dc6db Author: goetz Date: 2013-06-24 16:11 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/6a0ead6dc6db 8017531: 8010460 changes broke bytecodeInterpreter.cpp Summary: Replace _indy by _jsr292 and also fix VERIFY_OOP macros. Reviewed-by: kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: be0600ec1102 Author: kvn Date: 2013-06-27 11:12 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/be0600ec1102 Merge Changeset: 2b9380b0bf0b Author: amurillo Date: 2013-06-28 02:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/2b9380b0bf0b Merge ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/universe.cpp Changeset: d197d377ab2e Author: amurillo Date: 2013-06-28 02:25 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/d197d377ab2e Added tag hs25-b39 for changeset 2b9380b0bf0b ! .hgtags Changeset: 583211d4b16b Author: kvn Date: 2013-07-03 11:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/583211d4b16b Merge ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 53fa76359eb1 Author: goetz Date: 2013-07-04 10:51 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/53fa76359eb1 8016696: PPC64 (part 4): add relocation for trampoline stubs Summary: A trampoline allows to encode a small branch in the code, even if there is the chance that this branch can not reach all possible code locations. If the relocation finds that a branch is too far for the instruction in the code, it can patch it to jump to the trampoline where is sufficient space for a far branch. Needed on PPC. Reviewed-by: kvn, bdelsart, jrose ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp Changeset: 641d55c11d6b Author: goetz Date: 2013-07-03 01:29 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/641d55c11d6b 8019517: PPC64 (part 102): cppInterpreter: implement G1 support Reviewed-by: kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: 48b178ff07b6 Author: goetz Date: 2013-07-03 01:41 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/48b178ff07b6 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops Reviewed-by: kvn, coleenp ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: bfd9d884693d Author: goetz Date: 2013-07-03 11:25 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/bfd9d884693d 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. Reviewed-by: sspitsyn, kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.hpp Changeset: 0014add32e54 Author: goetz Date: 2013-07-09 14:28 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/0014add32e54 8020121: PPC64: fix build in cppInterpreter after 8019519 Reviewed-by: kvn ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: faf0c78e906b Author: simonis Date: 2013-07-10 09:14 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/faf0c78e906b 8019922: PPC64 (part 8): Implement Linux/PPC64 support in HotSpot makefiles Summary: HotSpot make changes to build the HotSpot on Linux/PPC64 Reviewed-by: dholmes, kvn ! make/Makefile ! make/defs.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make + make/linux/makefiles/ppc64.make + make/linux/platform_ppc64 Changeset: 75ef1a499665 Author: goetz Date: 2013-07-05 22:17 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/75ef1a499665 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. Summary: On AIX 7.1 systemcfg.h defines IA64 unconditionally, so test for !AIX where IA64 is used. Reviewed-by: dholmes, kvn ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/utilities/macros.hpp Changeset: 2bfa00fac03f Author: cl Date: 2013-07-04 01:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/2bfa00fac03f Added tag jdk8-b97 for changeset d197d377ab2e ! .hgtags Changeset: 8c4424890028 Author: amurillo Date: 2013-06-28 02:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/8c4424890028 8019302: new hotspot build - hs25-b40 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 8cff1de240de Author: zgu Date: 2013-06-25 17:22 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/8cff1de240de 8017478: Kitchensink crashed with SIGSEGV in BaselineReporter::diff_callsites Summary: Fixed possible NULL pointer that caused SIGSEGV Reviewed-by: coleenp, acorn, ctornqvi ! src/share/vm/services/memReporter.cpp Changeset: c14867f95c60 Author: zgu Date: 2013-06-25 14:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/c14867f95c60 Merge Changeset: 38ea2efa32a7 Author: kevinw Date: 2013-06-26 00:01 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/38ea2efa32a7 8010278: SA: provide mechanism for using an alternative SA debugger back-end. Reviewed-by: sla, dsamersoff ! 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/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.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/JMap.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/PStack.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/jcore/ClassDump.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java Changeset: 8eb40545e209 Author: kevinw Date: 2013-06-26 11:00 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/8eb40545e209 Merge Changeset: 221df7e37535 Author: iklam Date: 2013-06-27 10:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/221df7e37535 8016075: Win32 crash with CDS enabled and small heap size Summary: Fixed MetaspaceShared::is_in_shared_space Reviewed-by: coleenp, hseigel ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/memory/metaspaceShared.cpp Changeset: e0fe0c9a88da Author: nloodin Date: 2013-06-28 14:05 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/e0fe0c9a88da Merge Changeset: bb4f2b27e824 Author: dcubed Date: 2013-06-29 11:55 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/bb4f2b27e824 Merge Changeset: 97c5acae48be Author: hseigel Date: 2013-06-30 09:59 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/97c5acae48be 7007040: Check of capacity paramenters in JNI_PushLocalFrame is wrong Summary: changed AND to OR Reviewed-by: coleenp, hseigel Contributed-by: lois.foltan at oracle.com ! src/share/vm/prims/jni.cpp Changeset: 068b406e307f Author: fparain Date: 2013-07-01 09:13 +0000 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/068b406e307f 7060111: race condition in VMError::report_and_die() Reviewed-by: zgu, coleenp Contributed-by: volker.simonis at gmail.com ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp Changeset: acfa2cc19146 Author: rbackman Date: 2013-06-12 09:49 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/acfa2cc19146 8016444: Duplicate zombie check in safe_for_sender Reviewed-by: dholmes, sla ! src/cpu/sparc/vm/frame_sparc.cpp ! src/share/vm/memory/referenceProcessorStats.hpp Changeset: 993dfb57c575 Author: egahlin Date: 2013-06-26 17:02 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/993dfb57c575 8016331: Minor issues in event tracing metadata Reviewed-by: stefank, brutisso, mgronlun ! src/share/vm/trace/trace.xml Changeset: 7f11c12d7a90 Author: sspitsyn Date: 2013-07-01 14:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/7f11c12d7a90 8009204: [dtrace] signatures returned by Java 7 jstack() are corrupted on Solaris Summary: The fix is basically a backport of JDK-7019165 (pstack issue) to jhelper.d. Reviewed-by: coleenp, sspitsyn Contributed-by: tomas.hurka at oracle.com ! src/os/solaris/dtrace/jhelper.d Changeset: de2d15ce3d4a Author: coleenp Date: 2013-07-02 08:42 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/de2d15ce3d4a 8015391: NPG: With -XX:+UseCompressedKlassPointers OOME due to exhausted metadata space could occur when metaspace is almost empty Summary: Allocate medium chunks for class metaspace when class loader has lots of classes Reviewed-by: mgerdin, jmasa ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: cedf20e2a655 Author: coleenp Date: 2013-07-02 16:54 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/cedf20e2a655 Merge - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c92b74c62d97 Author: brutisso Date: 2013-06-27 09:59 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/c92b74c62d97 8017483: G1 tests fail with native OOME on Solaris x86 after HeapBaseMinAddress has been increased Summary: Set HeapBaseMinAddress as default rather than ergo Reviewed-by: stefank, jmasa, kvn ! src/share/vm/runtime/arguments.cpp Changeset: 3ea89789ba39 Author: ehelin Date: 2013-06-28 18:28 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/3ea89789ba39 Merge Changeset: b30744960351 Author: brutisso Date: 2013-06-30 21:42 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b30744960351 8014022: G1: Non Java threads should lock the shared SATB queue lock without safepoint checks. Reviewed-by: tschatzl, brutisso, jmasa, ysr Contributed-by: per.liden at oracle.com ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Changeset: 5ea20b3bd249 Author: johnc Date: 2013-07-01 09:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/5ea20b3bd249 8017070: G1: assert(_card_counts[card_num] <= G1ConcRSHotCardLimit) failed Summary: The assert is invalid when a card is being refined by two different threads and its count crosses the hot threshold - the refinement count will be updated once by each thread triggering the assert. Remove the assert and update the count using a bounded expression. Reviewed-by: jmasa, tamao, brutisso ! src/share/vm/gc_implementation/g1/g1CardCounts.cpp Changeset: 6e3634222155 Author: tamao Date: 2013-06-28 20:18 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/6e3634222155 8017611: Auto corrector for mistyped vm options Summary: The auto corrector for mistyped vm options fuzzy-matches existing flags based on string similarity (Dice's coefficient). Reviewed-by: kvn, dsamersoff, hseigel, johnc ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp + test/gc/arguments/TestUnrecognizedVMOptionsHandling.java Changeset: 536976a22f5f Author: tamao Date: 2013-07-03 14:50 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/536976a22f5f Merge Changeset: 70bea4a43c6d Author: tamao Date: 2013-07-03 15:04 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/70bea4a43c6d Merge Changeset: ac7193063af8 Author: jiangli Date: 2013-07-01 19:44 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/ac7193063af8 8006023: Embedded Builds fail management test because of requirement for UsePerfData being enabled. Summary: Added -XX:+UsePerfData to Test7196045.java. Reviewed-by: dholmes, collins ! test/runtime/7196045/Test7196045.java Changeset: 94aa8de029c5 Author: clucasius Date: 2013-07-03 22:36 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/94aa8de029c5 Merge Changeset: fea6a49c2762 Author: bdelsart Date: 2013-07-04 01:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/fea6a49c2762 Merge Changeset: f765bfec8f07 Author: kvn Date: 2013-07-01 12:22 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/f765bfec8f07 8006629: NEED_TEST: need test for JDK-8001071 Summary: added regression test Reviewed-by: kvn, coleenp Contributed-by: Filipp Zhinkin + test/runtime/8001071/Test8001071.java + test/runtime/8001071/Test8001071.sh Changeset: a023ec3452c7 Author: simonis Date: 2013-07-01 14:14 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/a023ec3452c7 8019382: PPC64: Fix bytecodeInterpreter to compile with '-Wunused-value' Summary: cast the offending expressions to (void) Reviewed-by: kvn, coleenp ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: 2b3fe74309b6 Author: kvn Date: 2013-07-02 10:30 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/2b3fe74309b6 8019247: SIGSEGV in compiled method c8e.e.t_.getArray(Ljava/lang/Class;)[Ljava/lang/Object Summary: Undo recent changes (and add more comments) in Ideal_allocation(). Reviewed-by: roland ! src/share/vm/opto/graphKit.cpp Changeset: 738e04fb1232 Author: anoll Date: 2013-07-02 07:51 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/738e04fb1232 8014972: Crash with specific values for -XX:InitialCodeCacheSize=500K -XX:ReservedCodeCacheSize=500k Summary: Introduce a minimum code cache size that guarantees that the VM can startup. Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c1_globals_sparc.hpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/x86/vm/c1_globals_x86.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/zero/vm/shark_globals_zero.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: b800986664f4 Author: drchase Date: 2013-07-02 20:42 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/b800986664f4 7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32 Summary: add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/interpreterGenerator_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp + src/cpu/x86/vm/stubRoutines_x86.cpp + src/cpu/x86/vm/stubRoutines_x86.hpp ! src/cpu/x86/vm/stubRoutines_x86_32.cpp ! src/cpu/x86/vm/stubRoutines_x86_32.hpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp + test/compiler/7088419/CRCTest.java Changeset: c1bd7b5bdc70 Author: twisti Date: 2013-07-02 20:27 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/c1bd7b5bdc70 8017571: JSR292: JVM crashing on assert "cast to instanceKlass" while producing MethodHandle for array methods with MethodHandle.findVirtual Reviewed-by: kvn ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/reflection.cpp Changeset: bed0eddd82cd Author: twisti Date: 2013-07-02 22:51 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/bed0eddd82cd Merge Changeset: 8b789ce47503 Author: roland Date: 2013-07-04 01:42 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/8b789ce47503 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: fece0ee013fc Author: roland Date: 2013-07-04 03:41 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/fece0ee013fc Merge Changeset: c9dd82da51ed Author: amurillo Date: 2013-07-04 14:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/c9dd82da51ed Merge Changeset: 30b5b75c42ac Author: amurillo Date: 2013-07-04 14:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/30b5b75c42ac Added tag hs25-b40 for changeset c9dd82da51ed ! .hgtags Changeset: 1a3390aa8326 Author: katleman Date: 2013-07-11 10:13 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/1a3390aa8326 Added tag jdk8-b98 for changeset 30b5b75c42ac ! .hgtags Changeset: 6cc7093e1341 Author: kvn Date: 2013-07-11 12:56 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/6cc7093e1341 Merge ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 1f54d836ce00 Author: goetz Date: 2013-07-16 20:55 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/1f54d836ce00 Merge ! make/Makefile ! make/aix/makefiles/defs.make ! make/aix/makefiles/trace.make ! make/defs.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/ppc64.make ! make/linux/makefiles/trace.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/trace.make ! make/windows/makefiles/trace.make ! src/cpu/ppc/vm/c2_globals_ppc.hpp ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/globals_ppc.hpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/relocInfo_ppc.cpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/globals_zero.hpp ! src/os/aix/vm/os_aix.cpp ! src/os/aix/vm/os_aix.hpp ! src/os/aix/vm/perfMemory_aix.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp ! src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.inline.hpp ! src/share/vm/interpreter/bytecodeInterpreterProfiling.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/resourceHash.hpp ! src/share/vm/utilities/taskqueue.hpp From volker.simonis at gmail.com Wed Jul 17 05:41:29 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 17 Jul 2013 14:41:29 +0200 Subject: Huge pages In-Reply-To: <1367247062.8386.65.camel@localhost.localdomain> References: <1365432591.18065.10.camel@localhost.localdomain> <1365457623.18065.26.camel@localhost.localdomain> <1365478154.18065.29.camel@localhost.localdomain> <1365541405.18065.51.camel@localhost.localdomain> <1365644322.18065.164.camel@localhost.localdomain> <1365698305.18065.177.camel@localhost.localdomain> <1367247062.8386.65.camel@localhost.localdomain> Message-ID: Hi Tiago, I just wanted to let you know that there's currently a discussion going on about an interesting change which may also solve the problem we currently have with with -XX:+UseHugeTLBFS on Linux/PPC64: http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-July/thread.html#10117 (don't get confused by the strange bug name / subject - it's mainly about mmap / large pages). While I was evaluating the change I tried to collect all the available information about large page support on Linux and that revealed several questions: - where can the information be found which you send me below (about 'memory slices')? Is that documented somewhere? I'm just asking because I'd like to collect all the available information in a blog or wiki. - I read that with kernel 3.11 Linux will also support "transparent huge pages" on Linux/PPC64 (http://lkml.indiana.edu/hypermail/linux/kernel/1307.0/01916.html) but I wonder how that can work with the 'memory slices' described by you? If I understand "transparent huge pages" right (see for example http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/vm/transhuge.txt) it works in the way that a separate kernel thread scans the memory for consecutive memory mappings and if they are large enough the underlying small pages are transparently replaced by huge pages. Now I don't understand how this can work if a memory slice only supports one page size. Or has this "only one page size per slice" restriction been removed in kernel 3.11. Regards, Volker On Mon, Apr 29, 2013 at 4:51 PM, Tiago St?rmer Daitx wrote: >> On Thu, 2013-04-11 at 16:26 +0200, Volker Simonis wrote: >> >> > I think it will be not trivial to get this working with all the >> > combinations of different GCs and +/- compressed oops on all Linux >> > architectures. >> > >> > It would be really great if you could find sombody from the LTC who >> > can explain why mmap with MAP_HUGETLB behaves differently on x86 and >> > ppc. > > Volker, I got the following response from a PPC Kernel dev: > > 'On ppc64, you can only have one page size in a "slice". Slices are > 256M below 4G, then 4G-1TB then 1TB slices above that. Since the > MAP_NORESERVE is not a hugepage mapping, it is not being placed to > accomodate these restrictions. Overmapping with MAP_FIXED is then > failing.' > > Let me know if you need additional information on this issue. > > -- > Tiago St?rmer Daitx > tdaitx at linux.vnet.ibm.com > IBM - Linux Technology Center > From goetz.lindenmaier at sap.com Wed Jul 17 08:13:34 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 17 Jul 2013 15:13:34 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF5F1E@DEWDFEMB12A.global.corp.sap> Hi, This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for the PPC64 interpreter port on linux. With this change you can do a core build on ppc64 and run the VM interpreter only. It executes simple programs as jvm98. The change requires * 8016697: Use stubs to implement safefetch * 8020059: The flag introduced by 8014972 is not defined ... which will arrive soon in the staging repository. I marked the change as XL as it contains a lot of code. Nevertheless the code has no impact on the existing Oracle platforms. The change touches a single shared file, globals.hpp, removing a special case introduced for the port. This is because we integrated some changes earlier than originally intended. Please review the change. Does it need testing on Oracle side? Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130717/fe85d534/attachment.html From goetz.lindenmaier at sap.com Wed Jul 17 08:34:49 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 17 Jul 2013 15:34:49 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> Hi, This time with webrev. Sorry for the double mails. This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for the PPC64 interpreter port on linux. With this change you can do a core build on ppc64 and run the VM interpreter only. It executes simple programs as jvm98. The change requires * 8016697: Use stubs to implement safefetch * 8020059: The flag introduced by 8014972 is not defined ... which will arrive soon in the staging repository. I marked the change as XL as it contains a lot of code. Nevertheless the code has no impact on the existing Oracle platforms. The change touches a single shared file, globals.hpp, removing a special case introduced for the port. This is because we integrated some changes earlier than originally intended. Please review the change. Does it need testing on Oracle side? http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ Best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130717/a6bdb9df/attachment.html From goetz.lindenmaier at sap.com Wed Jul 17 08:44:17 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 17 Jul 2013 15:44:17 +0000 Subject: Please create new BugIDs In-Reply-To: <51DC063F.4010400@oracle.com> References: <51D54200.8090200@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2928@DEWDFEMB12A.global.corp.sap> <51D6C766.1020802@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF407E@DEWDFEMB12A.global.corp.sap> <51DC063F.4010400@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF5F7F@DEWDFEMB12A.global.corp.sap> Hi, I please need two new bugIDs. PPC64 (part 12): posix signal printing (0012_rt-ppc_enable_better_implicit_null_check-posix.patch) PPC64 (part 13): basic changes for AIX (0013_basic_Aix_adaptions.patch) Thanks & best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130717/aeffe1a0/attachment-0001.html From christian.thalinger at oracle.com Wed Jul 17 10:18:52 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 17 Jul 2013 10:18:52 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> Message-ID: <209753E8-8645-4847-825E-8632749DD780@oracle.com> One question: why did you choose to prefix all assembler instructions with ppc_? -- Chris On Jul 17, 2013, at 8:34 AM, "Lindenmaier, Goetz" wrote: > Hi, > > This time with webrev. Sorry for the double mails. > > This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for > the PPC64 interpreter port on linux. > > With this change you can do a core build on ppc64 and run the VM interpreter only. > It executes simple programs as jvm98. > The change requires > > * 8016697: Use stubs to implement safefetch > > * 8020059: The flag introduced by 8014972 is not defined ... > which will arrive soon in the staging repository. > > I marked the change as XL as it contains a lot of code. Nevertheless the > code has no impact on the existing Oracle platforms. > > The change touches a single shared file, globals.hpp, removing a > special case introduced for the port. This is because we > integrated some changes earlier than originally intended. > > Please review the change. Does it need testing on Oracle side? > http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > > Best regards, > Goetz. > From vladimir.kozlov at oracle.com Wed Jul 17 11:38:17 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 17 Jul 2013 11:38:17 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <209753E8-8645-4847-825E-8632749DD780@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <209753E8-8645-4847-825E-8632749DD780@oracle.com> Message-ID: <51E6E499.4000204@oracle.com> On 7/17/13 10:18 AM, Christian Thalinger wrote: > One question: why did you choose to prefix all assembler instructions with ppc_? +1 and PPC_ prefix in registers names. Goetz, it is different from our naming style so we would really appreciate if you change this. Regards, Vladimir > > -- Chris > > On Jul 17, 2013, at 8:34 AM, "Lindenmaier, Goetz" wrote: > >> Hi, >> >> This time with webrev. Sorry for the double mails. >> >> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for >> the PPC64 interpreter port on linux. >> >> With this change you can do a core build on ppc64 and run the VM interpreter only. >> It executes simple programs as jvm98. >> The change requires >> >> * 8016697: Use stubs to implement safefetch >> >> * 8020059: The flag introduced by 8014972 is not defined ... >> which will arrive soon in the staging repository. >> >> I marked the change as XL as it contains a lot of code. Nevertheless the >> code has no impact on the existing Oracle platforms. >> >> The change touches a single shared file, globals.hpp, removing a >> special case introduced for the port. This is because we >> integrated some changes earlier than originally intended. >> >> Please review the change. Does it need testing on Oracle side? >> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> >> Best regards, >> Goetz. >> > From vladimir.kozlov at oracle.com Wed Jul 17 13:28:04 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 17 Jul 2013 13:28:04 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51E6E499.4000204@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <209753E8-8645-4847-825E-8632749DD780@oracle.com> <51E6E499.4000204@oracle.com> Message-ID: <51E6FE54.9040501@oracle.com> We have build conflict with Oracle closed sources. The closed build picks files from open ppc64: s/src/cpu/ppc/vm/interp_masm_ppc_64.cpp:297:50: error: 'ppc_li' was not declared in this scope s/src/cpu/ppc/vm/interp_masm_ppc_64.cpp:298:46: error: 'ppc_and' was not declared in this scope We will discuss this internally and will see what we or you should do. Thanks, Vladimir On 7/17/13 11:38 AM, Vladimir Kozlov wrote: > On 7/17/13 10:18 AM, Christian Thalinger wrote: >> One question: why did you choose to prefix all assembler instructions >> with ppc_? > > +1 > > and PPC_ prefix in registers names. > > Goetz, it is different from our naming style so we would really > appreciate if you change this. > > Regards, > Vladimir > >> >> -- Chris >> >> On Jul 17, 2013, at 8:34 AM, "Lindenmaier, Goetz" >> wrote: >> >>> Hi, >>> >>> This time with webrev. Sorry for the double mails. >>> >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc >>> needed for >>> the PPC64 interpreter port on linux. >>> >>> With this change you can do a core build on ppc64 and run the VM >>> interpreter only. >>> It executes simple programs as jvm98. >>> The change requires >>> >>> * 8016697: Use stubs to implement safefetch >>> >>> * 8020059: The flag introduced by 8014972 is not defined ... >>> which will arrive soon in the staging repository. >>> >>> I marked the change as XL as it contains a lot of code. Nevertheless >>> the >>> code has no impact on the existing Oracle platforms. >>> >>> The change touches a single shared file, globals.hpp, removing a >>> special case introduced for the port. This is because we >>> integrated some changes earlier than originally intended. >>> >>> Please review the change. Does it need testing on Oracle side? >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> Best regards, >>> Goetz. >>> >> From vladimir.kozlov at oracle.com Wed Jul 17 16:25:56 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 17 Jul 2013 16:25:56 -0700 Subject: Please create new BugIDs In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF5F7F@DEWDFEMB12A.global.corp.sap> References: <51D54200.8090200@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF2928@DEWDFEMB12A.global.corp.sap> <51D6C766.1020802@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF407E@DEWDFEMB12A.global.corp.sap> <51DC063F.4010400@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF5F7F@DEWDFEMB12A.global.corp.sap> Message-ID: <51E72804.5040202@oracle.com> On 7/17/13 8:44 AM, Lindenmaier, Goetz wrote: > Hi, > > I please need two new bugIDs. > > PPC64 (part 12): posix signal printing > > (0012_rt-ppc_enable_better_implicit_null_check-posix.patch) 8020775: PPC64 (part 12): posix signal printing > > PPC64 (part 13): basic changes for AIX > > (0013_basic_Aix_adaptions.patch) 8020776: PPC64 (part 13): basic changes for AIX Vladimir > > Thanks & best regards, > > Goetz. > From vladimir.kozlov at oracle.com Thu Jul 18 19:21:31 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 18 Jul 2013 19:21:31 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51E6FE54.9040501@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <209753E8-8645-4847-825E-8632749DD780@oracle.com> <51E6E499.4000204@oracle.com> <51E6FE54.9040501@oracle.com> Message-ID: <51E8A2AB.9060202@oracle.com> For your information. We filed new bug 8020799 to fix our makefiles to avoid this build conflict. David Holmes is working on it and it will be pushed into main sources first. So you have to wait until the fix is promoted into stage repo. Meanwhile, please, address Christian and my concerns about ppc_ prefix in names. Regards, Vladimir On 7/17/13 1:28 PM, Vladimir Kozlov wrote: > We have build conflict with Oracle closed sources. The closed build > picks files from open ppc64: > > s/src/cpu/ppc/vm/interp_masm_ppc_64.cpp:297:50: error: 'ppc_li' was not > declared in this scope > s/src/cpu/ppc/vm/interp_masm_ppc_64.cpp:298:46: error: 'ppc_and' was not > declared in this scope > > We will discuss this internally and will see what we or you should do. > > Thanks, > Vladimir > > On 7/17/13 11:38 AM, Vladimir Kozlov wrote: >> On 7/17/13 10:18 AM, Christian Thalinger wrote: >>> One question: why did you choose to prefix all assembler instructions >>> with ppc_? >> >> +1 >> >> and PPC_ prefix in registers names. >> >> Goetz, it is different from our naming style so we would really >> appreciate if you change this. >> >> Regards, >> Vladimir >> >>> >>> -- Chris >>> >>> On Jul 17, 2013, at 8:34 AM, "Lindenmaier, Goetz" >>> wrote: >>> >>>> Hi, >>>> >>>> This time with webrev. Sorry for the double mails. >>>> >>>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc >>>> needed for >>>> the PPC64 interpreter port on linux. >>>> >>>> With this change you can do a core build on ppc64 and run the VM >>>> interpreter only. >>>> It executes simple programs as jvm98. >>>> The change requires >>>> >>>> * 8016697: Use stubs to implement safefetch >>>> >>>> * 8020059: The flag introduced by 8014972 is not defined ... >>>> which will arrive soon in the staging repository. >>>> >>>> I marked the change as XL as it contains a lot of code. Nevertheless >>>> the >>>> code has no impact on the existing Oracle platforms. >>>> >>>> The change touches a single shared file, globals.hpp, removing a >>>> special case introduced for the port. This is because we >>>> integrated some changes earlier than originally intended. >>>> >>>> Please review the change. Does it need testing on Oracle side? >>>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>> >>>> Best regards, >>>> Goetz. >>>> >>> From david.holmes at oracle.com Thu Jul 18 22:28:40 2013 From: david.holmes at oracle.com (David Holmes) Date: Fri, 19 Jul 2013 15:28:40 +1000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> Message-ID: <51E8CE88.2060801@oracle.com> Hi Goetz, Only a brief glance through ... I think orderAccess_linux_ppc.inline.hpp should have: 34 #ifndef _LP64 35 #error "Atomic currently only impleneted for PPC64" 36 #endif the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only be atomic on ppc64). BTW typo: 35 #error "Atomic currently only impleneted for PPC64" I also find the ppc_ prefix used in the assembly code somewhat redundant. David ----- On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: > Hi, > > This time with webrev. Sorry for the double mails. > > This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for > the PPC64 interpreter port on linux. > > With this change you can do a core build on ppc64 and run the VM interpreter only. > It executes simple programs as jvm98. > The change requires > > * 8016697: Use stubs to implement safefetch > > * 8020059: The flag introduced by 8014972 is not defined ... > which will arrive soon in the staging repository. > > I marked the change as XL as it contains a lot of code. Nevertheless the > code has no impact on the existing Oracle platforms. > > The change touches a single shared file, globals.hpp, removing a > special case introduced for the port. This is because we > integrated some changes earlier than originally intended. > > Please review the change. Does it need testing on Oracle side? > http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > > Best regards, > Goetz. > From volker.simonis at gmail.com Fri Jul 19 05:30:12 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Fri, 19 Jul 2013 14:30:12 +0200 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51E6E499.4000204@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <209753E8-8645-4847-825E-8632749DD780@oracle.com> <51E6E499.4000204@oracle.com> Message-ID: On Wed, Jul 17, 2013 at 8:38 PM, Vladimir Kozlov wrote: > On 7/17/13 10:18 AM, Christian Thalinger wrote: >> >> One question: why did you choose to prefix all assembler instructions >> with ppc_? > I agree that the 'ppc_' prefix is somewhat redundant but it has always always been like this:) and it really helps if you are using cscope (or plain grep). Also IDEs like Eclipse and NetBeans don't handle several functions with the same name (and signature) very well (actually, the navigation isn't working at all in such circumstances). Is this really a show-stopper? Changing this would mean that we would have to change all our internal sources which is quite an effort. Thank you and best regards, Volker > > +1 > > and PPC_ prefix in registers names. > > Goetz, it is different from our naming style so we would really appreciate > if you change this. > > Regards, > Vladimir > > >> >> -- Chris >> >> On Jul 17, 2013, at 8:34 AM, "Lindenmaier, Goetz" >> wrote: >> >>> Hi, >>> >>> This time with webrev. Sorry for the double mails. >>> >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed >>> for >>> the PPC64 interpreter port on linux. >>> >>> With this change you can do a core build on ppc64 and run the VM >>> interpreter only. >>> It executes simple programs as jvm98. >>> The change requires >>> >>> * 8016697: Use stubs to implement safefetch >>> >>> * 8020059: The flag introduced by 8014972 is not defined ... >>> which will arrive soon in the staging repository. >>> >>> I marked the change as XL as it contains a lot of code. Nevertheless the >>> code has no impact on the existing Oracle platforms. >>> >>> The change touches a single shared file, globals.hpp, removing a >>> special case introduced for the port. This is because we >>> integrated some changes earlier than originally intended. >>> >>> Please review the change. Does it need testing on Oracle side? >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> Best regards, >>> Goetz. >>> >> > From goetz.lindenmaier at sap.com Fri Jul 19 12:47:01 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 19 Jul 2013 19:47:01 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51E8CE88.2060801@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> Hi David, > I think orderAccess_linux_ppc.inline.hpp should have: > 34 #ifndef _LP64 > 35 #error "Atomic currently only impleneted for PPC64" > 36 #endif You're right, I'll fix this. If you don't object I'll guard it by PPC64 as it depends on the processor architecture and not the memory model. If I will change the ppc_ prefixes that'll take a bit, especially as I will have to adapt all the alignments :(. But that does not matter, as we need to wait for your build change anyways. Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Friday, July 19, 2013 7:29 AM To: Lindenmaier, Goetz Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. Hi Goetz, Only a brief glance through ... I think orderAccess_linux_ppc.inline.hpp should have: 34 #ifndef _LP64 35 #error "Atomic currently only impleneted for PPC64" 36 #endif the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only be atomic on ppc64). BTW typo: 35 #error "Atomic currently only impleneted for PPC64" I also find the ppc_ prefix used in the assembly code somewhat redundant. David ----- On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: > Hi, > > This time with webrev. Sorry for the double mails. > > This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for > the PPC64 interpreter port on linux. > > With this change you can do a core build on ppc64 and run the VM interpreter only. > It executes simple programs as jvm98. > The change requires > > * 8016697: Use stubs to implement safefetch > > * 8020059: The flag introduced by 8014972 is not defined ... > which will arrive soon in the staging repository. > > I marked the change as XL as it contains a lot of code. Nevertheless the > code has no impact on the existing Oracle platforms. > > The change touches a single shared file, globals.hpp, removing a > special case introduced for the port. This is because we > integrated some changes earlier than originally intended. > > Please review the change. Does it need testing on Oracle side? > http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > > Best regards, > Goetz. > From vladimir.kozlov at oracle.com Fri Jul 19 18:29:46 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:29:46 +0000 Subject: hg: ppc-aix-port/stage: 2 new changesets Message-ID: <20130720012947.1B6584822E@hg.openjdk.java.net> Changeset: d2dcb110e9db Author: cl Date: 2013-07-18 03:37 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/d2dcb110e9db Added tag jdk8-b99 for changeset 59dc9da81379 ! .hgtags Changeset: 7e63a77cd52b Author: kvn Date: 2013-07-19 13:24 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/rev/7e63a77cd52b Merge From vladimir.kozlov at oracle.com Fri Jul 19 18:29:49 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:29:49 +0000 Subject: hg: ppc-aix-port/stage/corba: Added tag jdk8-b99 for changeset 3f67804ab613 Message-ID: <20130720012950.DE8E34822F@hg.openjdk.java.net> Changeset: 8d492f1dfd1b Author: cl Date: 2013-07-18 03:37 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/corba/rev/8d492f1dfd1b Added tag jdk8-b99 for changeset 3f67804ab613 ! .hgtags From vladimir.kozlov at oracle.com Fri Jul 19 18:30:03 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:30:03 +0000 Subject: hg: ppc-aix-port/stage/jaxws: Added tag jdk8-b99 for changeset 8ef83d4b23c9 Message-ID: <20130720013021.485F848233@hg.openjdk.java.net> Changeset: 4fd722afae5c Author: cl Date: 2013-07-18 03:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxws/rev/4fd722afae5c Added tag jdk8-b99 for changeset 8ef83d4b23c9 ! .hgtags From vladimir.kozlov at oracle.com Fri Jul 19 18:29:54 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:29:54 +0000 Subject: hg: ppc-aix-port/stage/jaxp: Added tag jdk8-b99 for changeset adf49c3ef83c Message-ID: <20130720012959.066CD48230@hg.openjdk.java.net> Changeset: 043da456d316 Author: cl Date: 2013-07-18 03:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jaxp/rev/043da456d316 Added tag jdk8-b99 for changeset adf49c3ef83c ! .hgtags From vladimir.kozlov at oracle.com Fri Jul 19 18:29:25 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:29:25 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 37 new changesets Message-ID: <20130720013136.96B8648236@hg.openjdk.java.net> Changeset: ea4d24c1e0c6 Author: amurillo Date: 2013-07-04 14:56 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ea4d24c1e0c6 8019934: new hotspot build - hs25-b41 Reviewed-by: jcoomes ! make/hotspot_version Changeset: f323bbb0e6c1 Author: coleenp Date: 2013-07-03 13:45 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/f323bbb0e6c1 8019833: Wrong JNI error code for preexisting JVM Summary: Return the appropriate JNI error message (instead of the generic one) when the JVM is already started Reviewed-by: coleenp, hseigel Contributed-by: sylvestre at debian.org ! src/share/vm/prims/jni.cpp Changeset: 5f7a4367c787 Author: zgu Date: 2013-07-04 06:24 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/5f7a4367c787 8016074: NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state Summary: Uses os::NakedYield() on Solaris instead of os::yield_all() Reviewed-by: acorn, coleenp, hseigel ! src/share/vm/services/memTracker.hpp Changeset: a55aa67bce1a Author: zgu Date: 2013-07-04 04:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/a55aa67bce1a Merge Changeset: 59b052799158 Author: dcubed Date: 2013-07-04 21:10 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/59b052799158 8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace Summary: Dl_info struct should only be used if dladdr() has returned non-zero (no errors) and always check the dladdr() return value; Dl_info.dli_sname and Dl_info.dli_saddr fields should only be used if non-NULL; update/improve runtime/6888954/vmerrors.sh test Reviewed-by: dsamersoff, zgu, hseigel, coleenp ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/os/windows/vm/os_windows.inline.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! test/runtime/6888954/vmerrors.sh Changeset: 93e6dce53ba7 Author: fparain Date: 2013-07-05 08:26 +0000 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/93e6dce53ba7 8016465: The hs_err file gets wrong name Reviewed-by: dcubed, dholmes, rdurbin ! src/share/vm/utilities/vmError.cpp Changeset: cc5b7915104e Author: fparain Date: 2013-07-05 08:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/cc5b7915104e Merge Changeset: cf9d71d3e474 Author: iklam Date: 2013-07-08 10:58 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/cf9d71d3e474 8016903: Thread::_handle_area initial size too big Summary: Changed initial size to Chunk::tiny_size (216 bytes) Reviewed-by: coleenp, dholmes, sspitsyn ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/handles.hpp Changeset: 71180a6e5080 Author: jiangli Date: 2013-07-03 17:26 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful. Summary: Remove -Xaprof and Klass::_alloc_count & ArrayKlass::_alloc_size. Reviewed-by: stefank, coleenp ! agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: fa6929d0b0a9 Author: jiangli Date: 2013-07-08 14:21 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/fa6929d0b0a9 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 3c7b4b7b2625 Author: jiangli Date: 2013-07-08 14:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/3c7b4b7b2625 Merge - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp Changeset: ba9dacff9c9d Author: hseigel Date: 2013-07-08 19:36 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ba9dacff9c9d 8014399: Remove JVM_SetProtectionDomain from hotspot Summary: JVM_SetProtectionDomain has been deprecated since 1.5 and is being removed Reviewed-by: coleenp, hseigel Contributed-by: eric.mccorkle at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 26037663c2a6 Author: hseigel Date: 2013-07-08 16:44 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/26037663c2a6 Merge Changeset: e79a9f26ba2e Author: hseigel Date: 2013-07-08 18:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e79a9f26ba2e Merge Changeset: 72fce0b2d341 Author: zgu Date: 2013-07-09 13:18 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/72fce0b2d341 8011760: assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr Summary: Some of qsort implementation on Linux x86 compares element to itself, which is mistakenly treated as duplicate pointer Reviewed-by: dcubed, acorn ! src/share/vm/services/memBaseline.cpp Changeset: 2839ce15e450 Author: zgu Date: 2013-07-09 19:56 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2839ce15e450 Merge - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp Changeset: 50257d6f5aaa Author: acorn Date: 2013-07-09 14:02 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/50257d6f5aaa 8013635: VM should no longer create bridges for generic signatures. Summary: Requires: 8013789: Compiler bridges, 8015402: metafactory Reviewed-by: sspitsyn, coleenp, bharadwaj ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/runtime/globals.hpp Changeset: 22baec423e2f Author: acorn Date: 2013-07-09 22:48 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/22baec423e2f Merge Changeset: e50be1620201 Author: goetz Date: 2013-07-08 14:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e50be1620201 8020059: The flag introduced by 8014972 is not defined if Hotspot is built without a compiler (zero, ppc64 core build). Summary: define CodeCacheMinimumUseSpace flag for cppInterpeter build. Reviewed-by: kvn ! src/share/vm/runtime/globals.hpp Changeset: e554162ab094 Author: adlertz Date: 2013-07-09 17:20 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e554162ab094 8019625: Test compiler/8005956/PolynomialRoot.java timeouts on Solaris SPARCs Summary: Disable the test for SPARC and reduce the number of test iterations Reviewed-by: kvn ! test/compiler/8005956/PolynomialRoot.java Changeset: b42fe1a8e180 Author: drchase Date: 2013-07-09 08:56 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b42fe1a8e180 8017578: Hotspot compilation error with latest Studio compiler Summary: Make the destructor virtual (note more non-compiler hotspot errors occur downstream) Reviewed-by: kvn, twisti ! src/share/vm/adlc/forms.hpp Changeset: 7ac80525ece9 Author: anoll Date: 2013-07-09 11:48 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/7ac80525ece9 8015635: Crash when specifying very large code cache size Summary: Limit the size of the code cache to at most 2G when arguments are checked; added regression test Reviewed-by: kvn, twisti ! src/share/vm/runtime/arguments.cpp + test/compiler/codecache/CheckUpperLimit.java Changeset: 5f533e38e7d5 Author: twisti Date: 2013-07-09 22:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/5f533e38e7d5 Merge Changeset: dec841e0c9aa Author: anoll Date: 2013-07-10 13:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/dec841e0c9aa 8016749: -XX:+UseISM fails an assert(obj->is_oop()) when running SPECjbb2005 Summary: Remove obsolete code that relates to ISM which was used only on Solaris 8. Reviewed-by: kvn, twisti ! src/os/solaris/vm/globals_solaris.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/share/vm/runtime/arguments.cpp Changeset: ec173c8f3739 Author: roland Date: 2013-07-11 01:11 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ec173c8f3739 Merge ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 2cbc8f3011a0 Author: ehelin Date: 2013-06-05 09:44 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2cbc8f3011a0 8015972: Refactor the sending of the object count after GC event Reviewed-by: brutisso, pliden ! 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/objectCountEventSender.cpp + src/share/vm/gc_implementation/shared/objectCountEventSender.hpp ! src/share/vm/memory/heapInspection.hpp - src/share/vm/memory/klassInfoClosure.hpp Changeset: 63cffb381adc Author: ehelin Date: 2013-06-12 15:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/63cffb381adc 8016170: GC id variable in gcTrace.cpp should use typedef GCId Reviewed-by: johnc, jwilhelm, jmasa ! src/share/vm/gc_implementation/shared/gcTrace.cpp Changeset: 6aa440bc1125 Author: ehelin Date: 2013-06-12 15:21 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/6aa440bc1125 8015683: object_count_after_gc should have the same timestamp for all events Reviewed-by: mgerdin, stefank ! src/share/vm/gc_implementation/shared/gcTrace.cpp ! src/share/vm/gc_implementation/shared/objectCountEventSender.cpp ! src/share/vm/gc_implementation/shared/objectCountEventSender.hpp Changeset: 27c53c9f3a7e Author: ehelin Date: 2013-07-10 15:28 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/27c53c9f3a7e 8013939: Metaspace capacity not available Reviewed-by: tschatzl, mgerdin, stefank ! src/share/vm/gc_interface/collectedHeap.cpp Changeset: 0f631140d13b Author: tamao Date: 2013-07-11 11:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/0f631140d13b Merge - src/share/vm/memory/klassInfoClosure.hpp Changeset: 2b9946e10587 Author: amurillo Date: 2013-07-12 16:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2b9946e10587 Merge - src/share/vm/memory/klassInfoClosure.hpp - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp Changeset: ea979302bb70 Author: amurillo Date: 2013-07-12 16:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ea979302bb70 Added tag hs25-b41 for changeset 2b9946e10587 ! .hgtags Changeset: dc8afa03e5c9 Author: katleman Date: 2013-07-11 14:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/dc8afa03e5c9 8020414: JDK8 b98 source with GPL header errors Reviewed-by: darcy, lancea, iris ! test/runtime/8001071/Test8001071.sh Changeset: 1c474723a324 Author: katleman Date: 2013-07-11 14:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/1c474723a324 Merge Changeset: 81b6cb70717c Author: katleman Date: 2013-07-16 15:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/81b6cb70717c Merge Changeset: bb416ee2a79b Author: cl Date: 2013-07-18 03:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/bb416ee2a79b Added tag jdk8-b99 for changeset 81b6cb70717c ! .hgtags Changeset: 438e13354adf Author: kvn Date: 2013-07-19 13:32 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/438e13354adf Merge ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp - src/share/vm/memory/klassInfoClosure.hpp - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp From vladimir.kozlov at oracle.com Fri Jul 19 18:30:31 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:30:31 +0000 Subject: hg: ppc-aix-port/stage/langtools: 3 new changesets Message-ID: <20130720013111.7822448234@hg.openjdk.java.net> Changeset: 39ec5d8a691b Author: mcimadamore Date: 2013-07-11 14:07 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/39ec5d8a691b 8016281: The SAM method should be passed to the metafactory as a MethodType not a MethodHandle 8020010: Move lambda bridge creation from metafactory and VM to compiler Summary: langtools/javac component of the bridge support and MethodType vs. MethodHandle changes. Reviewed-by: jjg, vromero, briangoetz, forax Contributed-by: robert.field at oracle.com ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/util/Names.java + test/tools/javac/generics/bridges/Bridge.java + test/tools/javac/generics/bridges/BridgeHarness.java + test/tools/javac/generics/bridges/Bridges.java + test/tools/javac/generics/bridges/tests/TestBridgeWithDefault.java + test/tools/javac/generics/bridges/tests/TestClassAndInterfaceBridgeIdentical01.java + test/tools/javac/generics/bridges/tests/TestClassAndInterfaceBridgeIdentical02.java + test/tools/javac/generics/bridges/tests/TestNoBridgeInSiblingsSuper.java + test/tools/javac/generics/bridges/tests/TestNoDuplicateBridges01.java + test/tools/javac/generics/bridges/tests/TestNoDuplicateBridges02.java + test/tools/javac/lambda/bridge/TestMetafactoryBridges.java ! test/tools/javac/lambda/lambdaExpression/LambdaTest6.java ! test/tools/javac/lambda/methodReference/BridgeMethod.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java Changeset: 6d85acab769e Author: mcimadamore Date: 2013-07-17 19:28 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/6d85acab769e 8013638: Few policy tests are failing in Lambda nightly Summary: BridgeHarness test is leaving files open Reviewed-by: ksrini ! test/tools/javac/generics/bridges/BridgeHarness.java Changeset: e73f00139fb5 Author: cl Date: 2013-07-18 03:39 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/langtools/rev/e73f00139fb5 Added tag jdk8-b99 for changeset 6d85acab769e ! .hgtags From vladimir.kozlov at oracle.com Fri Jul 19 18:31:17 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:31:17 +0000 Subject: hg: ppc-aix-port/stage/nashorn: Added tag jdk8-b99 for changeset 10a1ab9e20a4 Message-ID: <20130720013119.A122B48235@hg.openjdk.java.net> Changeset: 10503ced6cc2 Author: cl Date: 2013-07-18 03:39 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/nashorn/rev/10503ced6cc2 Added tag jdk8-b99 for changeset 10a1ab9e20a4 ! .hgtags From vladimir.kozlov at oracle.com Fri Jul 19 18:34:05 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 01:34:05 +0000 Subject: hg: ppc-aix-port/stage/jdk: 6 new changesets Message-ID: <20130720013527.C4F4848237@hg.openjdk.java.net> Changeset: f83794805201 Author: mcimadamore Date: 2013-07-11 14:02 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/f83794805201 8016281: The SAM method should be passed to the metafactory as a MethodType not a MethodHandle 8020010: Move lambda bridge creation from metafactory and VM to compiler Summary: JDK/metafactory component of the bridge fix and and MethodType vs. MethodHandle changes. Reviewed-by: twisti, briangoetz, forax Contributed-by: robert.field at oracle.com ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/SerializedLambda.java Changeset: 56bc019a0525 Author: katleman Date: 2013-07-11 14:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/56bc019a0525 8020414: JDK8 b98 source with GPL header errors Reviewed-by: darcy, lancea, iris ! test/sun/security/krb5/auto/NoneReplayCacheTest.java Changeset: 030d1ca7432f Author: katleman Date: 2013-07-11 14:34 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/030d1ca7432f Merge Changeset: 6a099a36589b Author: katleman Date: 2013-07-16 15:16 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/6a099a36589b Merge Changeset: 9b6070690e50 Author: cl Date: 2013-07-18 03:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/9b6070690e50 Added tag jdk8-b99 for changeset 6a099a36589b ! .hgtags Changeset: 116b000fd800 Author: kvn Date: 2013-07-19 13:23 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk/rev/116b000fd800 Merge From vladimir.kozlov at oracle.com Fri Jul 19 19:19:31 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 19 Jul 2013 19:19:31 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <209753E8-8645-4847-825E-8632749DD780@oracle.com> <51E6E499.4000204@oracle.com> Message-ID: <51E9F3B3.7020902@oracle.com> On 7/19/13 5:30 AM, Volker Simonis wrote: > On Wed, Jul 17, 2013 at 8:38 PM, Vladimir Kozlov > wrote: >> On 7/17/13 10:18 AM, Christian Thalinger wrote: >>> >>> One question: why did you choose to prefix all assembler instructions >>> with ppc_? >> > > I agree that the 'ppc_' prefix is somewhat redundant but it has always > always been like this:) and it really helps if you are using cscope > (or plain grep). You can grep only src/cpu/ppc/vm/* :) > > Also IDEs like Eclipse and NetBeans don't handle several functions > with the same name (and signature) very well (actually, the navigation > isn't working at all in such circumstances). Agree, I also hit such problems. But at least Eclipse is trying sometimes to show list of files where it finds such functions. So you are not totally lost :) > > Is this really a show-stopper? Changing this would mean that we would > have to change all our internal sources which is quite an effort. It is a big deal for us in Hotspot. We follow our coding style and we are trying to avoid any exceptions. Regards, Vladimir > > Thank you and best regards, > Volker > >> >> +1 >> >> and PPC_ prefix in registers names. >> >> Goetz, it is different from our naming style so we would really appreciate >> if you change this. >> >> Regards, >> Vladimir >> >> >>> >>> -- Chris >>> >>> On Jul 17, 2013, at 8:34 AM, "Lindenmaier, Goetz" >>> wrote: >>> >>>> Hi, >>>> >>>> This time with webrev. Sorry for the double mails. >>>> >>>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed >>>> for >>>> the PPC64 interpreter port on linux. >>>> >>>> With this change you can do a core build on ppc64 and run the VM >>>> interpreter only. >>>> It executes simple programs as jvm98. >>>> The change requires >>>> >>>> * 8016697: Use stubs to implement safefetch >>>> >>>> * 8020059: The flag introduced by 8014972 is not defined ... >>>> which will arrive soon in the staging repository. >>>> >>>> I marked the change as XL as it contains a lot of code. Nevertheless the >>>> code has no impact on the existing Oracle platforms. >>>> >>>> The change touches a single shared file, globals.hpp, removing a >>>> special case introduced for the port. This is because we >>>> integrated some changes earlier than originally intended. >>>> >>>> Please review the change. Does it need testing on Oracle side? >>>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>> >>>> Best regards, >>>> Goetz. >>>> >>> >> From vladimir.kozlov at oracle.com Fri Jul 19 22:36:08 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 20 Jul 2013 05:36:08 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 37 new changesets Message-ID: <20130720053732.C2C6A4823D@hg.openjdk.java.net> Changeset: ea4d24c1e0c6 Author: amurillo Date: 2013-07-04 14:56 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ea4d24c1e0c6 8019934: new hotspot build - hs25-b41 Reviewed-by: jcoomes ! make/hotspot_version Changeset: f323bbb0e6c1 Author: coleenp Date: 2013-07-03 13:45 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/f323bbb0e6c1 8019833: Wrong JNI error code for preexisting JVM Summary: Return the appropriate JNI error message (instead of the generic one) when the JVM is already started Reviewed-by: coleenp, hseigel Contributed-by: sylvestre at debian.org ! src/share/vm/prims/jni.cpp Changeset: 5f7a4367c787 Author: zgu Date: 2013-07-04 06:24 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/5f7a4367c787 8016074: NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state Summary: Uses os::NakedYield() on Solaris instead of os::yield_all() Reviewed-by: acorn, coleenp, hseigel ! src/share/vm/services/memTracker.hpp Changeset: a55aa67bce1a Author: zgu Date: 2013-07-04 04:03 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/a55aa67bce1a Merge Changeset: 59b052799158 Author: dcubed Date: 2013-07-04 21:10 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/59b052799158 8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace Summary: Dl_info struct should only be used if dladdr() has returned non-zero (no errors) and always check the dladdr() return value; Dl_info.dli_sname and Dl_info.dli_saddr fields should only be used if non-NULL; update/improve runtime/6888954/vmerrors.sh test Reviewed-by: dsamersoff, zgu, hseigel, coleenp ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/os/windows/vm/os_windows.inline.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! test/runtime/6888954/vmerrors.sh Changeset: 93e6dce53ba7 Author: fparain Date: 2013-07-05 08:26 +0000 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/93e6dce53ba7 8016465: The hs_err file gets wrong name Reviewed-by: dcubed, dholmes, rdurbin ! src/share/vm/utilities/vmError.cpp Changeset: cc5b7915104e Author: fparain Date: 2013-07-05 08:09 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/cc5b7915104e Merge Changeset: cf9d71d3e474 Author: iklam Date: 2013-07-08 10:58 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/cf9d71d3e474 8016903: Thread::_handle_area initial size too big Summary: Changed initial size to Chunk::tiny_size (216 bytes) Reviewed-by: coleenp, dholmes, sspitsyn ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/handles.hpp Changeset: 71180a6e5080 Author: jiangli Date: 2013-07-03 17:26 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/71180a6e5080 7133260: AllocationProfiler uses space in metadata and doesn't seem to do anything useful. Summary: Remove -Xaprof and Klass::_alloc_count & ArrayKlass::_alloc_size. Reviewed-by: stefank, coleenp ! agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: fa6929d0b0a9 Author: jiangli Date: 2013-07-08 14:21 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/fa6929d0b0a9 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 3c7b4b7b2625 Author: jiangli Date: 2013-07-08 14:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/3c7b4b7b2625 Merge - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp Changeset: ba9dacff9c9d Author: hseigel Date: 2013-07-08 19:36 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ba9dacff9c9d 8014399: Remove JVM_SetProtectionDomain from hotspot Summary: JVM_SetProtectionDomain has been deprecated since 1.5 and is being removed Reviewed-by: coleenp, hseigel Contributed-by: eric.mccorkle at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 26037663c2a6 Author: hseigel Date: 2013-07-08 16:44 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/26037663c2a6 Merge Changeset: e79a9f26ba2e Author: hseigel Date: 2013-07-08 18:26 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e79a9f26ba2e Merge Changeset: 72fce0b2d341 Author: zgu Date: 2013-07-09 13:18 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/72fce0b2d341 8011760: assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr Summary: Some of qsort implementation on Linux x86 compares element to itself, which is mistakenly treated as duplicate pointer Reviewed-by: dcubed, acorn ! src/share/vm/services/memBaseline.cpp Changeset: 2839ce15e450 Author: zgu Date: 2013-07-09 19:56 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2839ce15e450 Merge - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp Changeset: 50257d6f5aaa Author: acorn Date: 2013-07-09 14:02 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/50257d6f5aaa 8013635: VM should no longer create bridges for generic signatures. Summary: Requires: 8013789: Compiler bridges, 8015402: metafactory Reviewed-by: sspitsyn, coleenp, bharadwaj ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/runtime/globals.hpp Changeset: 22baec423e2f Author: acorn Date: 2013-07-09 22:48 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/22baec423e2f Merge Changeset: e50be1620201 Author: goetz Date: 2013-07-08 14:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e50be1620201 8020059: The flag introduced by 8014972 is not defined if Hotspot is built without a compiler (zero, ppc64 core build). Summary: define CodeCacheMinimumUseSpace flag for cppInterpeter build. Reviewed-by: kvn ! src/share/vm/runtime/globals.hpp Changeset: e554162ab094 Author: adlertz Date: 2013-07-09 17:20 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/e554162ab094 8019625: Test compiler/8005956/PolynomialRoot.java timeouts on Solaris SPARCs Summary: Disable the test for SPARC and reduce the number of test iterations Reviewed-by: kvn ! test/compiler/8005956/PolynomialRoot.java Changeset: b42fe1a8e180 Author: drchase Date: 2013-07-09 08:56 -0400 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/b42fe1a8e180 8017578: Hotspot compilation error with latest Studio compiler Summary: Make the destructor virtual (note more non-compiler hotspot errors occur downstream) Reviewed-by: kvn, twisti ! src/share/vm/adlc/forms.hpp Changeset: 7ac80525ece9 Author: anoll Date: 2013-07-09 11:48 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/7ac80525ece9 8015635: Crash when specifying very large code cache size Summary: Limit the size of the code cache to at most 2G when arguments are checked; added regression test Reviewed-by: kvn, twisti ! src/share/vm/runtime/arguments.cpp + test/compiler/codecache/CheckUpperLimit.java Changeset: 5f533e38e7d5 Author: twisti Date: 2013-07-09 22:00 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/5f533e38e7d5 Merge Changeset: dec841e0c9aa Author: anoll Date: 2013-07-10 13:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/dec841e0c9aa 8016749: -XX:+UseISM fails an assert(obj->is_oop()) when running SPECjbb2005 Summary: Remove obsolete code that relates to ISM which was used only on Solaris 8. Reviewed-by: kvn, twisti ! src/os/solaris/vm/globals_solaris.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/share/vm/runtime/arguments.cpp Changeset: ec173c8f3739 Author: roland Date: 2013-07-11 01:11 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ec173c8f3739 Merge ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 2cbc8f3011a0 Author: ehelin Date: 2013-06-05 09:44 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2cbc8f3011a0 8015972: Refactor the sending of the object count after GC event Reviewed-by: brutisso, pliden ! 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/objectCountEventSender.cpp + src/share/vm/gc_implementation/shared/objectCountEventSender.hpp ! src/share/vm/memory/heapInspection.hpp - src/share/vm/memory/klassInfoClosure.hpp Changeset: 63cffb381adc Author: ehelin Date: 2013-06-12 15:50 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/63cffb381adc 8016170: GC id variable in gcTrace.cpp should use typedef GCId Reviewed-by: johnc, jwilhelm, jmasa ! src/share/vm/gc_implementation/shared/gcTrace.cpp Changeset: 6aa440bc1125 Author: ehelin Date: 2013-06-12 15:21 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/6aa440bc1125 8015683: object_count_after_gc should have the same timestamp for all events Reviewed-by: mgerdin, stefank ! src/share/vm/gc_implementation/shared/gcTrace.cpp ! src/share/vm/gc_implementation/shared/objectCountEventSender.cpp ! src/share/vm/gc_implementation/shared/objectCountEventSender.hpp Changeset: 27c53c9f3a7e Author: ehelin Date: 2013-07-10 15:28 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/27c53c9f3a7e 8013939: Metaspace capacity not available Reviewed-by: tschatzl, mgerdin, stefank ! src/share/vm/gc_interface/collectedHeap.cpp Changeset: 0f631140d13b Author: tamao Date: 2013-07-11 11:45 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/0f631140d13b Merge - src/share/vm/memory/klassInfoClosure.hpp Changeset: 2b9946e10587 Author: amurillo Date: 2013-07-12 16:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/2b9946e10587 Merge - src/share/vm/memory/klassInfoClosure.hpp - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp Changeset: ea979302bb70 Author: amurillo Date: 2013-07-12 16:53 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/ea979302bb70 Added tag hs25-b41 for changeset 2b9946e10587 ! .hgtags Changeset: dc8afa03e5c9 Author: katleman Date: 2013-07-11 14:07 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/dc8afa03e5c9 8020414: JDK8 b98 source with GPL header errors Reviewed-by: darcy, lancea, iris ! test/runtime/8001071/Test8001071.sh Changeset: 1c474723a324 Author: katleman Date: 2013-07-11 14:33 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/1c474723a324 Merge Changeset: 81b6cb70717c Author: katleman Date: 2013-07-16 15:15 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/81b6cb70717c Merge Changeset: bb416ee2a79b Author: cl Date: 2013-07-18 03:38 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/bb416ee2a79b Added tag jdk8-b99 for changeset 81b6cb70717c ! .hgtags Changeset: 438e13354adf Author: kvn Date: 2013-07-19 13:32 -0700 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/438e13354adf Merge ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp - src/share/vm/memory/klassInfoClosure.hpp - src/share/vm/runtime/aprofiler.cpp - src/share/vm/runtime/aprofiler.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp From vladimir.kozlov at oracle.com Sat Jul 20 11:20:54 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Sat, 20 Jul 2013 11:20:54 -0700 Subject: Sync from jdk8/jdk8 to ppc-aix-port/stage is finished In-Reply-To: <51DF72A8.10105@oracle.com> References: <51DF72A8.10105@oracle.com> Message-ID: <51EAD506.8010003@oracle.com> ppc-aix-port/stage and jdk8/jdk8 are in sync: Java(TM) SE Runtime Environment (build 1.8.0-ea-b99) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b41, mixed mode) It includes Goetz's fix for 8020059: The flag introduced by 8014972 is not defined Thanks, Vladimir From david.holmes at oracle.com Sun Jul 21 20:26:49 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 22 Jul 2013 13:26:49 +1000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> Message-ID: <51ECA679.9030707@oracle.com> On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: > Hi David, > >> I think orderAccess_linux_ppc.inline.hpp should have: >> 34 #ifndef _LP64 >> 35 #error "Atomic currently only impleneted for PPC64" >> 36 #endif > You're right, I'll fix this. > If you don't object I'll guard it by PPC64 as it depends on the > processor architecture and not the memory model. Is there some case where _LP64 would be true but PPC64 would not be ??? They seem effectively interchangeable but I don't know why you would use one in one file and the other in another file ?? Thanks, David > If I will change the ppc_ prefixes that'll take a bit, especially > as I will have to adapt all the alignments :(. > But that does not matter, as we need to wait for your build > change anyways. > > Best regards, > Goetz. > > > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Friday, July 19, 2013 7:29 AM > To: Lindenmaier, Goetz > Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > Hi Goetz, > > Only a brief glance through ... > > I think orderAccess_linux_ppc.inline.hpp should have: > > 34 #ifndef _LP64 > 35 #error "Atomic currently only impleneted for PPC64" > 36 #endif > > the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only > be atomic on ppc64). > > BTW typo: 35 #error "Atomic currently only impleneted for PPC64" > > I also find the ppc_ prefix used in the assembly code somewhat redundant. > > David > ----- > > On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> This time with webrev. Sorry for the double mails. >> >> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for >> the PPC64 interpreter port on linux. >> >> With this change you can do a core build on ppc64 and run the VM interpreter only. >> It executes simple programs as jvm98. >> The change requires >> >> * 8016697: Use stubs to implement safefetch >> >> * 8020059: The flag introduced by 8014972 is not defined ... >> which will arrive soon in the staging repository. >> >> I marked the change as XL as it contains a lot of code. Nevertheless the >> code has no impact on the existing Oracle platforms. >> >> The change touches a single shared file, globals.hpp, removing a >> special case introduced for the port. This is because we >> integrated some changes earlier than originally intended. >> >> Please review the change. Does it need testing on Oracle side? >> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> >> Best regards, >> Goetz. >> From goetz.lindenmaier at sap.com Mon Jul 22 00:14:56 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 22 Jul 2013 07:14:56 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51ECA679.9030707@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> Hi David, PPC64: describes an instruction set / machine with all it's specialities. And the instruction set we implemented the port for has an atomic 64-bit instruction. LP64 describes a memory model. I.E, long == 64bit, int == 32bit , pointer == 64 bit. In contraditction to ILP64 (int == 64bit) etc, which you could as well implement with the PPC64 instruction set. You could also implement a system with ILP32 on PPC64, and then you would have an atomic 64-bit instruction. Compressed oops make sense to protect with LP64, because they are only helpful with 64 bit pointers. While usage of LP64 is not exactly correct here, ILP64, SLP64 etc would also use compressed oops. But it's close enough I guess. Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Montag, 22. Juli 2013 05:27 To: Lindenmaier, Goetz Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: > Hi David, > >> I think orderAccess_linux_ppc.inline.hpp should have: >> 34 #ifndef _LP64 >> 35 #error "Atomic currently only impleneted for PPC64" >> 36 #endif > You're right, I'll fix this. > If you don't object I'll guard it by PPC64 as it depends on the > processor architecture and not the memory model. Is there some case where _LP64 would be true but PPC64 would not be ??? They seem effectively interchangeable but I don't know why you would use one in one file and the other in another file ?? Thanks, David > If I will change the ppc_ prefixes that'll take a bit, especially > as I will have to adapt all the alignments :(. > But that does not matter, as we need to wait for your build > change anyways. > > Best regards, > Goetz. > > > > > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Friday, July 19, 2013 7:29 AM > To: Lindenmaier, Goetz > Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > Hi Goetz, > > Only a brief glance through ... > > I think orderAccess_linux_ppc.inline.hpp should have: > > 34 #ifndef _LP64 > 35 #error "Atomic currently only impleneted for PPC64" > 36 #endif > > the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only > be atomic on ppc64). > > BTW typo: 35 #error "Atomic currently only impleneted for PPC64" > > I also find the ppc_ prefix used in the assembly code somewhat redundant. > > David > ----- > > On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> This time with webrev. Sorry for the double mails. >> >> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for >> the PPC64 interpreter port on linux. >> >> With this change you can do a core build on ppc64 and run the VM interpreter only. >> It executes simple programs as jvm98. >> The change requires >> >> * 8016697: Use stubs to implement safefetch >> >> * 8020059: The flag introduced by 8014972 is not defined ... >> which will arrive soon in the staging repository. >> >> I marked the change as XL as it contains a lot of code. Nevertheless the >> code has no impact on the existing Oracle platforms. >> >> The change touches a single shared file, globals.hpp, removing a >> special case introduced for the port. This is because we >> integrated some changes earlier than originally intended. >> >> Please review the change. Does it need testing on Oracle side? >> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> >> Best regards, >> Goetz. >> From david.holmes at oracle.com Mon Jul 22 04:37:57 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 22 Jul 2013 21:37:57 +1000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> Message-ID: <51ED1995.3090003@oracle.com> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: > Hi David, > > PPC64: describes an instruction set / machine with all it's specialities. And the instruction set > we implemented the port for has an atomic 64-bit instruction. > LP64 describes a memory model. I.E, long == 64bit, int == 32bit , pointer == 64 bit. > In contraditction to ILP64 (int == 64bit) etc, which you could as well implement with the > PPC64 instruction set. You could also implement a system with ILP32 on PPC64, and then > you would have an atomic 64-bit instruction. That still doesn't explain why you think LP64 is okay for the atomic file but you want PPC64 for the orderAccess file. ??? Or do you propose to change both of them to PPC64? All of the existing 64-bit ports have a direct correspondence between the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 is the only 64-bit data model that the OpenJDK sources support. > Compressed oops make sense to protect with LP64, because they are only helpful > with 64 bit pointers. While usage of LP64 is not exactly correct here, ILP64, SLP64 > etc would also use compressed oops. But it's close enough I guess. I'm not concerned about compressed oops. No idea where that came from ;-) David ------ > Best regards, > Goetz. > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Montag, 22. Juli 2013 05:27 > To: Lindenmaier, Goetz > Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >> Hi David, >> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>> 34 #ifndef _LP64 >>> 35 #error "Atomic currently only impleneted for PPC64" >>> 36 #endif >> You're right, I'll fix this. >> If you don't object I'll guard it by PPC64 as it depends on the >> processor architecture and not the memory model. > > Is there some case where _LP64 would be true but PPC64 would not be ??? > They seem effectively interchangeable but I don't know why you would use > one in one file and the other in another file ?? > > Thanks, > David > >> If I will change the ppc_ prefixes that'll take a bit, especially >> as I will have to adapt all the alignments :(. >> But that does not matter, as we need to wait for your build >> change anyways. >> >> Best regards, >> Goetz. >> >> >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Friday, July 19, 2013 7:29 AM >> To: Lindenmaier, Goetz >> Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> Hi Goetz, >> >> Only a brief glance through ... >> >> I think orderAccess_linux_ppc.inline.hpp should have: >> >> 34 #ifndef _LP64 >> 35 #error "Atomic currently only impleneted for PPC64" >> 36 #endif >> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only >> be atomic on ppc64). >> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >> >> I also find the ppc_ prefix used in the assembly code somewhat redundant. >> >> David >> ----- >> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> This time with webrev. Sorry for the double mails. >>> >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for >>> the PPC64 interpreter port on linux. >>> >>> With this change you can do a core build on ppc64 and run the VM interpreter only. >>> It executes simple programs as jvm98. >>> The change requires >>> >>> * 8016697: Use stubs to implement safefetch >>> >>> * 8020059: The flag introduced by 8014972 is not defined ... >>> which will arrive soon in the staging repository. >>> >>> I marked the change as XL as it contains a lot of code. Nevertheless the >>> code has no impact on the existing Oracle platforms. >>> >>> The change touches a single shared file, globals.hpp, removing a >>> special case introduced for the port. This is because we >>> integrated some changes earlier than originally intended. >>> >>> Please review the change. Does it need testing on Oracle side? >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> Best regards, >>> Goetz. >>> From goetz.lindenmaier at sap.com Mon Jul 22 05:40:48 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 22 Jul 2013 12:40:48 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51ED1995.3090003@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> > ??? Or do you propose to change both of them to PPC64? Yes, sure, I want to change both. > All of the existing 64-bit ports have a direct correspondence between > the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. I know. And obviously there is a correspondence, as no one will Implement an LG64 memoyf model on a 32 bit machine. But the usage intermingles different memory model and architecture: E.g., the register declaration in register_x86_hpp is fine: #ifdef AMD64 CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); But I think this makes no sense (assembler_x86.hpp): #ifdef _LP64 void movsbq(Register dst, Address src); void movsbq(Register dst, Register src); // Move signed 32bit immediate to 64bit extending sign void movslq(Address dst, int32_t imm64); void movslq(Register dst, int32_t imm64); and should be guarded by AMD64. And I want to get the PPC port right in such matters. I'm currently removing the ppc_ prefixes ... big fun:) Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Montag, 22. Juli 2013 13:38 To: Lindenmaier, Goetz Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: > Hi David, > > PPC64: describes an instruction set / machine with all it's specialities. And the instruction set > we implemented the port for has an atomic 64-bit instruction. > LP64 describes a memory model. I.E, long == 64bit, int == 32bit , pointer == 64 bit. > In contraditction to ILP64 (int == 64bit) etc, which you could as well implement with the > PPC64 instruction set. You could also implement a system with ILP32 on PPC64, and then > you would have an atomic 64-bit instruction. That still doesn't explain why you think LP64 is okay for the atomic file but you want PPC64 for the orderAccess file. ??? Or do you propose to change both of them to PPC64? All of the existing 64-bit ports have a direct correspondence between the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 is the only 64-bit data model that the OpenJDK sources support. > Compressed oops make sense to protect with LP64, because they are only helpful > with 64 bit pointers. While usage of LP64 is not exactly correct here, ILP64, SLP64 > etc would also use compressed oops. But it's close enough I guess. I'm not concerned about compressed oops. No idea where that came from ;-) David ------ > Best regards, > Goetz. > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Montag, 22. Juli 2013 05:27 > To: Lindenmaier, Goetz > Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >> Hi David, >> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>> 34 #ifndef _LP64 >>> 35 #error "Atomic currently only impleneted for PPC64" >>> 36 #endif >> You're right, I'll fix this. >> If you don't object I'll guard it by PPC64 as it depends on the >> processor architecture and not the memory model. > > Is there some case where _LP64 would be true but PPC64 would not be ??? > They seem effectively interchangeable but I don't know why you would use > one in one file and the other in another file ?? > > Thanks, > David > >> If I will change the ppc_ prefixes that'll take a bit, especially >> as I will have to adapt all the alignments :(. >> But that does not matter, as we need to wait for your build >> change anyways. >> >> Best regards, >> Goetz. >> >> >> >> >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Friday, July 19, 2013 7:29 AM >> To: Lindenmaier, Goetz >> Cc: hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net; Vladimir Kozlov >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> Hi Goetz, >> >> Only a brief glance through ... >> >> I think orderAccess_linux_ppc.inline.hpp should have: >> >> 34 #ifndef _LP64 >> 35 #error "Atomic currently only impleneted for PPC64" >> 36 #endif >> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only >> be atomic on ppc64). >> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >> >> I also find the ppc_ prefix used in the assembly code somewhat redundant. >> >> David >> ----- >> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> This time with webrev. Sorry for the double mails. >>> >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for >>> the PPC64 interpreter port on linux. >>> >>> With this change you can do a core build on ppc64 and run the VM interpreter only. >>> It executes simple programs as jvm98. >>> The change requires >>> >>> * 8016697: Use stubs to implement safefetch >>> >>> * 8020059: The flag introduced by 8014972 is not defined ... >>> which will arrive soon in the staging repository. >>> >>> I marked the change as XL as it contains a lot of code. Nevertheless the >>> code has no impact on the existing Oracle platforms. >>> >>> The change touches a single shared file, globals.hpp, removing a >>> special case introduced for the port. This is because we >>> integrated some changes earlier than originally intended. >>> >>> Please review the change. Does it need testing on Oracle side? >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> Best regards, >>> Goetz. >>> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130722/5ed300be/attachment-0001.html From tdaitx at linux.vnet.ibm.com Mon Jul 22 05:58:34 2013 From: tdaitx at linux.vnet.ibm.com (Tiago =?ISO-8859-1?Q?St=FCrmer?= Daitx) Date: Mon, 22 Jul 2013 09:58:34 -0300 Subject: Huge pages In-Reply-To: References: <1365432591.18065.10.camel@localhost.localdomain> <1365457623.18065.26.camel@localhost.localdomain> <1365478154.18065.29.camel@localhost.localdomain> <1365541405.18065.51.camel@localhost.localdomain> <1365644322.18065.164.camel@localhost.localdomain> <1365698305.18065.177.camel@localhost.localdomain> <1367247062.8386.65.camel@localhost.localdomain> Message-ID: <1374497914.6433.17.camel@localhost.localdomain> On Wed, 2013-07-17 at 14:41 +0200, Volker Simonis wrote: > Hi Tiago, > > I just wanted to let you know that there's currently a discussion > going on about an interesting change which may also solve the problem > we currently have with with -XX:+UseHugeTLBFS on Linux/PPC64: > http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-July/thread.html#10117 > (don't get confused by the strange bug name / subject - it's mainly > about mmap / large pages). Great! > While I was evaluating the change I tried to collect all the available > information about large page support on Linux and that revealed > several questions: > > - where can the information be found which you send me below (about > 'memory slices')? Is that documented somewhere? I'm just asking > because I'd like to collect all the available information in a blog or > wiki. > Quoting one of our kernel devs: "We divide the address space in ppc64 into something called slices. The slices are used to track base page size which is used to hash and address which will helping in doing the virtual to real address translation. Now we divide the address space into 256MB slice till 4GB and everything else is 1TB slice. That means we can have different page size at 256MB granulatirity upto 4GB and everything else will be in 1TB granularity. I am not sure we have the slice limitation documented anywhere. But THP doesn't suffer from those." > - I read that with kernel 3.11 Linux will also support "transparent > huge pages" on Linux/PPC64 > (http://lkml.indiana.edu/hypermail/linux/kernel/1307.0/01916.html) but > I wonder how that can work with the 'memory slices' described by you? > If I understand "transparent huge pages" right (see for example > http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/vm/transhuge.txt) > it works in the way that a separate kernel thread scans the memory for > consecutive memory mappings and if they are large enough the > underlying small pages are transparently replaced by huge pages. Now I > don't understand how this can work if a memory slice only supports one > page size. Or has this "only one page size per slice" restriction been > removed in kernel 3.11. "We added support for multiple page size per segment in 3.11. That means we now have support for different page size per segment and we use slize page size as base page size. We use this to implement transparent hugepage. But hugetlbfs is not yet updated to use MPSS. So allocation using hugetlbfs continue to have the limitation explained." Let me know if that answer is helpful. Regards, Tiago -- Tiago St?rmer Daitx tdaitx at linux.vnet.ibm.com IBM - Linux Technology Center From vladimir.kozlov at oracle.com Mon Jul 22 09:48:09 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 22 Jul 2013 09:48:09 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> Message-ID: <51ED6249.5060701@oracle.com> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >> ??? Or do you propose to change both of them to PPC64? > Yes, sure, I want to change both. Why do we need this error if this code is only for PPC64 port? We will have other compilation errors if we try to use these sources for something else as we found already. Do you have an other usage so you need this guard? >> All of the existing 64-bit ports have a direct correspondence between >> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. > > I know. And obviously there is a correspondence, as no one will > Implement an LG64 memory model on a 32 bit machine. > But the usage intermingles different memory model and architecture: > > E.g., the register declaration in register_x86_hpp is fine: > > #ifdef AMD64 > CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); > > But I think this makes no sense (assembler_x86.hpp): > > #ifdef _LP64 > void movsbq(Register dst, Address src); > void movsbq(Register dst, Register src); > // Move signed 32bit immediate to 64bit extending sign > void movslq(Address dst, int32_t imm64); > void movslq(Register dst, int32_t imm64); > > and should be guarded by AMD64. Strictly speaking you are right. But we will never do ilp32 for AMD64 so using _LP64 works for us. Also using AMD64 sometimes rise questions about Intel x64. So using _LP64 is more neutral. > And I want to get the PPC port right in such matters. I agree with this since ppc is more flexible than x86, it seems. > I'm currently removing the ppc_ prefixes ... big fun:) Sorry about that. Regards, Vladimir > Best regards, > > Goetz. > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Montag, 22. Juli 2013 13:38 > To: Lindenmaier, Goetz > Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: > > > Hi David, > > > > > > PPC64: describes an instruction set / machine with all it's specialities. And the instruction set > > > we implemented the port for has an atomic 64-bit instruction. > > > LP64 describes a memory model. I.E, long == 64bit, int == 32bit , pointer == 64 bit. > > > In contraditction to ILP64 (int == 64bit) etc, which you could as well implement with the > > > PPC64 instruction set. You could also implement a system with ILP32 on PPC64, and then > > > you would have an atomic 64-bit instruction. > > That still doesn't explain why you think LP64 is okay for the atomic > > file but you want PPC64 for the orderAccess file. ??? Or do you propose > > to change both of them to PPC64? > > All of the existing 64-bit ports have a direct correspondence between > > the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 > > is the only 64-bit data model that the OpenJDK sources support. > > > Compressed oops make sense to protect with LP64, because they are only helpful > > > with 64 bit pointers. While usage of LP64 is not exactly correct here, ILP64, SLP64 > > > etc would also use compressed oops. But it's close enough I guess. > > I'm not concerned about compressed oops. No idea where that came from ;-) > > David > > ------ > > > Best regards, > > > Goetz. > > > > > > -----Original Message----- > > > From: David Holmes [mailto:david.holmes at oracle.com] > > > Sent: Montag, 22. Juli 2013 05:27 > > > To: Lindenmaier, Goetz > > > Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net > ; Vladimir Kozlov > > > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > > > > > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: > > >> Hi David, > > >> > > >>> I think orderAccess_linux_ppc.inline.hpp should have: > > >>> 34 #ifndef _LP64 > > >>> 35 #error "Atomic currently only impleneted for PPC64" > > >>> 36 #endif > > >> You're right, I'll fix this. > > >> If you don't object I'll guard it by PPC64 as it depends on the > > >> processor architecture and not the memory model. > > > > > > Is there some case where _LP64 would be true but PPC64 would not be ??? > > > They seem effectively interchangeable but I don't know why you would use > > > one in one file and the other in another file ?? > > > > > > Thanks, > > > David > > > > > >> If I will change the ppc_ prefixes that'll take a bit, especially > > >> as I will have to adapt all the alignments :(. > > >> But that does not matter, as we need to wait for your build > > >> change anyways. > > >> > > >> Best regards, > > >> Goetz. > > >> > > >> > > >> > > >> > > >> > > >> -----Original Message----- > > >> From: David Holmes [mailto:david.holmes at oracle.com] > > >> Sent: Friday, July 19, 2013 7:29 AM > > >> To: Lindenmaier, Goetz > > >> Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net > ; Vladimir Kozlov > > >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > >> > > >> Hi Goetz, > > >> > > >> Only a brief glance through ... > > >> > > >> I think orderAccess_linux_ppc.inline.hpp should have: > > >> > > >> 34 #ifndef _LP64 > > >> 35 #error "Atomic currently only impleneted for PPC64" > > >> 36 #endif > > >> > > >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only > > >> be atomic on ppc64). > > >> > > >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" > > >> > > >> I also find the ppc_ prefix used in the assembly code somewhat redundant. > > >> > > >> David > > >> ----- > > >> > > >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: > > >>> Hi, > > >>> > > >>> This time with webrev. Sorry for the double mails. > > >>> > > >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for > > >>> the PPC64 interpreter port on linux. > > >>> > > >>> With this change you can do a core build on ppc64 and run the VM interpreter only. > > >>> It executes simple programs as jvm98. > > >>> The change requires > > >>> > > >>> * 8016697: Use stubs to implement safefetch > > >>> > > >>> * 8020059: The flag introduced by 8014972 is not defined ... > > >>> which will arrive soon in the staging repository. > > >>> > > >>> I marked the change as XL as it contains a lot of code. Nevertheless the > > >>> code has no impact on the existing Oracle platforms. > > >>> > > >>> The change touches a single shared file, globals.hpp, removing a > > >>> special case introduced for the port. This is because we > > >>> integrated some changes earlier than originally intended. > > >>> > > >>> Please review the change. Does it need testing on Oracle side? > > >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > > >>> > > >>> Best regards, > > >>> Goetz. > > >>> > From goetz.lindenmaier at sap.com Mon Jul 22 11:03:43 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 22 Jul 2013 18:03:43 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51ED6249.5060701@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> Hi, I updated the webrev. The code is not without ppc_ and PPC_ prefixes. http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ You can have a look at it, and if you have further comments regarding the style it would be nice to get them early. I still have to adapt all the remaining changes in the patch queue, and then test it with the compiler. With that I obviously can run more tests. I don't really care about the guard. Just tell me what to do... Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Monday, July 22, 2013 6:48 PM To: Lindenmaier, Goetz Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >> ??? Or do you propose to change both of them to PPC64? > Yes, sure, I want to change both. Why do we need this error if this code is only for PPC64 port? We will have other compilation errors if we try to use these sources for something else as we found already. Do you have an other usage so you need this guard? >> All of the existing 64-bit ports have a direct correspondence between >> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. > > I know. And obviously there is a correspondence, as no one will > Implement an LG64 memory model on a 32 bit machine. > But the usage intermingles different memory model and architecture: > > E.g., the register declaration in register_x86_hpp is fine: > > #ifdef AMD64 > CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); > > But I think this makes no sense (assembler_x86.hpp): > > #ifdef _LP64 > void movsbq(Register dst, Address src); > void movsbq(Register dst, Register src); > // Move signed 32bit immediate to 64bit extending sign > void movslq(Address dst, int32_t imm64); > void movslq(Register dst, int32_t imm64); > > and should be guarded by AMD64. Strictly speaking you are right. But we will never do ilp32 for AMD64 so using _LP64 works for us. Also using AMD64 sometimes rise questions about Intel x64. So using _LP64 is more neutral. > And I want to get the PPC port right in such matters. I agree with this since ppc is more flexible than x86, it seems. > I'm currently removing the ppc_ prefixes ... big fun:) Sorry about that. Regards, Vladimir > Best regards, > > Goetz. > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Montag, 22. Juli 2013 13:38 > To: Lindenmaier, Goetz > Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: > > > Hi David, > > > > > > PPC64: describes an instruction set / machine with all it's specialities. And the instruction set > > > we implemented the port for has an atomic 64-bit instruction. > > > LP64 describes a memory model. I.E, long == 64bit, int == 32bit , pointer == 64 bit. > > > In contraditction to ILP64 (int == 64bit) etc, which you could as well implement with the > > > PPC64 instruction set. You could also implement a system with ILP32 on PPC64, and then > > > you would have an atomic 64-bit instruction. > > That still doesn't explain why you think LP64 is okay for the atomic > > file but you want PPC64 for the orderAccess file. ??? Or do you propose > > to change both of them to PPC64? > > All of the existing 64-bit ports have a direct correspondence between > > the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 > > is the only 64-bit data model that the OpenJDK sources support. > > > Compressed oops make sense to protect with LP64, because they are only helpful > > > with 64 bit pointers. While usage of LP64 is not exactly correct here, ILP64, SLP64 > > > etc would also use compressed oops. But it's close enough I guess. > > I'm not concerned about compressed oops. No idea where that came from ;-) > > David > > ------ > > > Best regards, > > > Goetz. > > > > > > -----Original Message----- > > > From: David Holmes [mailto:david.holmes at oracle.com] > > > Sent: Montag, 22. Juli 2013 05:27 > > > To: Lindenmaier, Goetz > > > Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net > ; Vladimir Kozlov > > > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > > > > > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: > > >> Hi David, > > >> > > >>> I think orderAccess_linux_ppc.inline.hpp should have: > > >>> 34 #ifndef _LP64 > > >>> 35 #error "Atomic currently only impleneted for PPC64" > > >>> 36 #endif > > >> You're right, I'll fix this. > > >> If you don't object I'll guard it by PPC64 as it depends on the > > >> processor architecture and not the memory model. > > > > > > Is there some case where _LP64 would be true but PPC64 would not be ??? > > > They seem effectively interchangeable but I don't know why you would use > > > one in one file and the other in another file ?? > > > > > > Thanks, > > > David > > > > > >> If I will change the ppc_ prefixes that'll take a bit, especially > > >> as I will have to adapt all the alignments :(. > > >> But that does not matter, as we need to wait for your build > > >> change anyways. > > >> > > >> Best regards, > > >> Goetz. > > >> > > >> > > >> > > >> > > >> > > >> -----Original Message----- > > >> From: David Holmes [mailto:david.holmes at oracle.com] > > >> Sent: Friday, July 19, 2013 7:29 AM > > >> To: Lindenmaier, Goetz > > >> Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net > ; Vladimir Kozlov > > >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > >> > > >> Hi Goetz, > > >> > > >> Only a brief glance through ... > > >> > > >> I think orderAccess_linux_ppc.inline.hpp should have: > > >> > > >> 34 #ifndef _LP64 > > >> 35 #error "Atomic currently only impleneted for PPC64" > > >> 36 #endif > > >> > > >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only > > >> be atomic on ppc64). > > >> > > >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" > > >> > > >> I also find the ppc_ prefix used in the assembly code somewhat redundant. > > >> > > >> David > > >> ----- > > >> > > >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: > > >>> Hi, > > >>> > > >>> This time with webrev. Sorry for the double mails. > > >>> > > >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for > > >>> the PPC64 interpreter port on linux. > > >>> > > >>> With this change you can do a core build on ppc64 and run the VM interpreter only. > > >>> It executes simple programs as jvm98. > > >>> The change requires > > >>> > > >>> * 8016697: Use stubs to implement safefetch > > >>> > > >>> * 8020059: The flag introduced by 8014972 is not defined ... > > >>> which will arrive soon in the staging repository. > > >>> > > >>> I marked the change as XL as it contains a lot of code. Nevertheless the > > >>> code has no impact on the existing Oracle platforms. > > >>> > > >>> The change touches a single shared file, globals.hpp, removing a > > >>> special case introduced for the port. This is because we > > >>> integrated some changes earlier than originally intended. > > >>> > > >>> Please review the change. Does it need testing on Oracle side? > > >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > > >>> > > >>> Best regards, > > >>> Goetz. > > >>> > From vladimir.kozlov at oracle.com Mon Jul 22 13:03:48 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 22 Jul 2013 13:03:48 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> Message-ID: <51ED9024.3060208@oracle.com> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: > Hi, > > I updated the webrev. The code is not without ppc_ and PPC_ > prefixes. > http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > You can have a look at it, and if you have further comments regarding > the style it would be nice to get them early. I still have to adapt all > the remaining changes in the patch queue, and then test it with the > compiler. With that I obviously can run more tests. In general it is good. Few notes. MacroAssembler::encode_klass_not_null() is wrong. LogKlassAlignmentInBytes should be used or Universe::narrow_klass_shift() in hs25 since klasses were moved to metaspace. Try to run tests with LogMinObjAlignmentInBytes=16 (=32). BTW, the new implementation is coming which will have separate base for compressed classes: 8003424. There was review sent last week. So using r30 unconditionally will be incorrect. > > I don't really care about the guard. Just tell me what to do... To be safe leave guards with PPC64 check instead of _lp64 as you suggested. Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : jniTypes_ppc.hpp: 48 #ifndef PPC64 49 #error "ppc32 support currently not implemented!!!" 50 #endif // PPC64 Our reviews are based on assumption that this port only supports PPC64+LP64 combination. Is this correct assumption? Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc based macbook pro. But do we need it in this port? Regards, Vladimir > > Best regards, > Goetz. > > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Monday, July 22, 2013 6:48 PM > To: Lindenmaier, Goetz > Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>> ??? Or do you propose to change both of them to PPC64? >> Yes, sure, I want to change both. > > Why do we need this error if this code is only for PPC64 port? We will have other compilation errors if we try to use > these sources for something else as we found already. Do you have an other usage so you need this guard? > >>> All of the existing 64-bit ports have a direct correspondence between >>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >> >> I know. And obviously there is a correspondence, as no one will >> Implement an LG64 memory model on a 32 bit machine. >> But the usage intermingles different memory model and architecture: >> >> E.g., the register declaration in register_x86_hpp is fine: >> >> #ifdef AMD64 >> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >> >> But I think this makes no sense (assembler_x86.hpp): >> >> #ifdef _LP64 >> void movsbq(Register dst, Address src); >> void movsbq(Register dst, Register src); >> // Move signed 32bit immediate to 64bit extending sign >> void movslq(Address dst, int32_t imm64); >> void movslq(Register dst, int32_t imm64); >> >> and should be guarded by AMD64. > > Strictly speaking you are right. But we will never do ilp32 for AMD64 so using _LP64 works for us. Also using AMD64 > sometimes rise questions about Intel x64. So using _LP64 is more neutral. > >> And I want to get the PPC port right in such matters. > > I agree with this since ppc is more flexible than x86, it seems. > >> I'm currently removing the ppc_ prefixes ... big fun:) > > Sorry about that. > > Regards, > Vladimir > >> Best regards, >> >> Goetz. >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Montag, 22. Juli 2013 13:38 >> To: Lindenmaier, Goetz >> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >> >> > Hi David, >> >> > >> >> > PPC64: describes an instruction set / machine with all it's specialities. And the instruction set >> >> > we implemented the port for has an atomic 64-bit instruction. >> >> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit , pointer == 64 bit. >> >> > In contraditction to ILP64 (int == 64bit) etc, which you could as well implement with the >> >> > PPC64 instruction set. You could also implement a system with ILP32 on PPC64, and then >> >> > you would have an atomic 64-bit instruction. >> >> That still doesn't explain why you think LP64 is okay for the atomic >> >> file but you want PPC64 for the orderAccess file. ??? Or do you propose >> >> to change both of them to PPC64? >> >> All of the existing 64-bit ports have a direct correspondence between >> >> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >> >> is the only 64-bit data model that the OpenJDK sources support. >> >> > Compressed oops make sense to protect with LP64, because they are only helpful >> >> > with 64 bit pointers. While usage of LP64 is not exactly correct here, ILP64, SLP64 >> >> > etc would also use compressed oops. But it's close enough I guess. >> >> I'm not concerned about compressed oops. No idea where that came from ;-) >> >> David >> >> ------ >> >> > Best regards, >> >> > Goetz. >> >> > >> >> > -----Original Message----- >> >> > From: David Holmes [mailto:david.holmes at oracle.com] >> >> > Sent: Montag, 22. Juli 2013 05:27 >> >> > To: Lindenmaier, Goetz >> >> > Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net >> ; Vladimir Kozlov >> >> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> > >> >> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >> >> >> Hi David, >> >> >> >> >> >>> I think orderAccess_linux_ppc.inline.hpp should have: >> >> >>> 34 #ifndef _LP64 >> >> >>> 35 #error "Atomic currently only impleneted for PPC64" >> >> >>> 36 #endif >> >> >> You're right, I'll fix this. >> >> >> If you don't object I'll guard it by PPC64 as it depends on the >> >> >> processor architecture and not the memory model. >> >> > >> >> > Is there some case where _LP64 would be true but PPC64 would not be ??? >> >> > They seem effectively interchangeable but I don't know why you would use >> >> > one in one file and the other in another file ?? >> >> > >> >> > Thanks, >> >> > David >> >> > >> >> >> If I will change the ppc_ prefixes that'll take a bit, especially >> >> >> as I will have to adapt all the alignments :(. >> >> >> But that does not matter, as we need to wait for your build >> >> >> change anyways. >> >> >> >> >> >> Best regards, >> >> >> Goetz. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -----Original Message----- >> >> >> From: David Holmes [mailto:david.holmes at oracle.com] >> >> >> Sent: Friday, July 19, 2013 7:29 AM >> >> >> To: Lindenmaier, Goetz >> >> >> Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net >> ; Vladimir Kozlov >> >> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> >> >> >> >> Hi Goetz, >> >> >> >> >> >> Only a brief glance through ... >> >> >> >> >> >> I think orderAccess_linux_ppc.inline.hpp should have: >> >> >> >> >> >> 34 #ifndef _LP64 >> >> >> 35 #error "Atomic currently only impleneted for PPC64" >> >> >> 36 #endif >> >> >> >> >> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only >> >> >> be atomic on ppc64). >> >> >> >> >> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >> >> >> >> >> >> I also find the ppc_ prefix used in the assembly code somewhat redundant. >> >> >> >> >> >> David >> >> >> ----- >> >> >> >> >> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >> >> >>> Hi, >> >> >>> >> >> >>> This time with webrev. Sorry for the double mails. >> >> >>> >> >> >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for >> >> >>> the PPC64 interpreter port on linux. >> >> >>> >> >> >>> With this change you can do a core build on ppc64 and run the VM interpreter only. >> >> >>> It executes simple programs as jvm98. >> >> >>> The change requires >> >> >>> >> >> >>> * 8016697: Use stubs to implement safefetch >> >> >>> >> >> >>> * 8020059: The flag introduced by 8014972 is not defined ... >> >> >>> which will arrive soon in the staging repository. >> >> >>> >> >> >>> I marked the change as XL as it contains a lot of code. Nevertheless the >> >> >>> code has no impact on the existing Oracle platforms. >> >> >>> >> >> >>> The change touches a single shared file, globals.hpp, removing a >> >> >>> special case introduced for the port. This is because we >> >> >>> integrated some changes earlier than originally intended. >> >> >>> >> >> >>> Please review the change. Does it need testing on Oracle side? >> >> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> >> >>> >> >> >>> Best regards, >> >> >>> Goetz. >> >> >>> >> From goetz.lindenmaier at sap.com Mon Jul 22 14:14:40 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 22 Jul 2013 21:14:40 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51ED9024.3060208@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF6AA0@DEWDFEMB12A.global.corp.sap> Hi, > MacroAssembler::encode_klass_not_null() is wrong. Thanks for the tip, I'll fix it. > BTW, the new implementation is coming which will have separate base for compressed classes: 8003424. There was review > sent last week. So using r30 unconditionally will be incorrect. Ah, I wondered why you cut the space for the klasses out of the heap. I'll have a look tomorrow how you handle the two bases. On other architectures we load the base always as constant, as the need to run with base is rather small. But sometimes this leads to rematerialization chaos. I'll talk to Volker about the APPLE in ppc_jni.h. I can't see right now why we did that. Our internal file is much cleaner. Usually I keep them as similar as possible. We will NOT do a 32-bit port. If there is somebody in the community to do that we'll support that, but we will not do it. Best regards, Goetz -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Montag, 22. Juli 2013 22:04 To: Lindenmaier, Goetz Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: > Hi, > > I updated the webrev. The code is not without ppc_ and PPC_ > prefixes. > http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > You can have a look at it, and if you have further comments regarding > the style it would be nice to get them early. I still have to adapt all > the remaining changes in the patch queue, and then test it with the > compiler. With that I obviously can run more tests. In general it is good. Few notes. MacroAssembler::encode_klass_not_null() is wrong. LogKlassAlignmentInBytes should be used or Universe::narrow_klass_shift() in hs25 since klasses were moved to metaspace. Try to run tests with LogMinObjAlignmentInBytes=16 (=32). BTW, the new implementation is coming which will have separate base for compressed classes: 8003424. There was review sent last week. So using r30 unconditionally will be incorrect. > > I don't really care about the guard. Just tell me what to do... To be safe leave guards with PPC64 check instead of _lp64 as you suggested. Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : jniTypes_ppc.hpp: 48 #ifndef PPC64 49 #error "ppc32 support currently not implemented!!!" 50 #endif // PPC64 Our reviews are based on assumption that this port only supports PPC64+LP64 combination. Is this correct assumption? Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc based macbook pro. But do we need it in this port? Regards, Vladimir > > Best regards, > Goetz. > > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Monday, July 22, 2013 6:48 PM > To: Lindenmaier, Goetz > Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>> ??? Or do you propose to change both of them to PPC64? >> Yes, sure, I want to change both. > > Why do we need this error if this code is only for PPC64 port? We will have other compilation errors if we try to use > these sources for something else as we found already. Do you have an other usage so you need this guard? > >>> All of the existing 64-bit ports have a direct correspondence between >>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >> >> I know. And obviously there is a correspondence, as no one will >> Implement an LG64 memory model on a 32 bit machine. >> But the usage intermingles different memory model and architecture: >> >> E.g., the register declaration in register_x86_hpp is fine: >> >> #ifdef AMD64 >> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >> >> But I think this makes no sense (assembler_x86.hpp): >> >> #ifdef _LP64 >> void movsbq(Register dst, Address src); >> void movsbq(Register dst, Register src); >> // Move signed 32bit immediate to 64bit extending sign >> void movslq(Address dst, int32_t imm64); >> void movslq(Register dst, int32_t imm64); >> >> and should be guarded by AMD64. > > Strictly speaking you are right. But we will never do ilp32 for AMD64 so using _LP64 works for us. Also using AMD64 > sometimes rise questions about Intel x64. So using _LP64 is more neutral. > >> And I want to get the PPC port right in such matters. > > I agree with this since ppc is more flexible than x86, it seems. > >> I'm currently removing the ppc_ prefixes ... big fun:) > > Sorry about that. > > Regards, > Vladimir > >> Best regards, >> >> Goetz. >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Montag, 22. Juli 2013 13:38 >> To: Lindenmaier, Goetz >> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >> >> > Hi David, >> >> > >> >> > PPC64: describes an instruction set / machine with all it's specialities. And the instruction set >> >> > we implemented the port for has an atomic 64-bit instruction. >> >> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit , pointer == 64 bit. >> >> > In contraditction to ILP64 (int == 64bit) etc, which you could as well implement with the >> >> > PPC64 instruction set. You could also implement a system with ILP32 on PPC64, and then >> >> > you would have an atomic 64-bit instruction. >> >> That still doesn't explain why you think LP64 is okay for the atomic >> >> file but you want PPC64 for the orderAccess file. ??? Or do you propose >> >> to change both of them to PPC64? >> >> All of the existing 64-bit ports have a direct correspondence between >> >> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >> >> is the only 64-bit data model that the OpenJDK sources support. >> >> > Compressed oops make sense to protect with LP64, because they are only helpful >> >> > with 64 bit pointers. While usage of LP64 is not exactly correct here, ILP64, SLP64 >> >> > etc would also use compressed oops. But it's close enough I guess. >> >> I'm not concerned about compressed oops. No idea where that came from ;-) >> >> David >> >> ------ >> >> > Best regards, >> >> > Goetz. >> >> > >> >> > -----Original Message----- >> >> > From: David Holmes [mailto:david.holmes at oracle.com] >> >> > Sent: Montag, 22. Juli 2013 05:27 >> >> > To: Lindenmaier, Goetz >> >> > Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net >> ; Vladimir Kozlov >> >> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> > >> >> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >> >> >> Hi David, >> >> >> >> >> >>> I think orderAccess_linux_ppc.inline.hpp should have: >> >> >>> 34 #ifndef _LP64 >> >> >>> 35 #error "Atomic currently only impleneted for PPC64" >> >> >>> 36 #endif >> >> >> You're right, I'll fix this. >> >> >> If you don't object I'll guard it by PPC64 as it depends on the >> >> >> processor architecture and not the memory model. >> >> > >> >> > Is there some case where _LP64 would be true but PPC64 would not be ??? >> >> > They seem effectively interchangeable but I don't know why you would use >> >> > one in one file and the other in another file ?? >> >> > >> >> > Thanks, >> >> > David >> >> > >> >> >> If I will change the ppc_ prefixes that'll take a bit, especially >> >> >> as I will have to adapt all the alignments :(. >> >> >> But that does not matter, as we need to wait for your build >> >> >> change anyways. >> >> >> >> >> >> Best regards, >> >> >> Goetz. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> -----Original Message----- >> >> >> From: David Holmes [mailto:david.holmes at oracle.com] >> >> >> Sent: Friday, July 19, 2013 7:29 AM >> >> >> To: Lindenmaier, Goetz >> >> >> Cc: hotspot-dev at openjdk.java.net ; ppc-aix-port-dev at openjdk.java.net >> ; Vladimir Kozlov >> >> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> >> >> >> >> Hi Goetz, >> >> >> >> >> >> Only a brief glance through ... >> >> >> >> >> >> I think orderAccess_linux_ppc.inline.hpp should have: >> >> >> >> >> >> 34 #ifndef _LP64 >> >> >> 35 #error "Atomic currently only impleneted for PPC64" >> >> >> 36 #endif >> >> >> >> >> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants will only >> >> >> be atomic on ppc64). >> >> >> >> >> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >> >> >> >> >> >> I also find the ppc_ prefix used in the assembly code somewhat redundant. >> >> >> >> >> >> David >> >> >> ----- >> >> >> >> >> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >> >> >>> Hi, >> >> >>> >> >> >>> This time with webrev. Sorry for the double mails. >> >> >>> >> >> >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc needed for >> >> >>> the PPC64 interpreter port on linux. >> >> >>> >> >> >>> With this change you can do a core build on ppc64 and run the VM interpreter only. >> >> >>> It executes simple programs as jvm98. >> >> >>> The change requires >> >> >>> >> >> >>> * 8016697: Use stubs to implement safefetch >> >> >>> >> >> >>> * 8020059: The flag introduced by 8014972 is not defined ... >> >> >>> which will arrive soon in the staging repository. >> >> >>> >> >> >>> I marked the change as XL as it contains a lot of code. Nevertheless the >> >> >>> code has no impact on the existing Oracle platforms. >> >> >>> >> >> >>> The change touches a single shared file, globals.hpp, removing a >> >> >>> special case introduced for the port. This is because we >> >> >>> integrated some changes earlier than originally intended. >> >> >>> >> >> >>> Please review the change. Does it need testing on Oracle side? >> >> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> >> >>> >> >> >>> Best regards, >> >> >>> Goetz. >> >> >>> >> From david.holmes at oracle.com Tue Jul 23 00:54:01 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 23 Jul 2013 17:54:01 +1000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51ED9024.3060208@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> Message-ID: <51EE3699.6000200@oracle.com> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: > On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >> >> I don't really care about the guard. Just tell me what to do... > > To be safe leave guards with PPC64 check instead of _lp64 as you suggested. Yes please do that. I think the guard is important as this is a bit-neutral file. If/when someone creates a 32-bit PPC port we don't want them to have to re-discover the atomicity bugs with jlong/jdouble that were found on the existing platforms. Thanks, David > Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : > > jniTypes_ppc.hpp: > > 48 #ifndef PPC64 > 49 #error "ppc32 support currently not implemented!!!" > 50 #endif // PPC64 > > Our reviews are based on assumption that this port only supports > PPC64+LP64 combination. Is this correct assumption? > > Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc > based macbook pro. But do we need it in this port? > > Regards, > Vladimir > >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >> Sent: Monday, July 22, 2013 6:48 PM >> To: Lindenmaier, Goetz >> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >> hotspot-dev at openjdk.java.net >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >> interpreter only VM. >> >> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>> ??? Or do you propose to change both of them to PPC64? >>> Yes, sure, I want to change both. >> >> Why do we need this error if this code is only for PPC64 port? We will >> have other compilation errors if we try to use >> these sources for something else as we found already. Do you have an >> other usage so you need this guard? >> >>>> All of the existing 64-bit ports have a direct correspondence between >>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>> >>> I know. And obviously there is a correspondence, as no one will >>> Implement an LG64 memory model on a 32 bit machine. >>> But the usage intermingles different memory model and architecture: >>> >>> E.g., the register declaration in register_x86_hpp is fine: >>> >>> #ifdef AMD64 >>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>> >>> But I think this makes no sense (assembler_x86.hpp): >>> >>> #ifdef _LP64 >>> void movsbq(Register dst, Address src); >>> void movsbq(Register dst, Register src); >>> // Move signed 32bit immediate to 64bit extending sign >>> void movslq(Address dst, int32_t imm64); >>> void movslq(Register dst, int32_t imm64); >>> >>> and should be guarded by AMD64. >> >> Strictly speaking you are right. But we will never do ilp32 for AMD64 >> so using _LP64 works for us. Also using AMD64 >> sometimes rise questions about Intel x64. So using _LP64 is more neutral. >> >>> And I want to get the PPC port right in such matters. >> >> I agree with this since ppc is more flexible than x86, it seems. >> >>> I'm currently removing the ppc_ prefixes ... big fun:) >> >> Sorry about that. >> >> Regards, >> Vladimir >> >>> Best regards, >>> >>> Goetz. >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Montag, 22. Juli 2013 13:38 >>> To: Lindenmaier, Goetz >>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>> hotspot-dev at openjdk.java.net >>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>> >>> > Hi David, >>> >>> > >>> >>> > PPC64: describes an instruction set / machine with all it's >>> specialities. And the instruction set >>> >>> > we implemented the port for has an atomic 64-bit >>> instruction. >>> >>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>> , pointer == 64 bit. >>> >>> > In contraditction to ILP64 (int == 64bit) etc, which you could as >>> well implement with the >>> >>> > PPC64 instruction set. You could also implement a system with >>> ILP32 on PPC64, and then >>> >>> > you would have an atomic 64-bit instruction. >>> >>> That still doesn't explain why you think LP64 is okay for the atomic >>> >>> file but you want PPC64 for the orderAccess file. ??? Or do you propose >>> >>> to change both of them to PPC64? >>> >>> All of the existing 64-bit ports have a direct correspondence between >>> >>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >>> >>> is the only 64-bit data model that the OpenJDK sources support. >>> >>> > Compressed oops make sense to protect with LP64, because they are >>> only helpful >>> >>> > with 64 bit pointers. While usage of LP64 is not exactly correct >>> here, ILP64, SLP64 >>> >>> > etc would also use compressed oops. But it's close enough I guess. >>> >>> I'm not concerned about compressed oops. No idea where that came from >>> ;-) >>> >>> David >>> >>> ------ >>> >>> > Best regards, >>> >>> > Goetz. >>> >>> > >>> >>> > -----Original Message----- >>> >>> > From: David Holmes [mailto:david.holmes at oracle.com] >>> >>> > Sent: Montag, 22. Juli 2013 05:27 >>> >>> > To: Lindenmaier, Goetz >>> >>> > Cc: hotspot-dev at openjdk.java.net >>> ; ppc-aix-port-dev at openjdk.java.net >>> ; Vladimir Kozlov >>> >>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>> for interpreter only VM. >>> >>> > >>> >>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>> >>> >> Hi David, >>> >>> >> >>> >>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>> >>> >>> 34 #ifndef _LP64 >>> >>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>> >>> >>> 36 #endif >>> >>> >> You're right, I'll fix this. >>> >>> >> If you don't object I'll guard it by PPC64 as it depends on the >>> >>> >> processor architecture and not the memory model. >>> >>> > >>> >>> > Is there some case where _LP64 would be true but PPC64 would not >>> be ??? >>> >>> > They seem effectively interchangeable but I don't know why you >>> would use >>> >>> > one in one file and the other in another file ?? >>> >>> > >>> >>> > Thanks, >>> >>> > David >>> >>> > >>> >>> >> If I will change the ppc_ prefixes that'll take a bit, especially >>> >>> >> as I will have to adapt all the alignments :(. >>> >>> >> But that does not matter, as we need to wait for your build >>> >>> >> change anyways. >>> >>> >> >>> >>> >> Best regards, >>> >>> >> Goetz. >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> >> -----Original Message----- >>> >>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>> >>> >> Sent: Friday, July 19, 2013 7:29 AM >>> >>> >> To: Lindenmaier, Goetz >>> >>> >> Cc: hotspot-dev at openjdk.java.net >>> ; ppc-aix-port-dev at openjdk.java.net >>> ; Vladimir Kozlov >>> >>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>> for interpreter only VM. >>> >>> >> >>> >>> >> Hi Goetz, >>> >>> >> >>> >>> >> Only a brief glance through ... >>> >>> >> >>> >>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>> >>> >> >>> >>> >> 34 #ifndef _LP64 >>> >>> >> 35 #error "Atomic currently only impleneted for PPC64" >>> >>> >> 36 #endif >>> >>> >> >>> >>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>> will only >>> >>> >> be atomic on ppc64). >>> >>> >> >>> >>> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >>> >>> >> >>> >>> >> I also find the ppc_ prefix used in the assembly code somewhat >>> redundant. >>> >>> >> >>> >>> >> David >>> >>> >> ----- >>> >>> >> >>> >>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>> >>> >>> Hi, >>> >>> >>> >>> >>> >>> This time with webrev. Sorry for the double mails. >>> >>> >>> >>> >>> >>> This change contains all the files in cpu/ppc and >>> os_cpu/linux_ppc needed for >>> >>> >>> the PPC64 interpreter port on linux. >>> >>> >>> >>> >>> >>> With this change you can do a core build on ppc64 and run the >>> VM interpreter only. >>> >>> >>> It executes simple programs as jvm98. >>> >>> >>> The change requires >>> >>> >>> >>> >>> >>> * 8016697: Use stubs to implement safefetch >>> >>> >>> >>> >>> >>> * 8020059: The flag introduced by 8014972 is not >>> defined ... >>> >>> >>> which will arrive soon in the staging repository. >>> >>> >>> >>> >>> >>> I marked the change as XL as it contains a lot of code. >>> Nevertheless the >>> >>> >>> code has no impact on the existing Oracle platforms. >>> >>> >>> >>> >>> >>> The change touches a single shared file, globals.hpp, removing a >>> >>> >>> special case introduced for the port. This is because we >>> >>> >>> integrated some changes earlier than originally intended. >>> >>> >>> >>> >>> >>> Please review the change. Does it need testing on Oracle side? >>> >>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> >>> >>> >>> >>> Best regards, >>> >>> >>> Goetz. >>> >>> >>> >>> From david.holmes at oracle.com Tue Jul 23 00:58:43 2013 From: david.holmes at oracle.com (David Holmes) Date: Tue, 23 Jul 2013 17:58:43 +1000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51EE3699.6000200@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> Message-ID: <51EE37B3.7090507@oracle.com> PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic copies for jlong are only correct on 64-bit. Is there other code in "bit-neutral" ppc files that is really only correct on 64-bit? David ----- On 23/07/2013 5:54 PM, David Holmes wrote: > On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>> >>> I don't really care about the guard. Just tell me what to do... >> >> To be safe leave guards with PPC64 check instead of _lp64 as you >> suggested. > > Yes please do that. I think the guard is important as this is a > bit-neutral file. If/when someone creates a 32-bit PPC port we don't > want them to have to re-discover the atomicity bugs with jlong/jdouble > that were found on the existing platforms. > > Thanks, > David > >> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : >> >> jniTypes_ppc.hpp: >> >> 48 #ifndef PPC64 >> 49 #error "ppc32 support currently not implemented!!!" >> 50 #endif // PPC64 >> >> Our reviews are based on assumption that this port only supports >> PPC64+LP64 combination. Is this correct assumption? >> >> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >> based macbook pro. But do we need it in this port? >> >> Regards, >> Vladimir >> >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>> Sent: Monday, July 22, 2013 6:48 PM >>> To: Lindenmaier, Goetz >>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>> hotspot-dev at openjdk.java.net >>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>> ??? Or do you propose to change both of them to PPC64? >>>> Yes, sure, I want to change both. >>> >>> Why do we need this error if this code is only for PPC64 port? We will >>> have other compilation errors if we try to use >>> these sources for something else as we found already. Do you have an >>> other usage so you need this guard? >>> >>>>> All of the existing 64-bit ports have a direct correspondence between >>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>> >>>> I know. And obviously there is a correspondence, as no one will >>>> Implement an LG64 memory model on a 32 bit machine. >>>> But the usage intermingles different memory model and architecture: >>>> >>>> E.g., the register declaration in register_x86_hpp is fine: >>>> >>>> #ifdef AMD64 >>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>> >>>> But I think this makes no sense (assembler_x86.hpp): >>>> >>>> #ifdef _LP64 >>>> void movsbq(Register dst, Address src); >>>> void movsbq(Register dst, Register src); >>>> // Move signed 32bit immediate to 64bit extending sign >>>> void movslq(Address dst, int32_t imm64); >>>> void movslq(Register dst, int32_t imm64); >>>> >>>> and should be guarded by AMD64. >>> >>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>> so using _LP64 works for us. Also using AMD64 >>> sometimes rise questions about Intel x64. So using _LP64 is more >>> neutral. >>> >>>> And I want to get the PPC port right in such matters. >>> >>> I agree with this since ppc is more flexible than x86, it seems. >>> >>>> I'm currently removing the ppc_ prefixes ... big fun:) >>> >>> Sorry about that. >>> >>> Regards, >>> Vladimir >>> >>>> Best regards, >>>> >>>> Goetz. >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Montag, 22. Juli 2013 13:38 >>>> To: Lindenmaier, Goetz >>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>> hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>> interpreter only VM. >>>> >>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>> >>>> > Hi David, >>>> >>>> > >>>> >>>> > PPC64: describes an instruction set / machine with all it's >>>> specialities. And the instruction set >>>> >>>> > we implemented the port for has an atomic 64-bit >>>> instruction. >>>> >>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>> , pointer == 64 bit. >>>> >>>> > In contraditction to ILP64 (int == 64bit) etc, which you could as >>>> well implement with the >>>> >>>> > PPC64 instruction set. You could also implement a system with >>>> ILP32 on PPC64, and then >>>> >>>> > you would have an atomic 64-bit instruction. >>>> >>>> That still doesn't explain why you think LP64 is okay for the atomic >>>> >>>> file but you want PPC64 for the orderAccess file. ??? Or do you propose >>>> >>>> to change both of them to PPC64? >>>> >>>> All of the existing 64-bit ports have a direct correspondence between >>>> >>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >>>> >>>> is the only 64-bit data model that the OpenJDK sources support. >>>> >>>> > Compressed oops make sense to protect with LP64, because they are >>>> only helpful >>>> >>>> > with 64 bit pointers. While usage of LP64 is not exactly correct >>>> here, ILP64, SLP64 >>>> >>>> > etc would also use compressed oops. But it's close enough I guess. >>>> >>>> I'm not concerned about compressed oops. No idea where that came from >>>> ;-) >>>> >>>> David >>>> >>>> ------ >>>> >>>> > Best regards, >>>> >>>> > Goetz. >>>> >>>> > >>>> >>>> > -----Original Message----- >>>> >>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>> >>>> > Sent: Montag, 22. Juli 2013 05:27 >>>> >>>> > To: Lindenmaier, Goetz >>>> >>>> > Cc: hotspot-dev at openjdk.java.net >>>> ; >>>> ppc-aix-port-dev at openjdk.java.net >>>> ; Vladimir Kozlov >>>> >>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>> for interpreter only VM. >>>> >>>> > >>>> >>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>> >>>> >> Hi David, >>>> >>>> >> >>>> >>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>> >>>> >>> 34 #ifndef _LP64 >>>> >>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >>> 36 #endif >>>> >>>> >> You're right, I'll fix this. >>>> >>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>> >>>> >> processor architecture and not the memory model. >>>> >>>> > >>>> >>>> > Is there some case where _LP64 would be true but PPC64 would not >>>> be ??? >>>> >>>> > They seem effectively interchangeable but I don't know why you >>>> would use >>>> >>>> > one in one file and the other in another file ?? >>>> >>>> > >>>> >>>> > Thanks, >>>> >>>> > David >>>> >>>> > >>>> >>>> >> If I will change the ppc_ prefixes that'll take a bit, especially >>>> >>>> >> as I will have to adapt all the alignments :(. >>>> >>>> >> But that does not matter, as we need to wait for your build >>>> >>>> >> change anyways. >>>> >>>> >> >>>> >>>> >> Best regards, >>>> >>>> >> Goetz. >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> -----Original Message----- >>>> >>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>> >>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>> >>>> >> To: Lindenmaier, Goetz >>>> >>>> >> Cc: hotspot-dev at openjdk.java.net >>>> ; >>>> ppc-aix-port-dev at openjdk.java.net >>>> ; Vladimir Kozlov >>>> >>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>> for interpreter only VM. >>>> >>>> >> >>>> >>>> >> Hi Goetz, >>>> >>>> >> >>>> >>>> >> Only a brief glance through ... >>>> >>>> >> >>>> >>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>> >>>> >> >>>> >>>> >> 34 #ifndef _LP64 >>>> >>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >> 36 #endif >>>> >>>> >> >>>> >>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>> will only >>>> >>>> >> be atomic on ppc64). >>>> >>>> >> >>>> >>>> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >> >>>> >>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>> redundant. >>>> >>>> >> >>>> >>>> >> David >>>> >>>> >> ----- >>>> >>>> >> >>>> >>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>> >>>> >>> Hi, >>>> >>>> >>> >>>> >>>> >>> This time with webrev. Sorry for the double mails. >>>> >>>> >>> >>>> >>>> >>> This change contains all the files in cpu/ppc and >>>> os_cpu/linux_ppc needed for >>>> >>>> >>> the PPC64 interpreter port on linux. >>>> >>>> >>> >>>> >>>> >>> With this change you can do a core build on ppc64 and run the >>>> VM interpreter only. >>>> >>>> >>> It executes simple programs as jvm98. >>>> >>>> >>> The change requires >>>> >>>> >>> >>>> >>>> >>> * 8016697: Use stubs to implement safefetch >>>> >>>> >>> >>>> >>>> >>> * 8020059: The flag introduced by 8014972 is not >>>> defined ... >>>> >>>> >>> which will arrive soon in the staging repository. >>>> >>>> >>> >>>> >>>> >>> I marked the change as XL as it contains a lot of code. >>>> Nevertheless the >>>> >>>> >>> code has no impact on the existing Oracle platforms. >>>> >>>> >>> >>>> >>>> >>> The change touches a single shared file, globals.hpp, removing a >>>> >>>> >>> special case introduced for the port. This is because we >>>> >>>> >>> integrated some changes earlier than originally intended. >>>> >>>> >>> >>>> >>>> >>> Please review the change. Does it need testing on Oracle side? >>>> >>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>> >>>> >>> >>>> >>>> >>> Best regards, >>>> >>>> >>> Goetz. >>>> >>>> >>> >>>> From goetz.lindenmaier at sap.com Tue Jul 23 01:33:22 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Tue, 23 Jul 2013 08:33:22 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51EE37B3.7090507@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF6D42@DEWDFEMB12A.global.corp.sap> Hi, I'd assume there are many, but with others it will be more obvious. I think atomic is important, as the bugs are hard to catch. On x86, the files below contain either LP64, AMD64 or IA32 (even files with bit extension!). I don't think it's helpful if we add the define in all these files. Best regards, Goetz. assembler_x86.cpp assembler_x86.hpp assembler_x86.inline.hpp bytecodeInterpreter_x86.inline.hpp bytes_x86.hpp c1_CodeStubs_x86.cpp c1_Defs_x86.hpp c1_FrameMap_x86.cpp c1_FrameMap_x86.hpp c1_LinearScan_x86.hpp c1_LIRAssembler_x86.cpp c1_LIRAssembler_x86.hpp c1_LIRGenerator_x86.cpp c1_MacroAssembler_x86.cpp c1_Runtime1_x86.cpp c2_globals_x86.hpp c2_init_x86.cpp copy_x86.hpp compiledIC_x86.cpp cppInterpreter_x86.cpp frame_x86.cpp frame_x86.hpp globals_x86.hpp icache_x86.cpp icache_x86.hpp interp_masm_x86_32.cpp interpreter_x86.hpp interpreterRT_x86.hpp jniFastGetField_x86_32.cpp jniTypes_x86.hpp jni_x86.h macroAssembler_x86.cpp macroAssembler_x86.hpp methodHandles_x86.cpp methodHandles_x86.hpp nativeInst_x86.cpp nativeInst_x86.hpp register_definitions_x86.cpp register_x86.cpp register_x86.hpp relocInfo_x86.cpp relocInfo_x86.hpp sharedRuntime_x86_32.cpp sharedRuntime_x86_64.cpp templateInterpreter_x86.hpp templateTable_x86_32.cpp vmreg_x86.cpp vmreg_x86.inline.hpp vm_version_x86.cpp x86_32.ad -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Dienstag, 23. Juli 2013 09:59 To: Lindenmaier, Goetz Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic copies for jlong are only correct on 64-bit. Is there other code in "bit-neutral" ppc files that is really only correct on 64-bit? David ----- On 23/07/2013 5:54 PM, David Holmes wrote: > On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>> >>> I don't really care about the guard. Just tell me what to do... >> >> To be safe leave guards with PPC64 check instead of _lp64 as you >> suggested. > > Yes please do that. I think the guard is important as this is a > bit-neutral file. If/when someone creates a 32-bit PPC port we don't > want them to have to re-discover the atomicity bugs with jlong/jdouble > that were found on the existing platforms. > > Thanks, > David > >> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : >> >> jniTypes_ppc.hpp: >> >> 48 #ifndef PPC64 >> 49 #error "ppc32 support currently not implemented!!!" >> 50 #endif // PPC64 >> >> Our reviews are based on assumption that this port only supports >> PPC64+LP64 combination. Is this correct assumption? >> >> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >> based macbook pro. But do we need it in this port? >> >> Regards, >> Vladimir >> >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>> Sent: Monday, July 22, 2013 6:48 PM >>> To: Lindenmaier, Goetz >>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>> hotspot-dev at openjdk.java.net >>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>> ??? Or do you propose to change both of them to PPC64? >>>> Yes, sure, I want to change both. >>> >>> Why do we need this error if this code is only for PPC64 port? We will >>> have other compilation errors if we try to use >>> these sources for something else as we found already. Do you have an >>> other usage so you need this guard? >>> >>>>> All of the existing 64-bit ports have a direct correspondence between >>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>> >>>> I know. And obviously there is a correspondence, as no one will >>>> Implement an LG64 memory model on a 32 bit machine. >>>> But the usage intermingles different memory model and architecture: >>>> >>>> E.g., the register declaration in register_x86_hpp is fine: >>>> >>>> #ifdef AMD64 >>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>> >>>> But I think this makes no sense (assembler_x86.hpp): >>>> >>>> #ifdef _LP64 >>>> void movsbq(Register dst, Address src); >>>> void movsbq(Register dst, Register src); >>>> // Move signed 32bit immediate to 64bit extending sign >>>> void movslq(Address dst, int32_t imm64); >>>> void movslq(Register dst, int32_t imm64); >>>> >>>> and should be guarded by AMD64. >>> >>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>> so using _LP64 works for us. Also using AMD64 >>> sometimes rise questions about Intel x64. So using _LP64 is more >>> neutral. >>> >>>> And I want to get the PPC port right in such matters. >>> >>> I agree with this since ppc is more flexible than x86, it seems. >>> >>>> I'm currently removing the ppc_ prefixes ... big fun:) >>> >>> Sorry about that. >>> >>> Regards, >>> Vladimir >>> >>>> Best regards, >>>> >>>> Goetz. >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Montag, 22. Juli 2013 13:38 >>>> To: Lindenmaier, Goetz >>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>> hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>> interpreter only VM. >>>> >>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>> >>>> > Hi David, >>>> >>>> > >>>> >>>> > PPC64: describes an instruction set / machine with all it's >>>> specialities. And the instruction set >>>> >>>> > we implemented the port for has an atomic 64-bit >>>> instruction. >>>> >>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>> , pointer == 64 bit. >>>> >>>> > In contraditction to ILP64 (int == 64bit) etc, which you could as >>>> well implement with the >>>> >>>> > PPC64 instruction set. You could also implement a system with >>>> ILP32 on PPC64, and then >>>> >>>> > you would have an atomic 64-bit instruction. >>>> >>>> That still doesn't explain why you think LP64 is okay for the atomic >>>> >>>> file but you want PPC64 for the orderAccess file. ??? Or do you propose >>>> >>>> to change both of them to PPC64? >>>> >>>> All of the existing 64-bit ports have a direct correspondence between >>>> >>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >>>> >>>> is the only 64-bit data model that the OpenJDK sources support. >>>> >>>> > Compressed oops make sense to protect with LP64, because they are >>>> only helpful >>>> >>>> > with 64 bit pointers. While usage of LP64 is not exactly correct >>>> here, ILP64, SLP64 >>>> >>>> > etc would also use compressed oops. But it's close enough I guess. >>>> >>>> I'm not concerned about compressed oops. No idea where that came from >>>> ;-) >>>> >>>> David >>>> >>>> ------ >>>> >>>> > Best regards, >>>> >>>> > Goetz. >>>> >>>> > >>>> >>>> > -----Original Message----- >>>> >>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>> >>>> > Sent: Montag, 22. Juli 2013 05:27 >>>> >>>> > To: Lindenmaier, Goetz >>>> >>>> > Cc: hotspot-dev at openjdk.java.net >>>> ; >>>> ppc-aix-port-dev at openjdk.java.net >>>> ; Vladimir Kozlov >>>> >>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>> for interpreter only VM. >>>> >>>> > >>>> >>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>> >>>> >> Hi David, >>>> >>>> >> >>>> >>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>> >>>> >>> 34 #ifndef _LP64 >>>> >>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >>> 36 #endif >>>> >>>> >> You're right, I'll fix this. >>>> >>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>> >>>> >> processor architecture and not the memory model. >>>> >>>> > >>>> >>>> > Is there some case where _LP64 would be true but PPC64 would not >>>> be ??? >>>> >>>> > They seem effectively interchangeable but I don't know why you >>>> would use >>>> >>>> > one in one file and the other in another file ?? >>>> >>>> > >>>> >>>> > Thanks, >>>> >>>> > David >>>> >>>> > >>>> >>>> >> If I will change the ppc_ prefixes that'll take a bit, especially >>>> >>>> >> as I will have to adapt all the alignments :(. >>>> >>>> >> But that does not matter, as we need to wait for your build >>>> >>>> >> change anyways. >>>> >>>> >> >>>> >>>> >> Best regards, >>>> >>>> >> Goetz. >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> -----Original Message----- >>>> >>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>> >>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>> >>>> >> To: Lindenmaier, Goetz >>>> >>>> >> Cc: hotspot-dev at openjdk.java.net >>>> ; >>>> ppc-aix-port-dev at openjdk.java.net >>>> ; Vladimir Kozlov >>>> >>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>> for interpreter only VM. >>>> >>>> >> >>>> >>>> >> Hi Goetz, >>>> >>>> >> >>>> >>>> >> Only a brief glance through ... >>>> >>>> >> >>>> >>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>> >>>> >> >>>> >>>> >> 34 #ifndef _LP64 >>>> >>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >> 36 #endif >>>> >>>> >> >>>> >>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>> will only >>>> >>>> >> be atomic on ppc64). >>>> >>>> >> >>>> >>>> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >> >>>> >>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>> redundant. >>>> >>>> >> >>>> >>>> >> David >>>> >>>> >> ----- >>>> >>>> >> >>>> >>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>> >>>> >>> Hi, >>>> >>>> >>> >>>> >>>> >>> This time with webrev. Sorry for the double mails. >>>> >>>> >>> >>>> >>>> >>> This change contains all the files in cpu/ppc and >>>> os_cpu/linux_ppc needed for >>>> >>>> >>> the PPC64 interpreter port on linux. >>>> >>>> >>> >>>> >>>> >>> With this change you can do a core build on ppc64 and run the >>>> VM interpreter only. >>>> >>>> >>> It executes simple programs as jvm98. >>>> >>>> >>> The change requires >>>> >>>> >>> >>>> >>>> >>> * 8016697: Use stubs to implement safefetch >>>> >>>> >>> >>>> >>>> >>> * 8020059: The flag introduced by 8014972 is not >>>> defined ... >>>> >>>> >>> which will arrive soon in the staging repository. >>>> >>>> >>> >>>> >>>> >>> I marked the change as XL as it contains a lot of code. >>>> Nevertheless the >>>> >>>> >>> code has no impact on the existing Oracle platforms. >>>> >>>> >>> >>>> >>>> >>> The change touches a single shared file, globals.hpp, removing a >>>> >>>> >>> special case introduced for the port. This is because we >>>> >>>> >>> integrated some changes earlier than originally intended. >>>> >>>> >>> >>>> >>>> >>> Please review the change. Does it need testing on Oracle side? >>>> >>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>> >>>> >>> >>>> >>>> >>> Best regards, >>>> >>>> >>> Goetz. >>>> >>>> >>> >>>> From volker.simonis at gmail.com Tue Jul 23 01:46:51 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 23 Jul 2013 10:46:51 +0200 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51ED9024.3060208@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> Message-ID: On Mon, Jul 22, 2013 at 10:03 PM, Vladimir Kozlov wrote: > On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >> >> Hi, >> >> I updated the webrev. The code is not without ppc_ and PPC_ >> prefixes. >> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> You can have a look at it, and if you have further comments regarding >> the style it would be nice to get them early. I still have to adapt all >> the remaining changes in the patch queue, and then test it with the >> compiler. With that I obviously can run more tests. > > > In general it is good. Few notes. > > MacroAssembler::encode_klass_not_null() is wrong. LogKlassAlignmentInBytes > should be used or Universe::narrow_klass_shift() in hs25 since klasses were > moved to metaspace. > Try to run tests with LogMinObjAlignmentInBytes=16 (=32). > > BTW, the new implementation is coming which will have separate base for > compressed classes: 8003424. There was review sent last week. So using r30 > unconditionally will be incorrect. > > >> >> I don't really care about the guard. Just tell me what to do... > > > To be safe leave guards with PPC64 check instead of _lp64 as you suggested. > > Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : > > jniTypes_ppc.hpp: > > 48 #ifndef PPC64 > 49 #error "ppc32 support currently not implemented!!!" > 50 #endif // PPC64 > > Our reviews are based on assumption that this port only supports PPC64+LP64 > combination. Is this correct assumption? > > Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc > based macbook pro. But do we need it in this port? > It's a leftover from x86/vm/jni_x86.h in jdk7u ("7098194: integrate macosx-port changes") which we used as a boilerplate. We will remove it. > > Regards, > Vladimir > >> >> Best regards, >> Goetz. >> >> >> >> -----Original Message----- >> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >> Sent: Monday, July 22, 2013 6:48 PM >> To: Lindenmaier, Goetz >> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >> hotspot-dev at openjdk.java.net >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >> interpreter only VM. >> >> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>> >>>> ??? Or do you propose to change both of them to PPC64? >>> >>> Yes, sure, I want to change both. >> >> >> Why do we need this error if this code is only for PPC64 port? We will >> have other compilation errors if we try to use >> these sources for something else as we found already. Do you have an other >> usage so you need this guard? >> >>>> All of the existing 64-bit ports have a direct correspondence between >>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>> >>> >>> I know. And obviously there is a correspondence, as no one will >>> Implement an LG64 memory model on a 32 bit machine. >>> But the usage intermingles different memory model and architecture: >>> >>> E.g., the register declaration in register_x86_hpp is fine: >>> >>> #ifdef AMD64 >>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>> >>> But I think this makes no sense (assembler_x86.hpp): >>> >>> #ifdef _LP64 >>> void movsbq(Register dst, Address src); >>> void movsbq(Register dst, Register src); >>> // Move signed 32bit immediate to 64bit extending sign >>> void movslq(Address dst, int32_t imm64); >>> void movslq(Register dst, int32_t imm64); >>> >>> and should be guarded by AMD64. >> >> >> Strictly speaking you are right. But we will never do ilp32 for AMD64 so >> using _LP64 works for us. Also using AMD64 >> sometimes rise questions about Intel x64. So using _LP64 is more neutral. >> >>> And I want to get the PPC port right in such matters. >> >> >> I agree with this since ppc is more flexible than x86, it seems. >> >>> I'm currently removing the ppc_ prefixes ... big fun:) >> >> >> Sorry about that. >> >> Regards, >> Vladimir >> >>> Best regards, >>> >>> Goetz. >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Montag, 22. Juli 2013 13:38 >>> To: Lindenmaier, Goetz >>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>> hotspot-dev at openjdk.java.net >>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>> >>> > Hi David, >>> >>> > >>> >>> > PPC64: describes an instruction set / machine with all it's >>> specialities. And the instruction set >>> >>> > we implemented the port for has an atomic 64-bit >>> instruction. >>> >>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit , >>> pointer == 64 bit. >>> >>> > In contraditction to ILP64 (int == 64bit) etc, which you could as >>> well implement with the >>> >>> > PPC64 instruction set. You could also implement a system with ILP32 >>> on PPC64, and then >>> >>> > you would have an atomic 64-bit instruction. >>> >>> That still doesn't explain why you think LP64 is okay for the atomic >>> >>> file but you want PPC64 for the orderAccess file. ??? Or do you propose >>> >>> to change both of them to PPC64? >>> >>> All of the existing 64-bit ports have a direct correspondence between >>> >>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >>> >>> is the only 64-bit data model that the OpenJDK sources support. >>> >>> > Compressed oops make sense to protect with LP64, because they are >>> only helpful >>> >>> > with 64 bit pointers. While usage of LP64 is not exactly correct >>> here, ILP64, SLP64 >>> >>> > etc would also use compressed oops. But it's close enough I guess. >>> >>> I'm not concerned about compressed oops. No idea where that came from ;-) >>> >>> David >>> >>> ------ >>> >>> > Best regards, >>> >>> > Goetz. >>> >>> > >>> >>> > -----Original Message----- >>> >>> > From: David Holmes [mailto:david.holmes at oracle.com] >>> >>> > Sent: Montag, 22. Juli 2013 05:27 >>> >>> > To: Lindenmaier, Goetz >>> >>> > Cc: hotspot-dev at openjdk.java.net >>> ; ppc-aix-port-dev at openjdk.java.net >>> ; Vladimir Kozlov >>> >>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> > >>> >>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>> >>> >> Hi David, >>> >>> >> >>> >>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>> >>> >>> 34 #ifndef _LP64 >>> >>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>> >>> >>> 36 #endif >>> >>> >> You're right, I'll fix this. >>> >>> >> If you don't object I'll guard it by PPC64 as it depends on the >>> >>> >> processor architecture and not the memory model. >>> >>> > >>> >>> > Is there some case where _LP64 would be true but PPC64 would not be >>> ??? >>> >>> > They seem effectively interchangeable but I don't know why you would >>> use >>> >>> > one in one file and the other in another file ?? >>> >>> > >>> >>> > Thanks, >>> >>> > David >>> >>> > >>> >>> >> If I will change the ppc_ prefixes that'll take a bit, especially >>> >>> >> as I will have to adapt all the alignments :(. >>> >>> >> But that does not matter, as we need to wait for your build >>> >>> >> change anyways. >>> >>> >> >>> >>> >> Best regards, >>> >>> >> Goetz. >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> >> >>> >>> >> -----Original Message----- >>> >>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>> >>> >> Sent: Friday, July 19, 2013 7:29 AM >>> >>> >> To: Lindenmaier, Goetz >>> >>> >> Cc: hotspot-dev at openjdk.java.net >>> ; ppc-aix-port-dev at openjdk.java.net >>> ; Vladimir Kozlov >>> >>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> >> >>> >>> >> Hi Goetz, >>> >>> >> >>> >>> >> Only a brief glance through ... >>> >>> >> >>> >>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>> >>> >> >>> >>> >> 34 #ifndef _LP64 >>> >>> >> 35 #error "Atomic currently only impleneted for PPC64" >>> >>> >> 36 #endif >>> >>> >> >>> >>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants will >>> only >>> >>> >> be atomic on ppc64). >>> >>> >> >>> >>> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >>> >>> >> >>> >>> >> I also find the ppc_ prefix used in the assembly code somewhat >>> redundant. >>> >>> >> >>> >>> >> David >>> >>> >> ----- >>> >>> >> >>> >>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>> >>> >>> Hi, >>> >>> >>> >>> >>> >>> This time with webrev. Sorry for the double mails. >>> >>> >>> >>> >>> >>> This change contains all the files in cpu/ppc and os_cpu/linux_ppc >>> needed for >>> >>> >>> the PPC64 interpreter port on linux. >>> >>> >>> >>> >>> >>> With this change you can do a core build on ppc64 and run the VM >>> interpreter only. >>> >>> >>> It executes simple programs as jvm98. >>> >>> >>> The change requires >>> >>> >>> >>> >>> >>> * 8016697: Use stubs to implement safefetch >>> >>> >>> >>> >>> >>> * 8020059: The flag introduced by 8014972 is not defined >>> ... >>> >>> >>> which will arrive soon in the staging repository. >>> >>> >>> >>> >>> >>> I marked the change as XL as it contains a lot of code. >>> Nevertheless the >>> >>> >>> code has no impact on the existing Oracle platforms. >>> >>> >>> >>> >>> >>> The change touches a single shared file, globals.hpp, removing a >>> >>> >>> special case introduced for the port. This is because we >>> >>> >>> integrated some changes earlier than originally intended. >>> >>> >>> >>> >>> >>> Please review the change. Does it need testing on Oracle side? >>> >>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> >>> >>> >>> >>> Best regards, >>> >>> >>> Goetz. >>> >>> >>> >>> > From goetz.lindenmaier at sap.com Tue Jul 23 02:30:48 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 23 Jul 2013 09:30:48 +0000 Subject: hg: ppc-aix-port/jdk8/hotspot: 2 new changesets Message-ID: <20130723093055.A9F394828F@hg.openjdk.java.net> Changeset: 1fc6c20a7038 Author: goetz Date: 2013-07-17 14:13 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/1fc6c20a7038 ppc memory ordering: on ppc we issue different memory barriers, thus this optimization is illegal. ! src/share/vm/opto/matcher.cpp Changeset: 0bb999f3080b Author: goetz Date: 2013-07-17 14:15 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/0bb999f3080b zero: zero port for 8016697: Use stubs to implement safefetch ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp From volker.simonis at gmail.com Tue Jul 23 09:49:43 2013 From: volker.simonis at gmail.com (volker.simonis at gmail.com) Date: Tue, 23 Jul 2013 16:49:43 +0000 Subject: hg: ppc-aix-port/jdk8/hotspot: 2 new changesets Message-ID: <20130723164954.4B9FC482A9@hg.openjdk.java.net> Changeset: 84f8c9afd6d5 Author: simonis Date: 2013-07-23 17:49 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/84f8c9afd6d5 Fix CXX* flags on AIX (was CPP* flags before) Adapt '7141242: build-infra merge: Rename CPP->CXX and LINK->LD' for AIX ! make/aix/makefiles/ppc64.make ! make/aix/makefiles/xlc.make Changeset: d94754518cfe Author: simonis Date: 2013-07-23 17:49 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/d94754518cfe Remove usage of special 'taskqueue_aix_ppc.hpp' on AIX It seems we dont use any special handling on AIX as long as we use inline-assembler instead of compiler intrinsics ! src/share/vm/utilities/taskqueue.hpp From goetz.lindenmaier at sap.com Tue Jul 23 13:43:17 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Tue, 23 Jul 2013 20:43:17 +0000 Subject: hg: ppc-aix-port/jdk8/hotspot: Recent changes to patches queue. Message-ID: <20130723204321.D0D56482C2@hg.openjdk.java.net> Changeset: 39a0e80749c1 Author: goetz Date: 2013-07-23 22:42 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/39a0e80749c1 Recent changes to patches queue. Especially remove ppc_ prefixes. ! ppc_patches/0004-2_fixFlag_core_build.patch ! ppc_patches/0005_rt-use_stubs_to_implement_safefetch_.patch ! ppc_patches/0009_linux_ppc_files.patch ! ppc_patches/0012_rt-ppc_enable_better_implicit_null_check-posix.patch ! ppc_patches/0013_basic_Aix_adaptions.patch ! ppc_patches/0014_aix_make_changes.patch ! ppc_patches/0113_opto-Extend_Load_and_Store_nodes_to_know_about_memory_ordering.patch ! ppc_patches/0122_PPC-C2_compiler_port-ppc_files.patch ! ppc_patches/0212_rt-gc_memory_ordering.patch ! ppc_patches/0215_opto-extend_ImplicitNullCheck_optimizations.patch ! ppc_patches/0216_opto-trap_based_null_and_range_checks.patch ! ppc_patches/series From goetz.lindenmaier at sap.com Wed Jul 24 01:36:16 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Wed, 24 Jul 2013 08:36:16 +0000 Subject: hg: ppc-aix-port/jdk8/hotspot: Remove ppc_ prefixes in ppc files. Message-ID: <20130724083623.88679482DE@hg.openjdk.java.net> Changeset: aec15fadb105 Author: goetz Date: 2013-07-24 10:28 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/rev/aec15fadb105 Remove ppc_ prefixes in ppc files. ! src/cpu/ppc/vm/assembler_ppc.cpp ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/bytecodeInterpreter_ppc.hpp ! src/cpu/ppc/vm/bytecodeInterpreter_ppc.inline.hpp ! src/cpu/ppc/vm/bytecodes_ppc.cpp ! src/cpu/ppc/vm/bytecodes_ppc.hpp ! src/cpu/ppc/vm/bytes_ppc.hpp ! src/cpu/ppc/vm/c2_globals_ppc.hpp ! src/cpu/ppc/vm/c2_init_ppc.cpp ! src/cpu/ppc/vm/codeBuffer_ppc.hpp ! src/cpu/ppc/vm/compile_ppc.cpp ! src/cpu/ppc/vm/compiledIC_ppc.cpp ! src/cpu/ppc/vm/copy_ppc.hpp ! src/cpu/ppc/vm/cppInterpreterGenerator_ppc.hpp ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/cppInterpreter_ppc.hpp ! src/cpu/ppc/vm/debug_ppc.cpp ! src/cpu/ppc/vm/depChecker_ppc.hpp ! src/cpu/ppc/vm/disassembler_ppc.hpp ! src/cpu/ppc/vm/frame_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.hpp ! src/cpu/ppc/vm/frame_ppc.inline.hpp ! src/cpu/ppc/vm/globalDefinitions_ppc.hpp ! src/cpu/ppc/vm/globals_ppc.hpp ! src/cpu/ppc/vm/icBuffer_ppc.cpp ! src/cpu/ppc/vm/icache_ppc.cpp ! src/cpu/ppc/vm/icache_ppc.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/interpreterGenerator_ppc.hpp ! src/cpu/ppc/vm/interpreterRT_ppc.cpp ! src/cpu/ppc/vm/interpreterRT_ppc.hpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/interpreter_ppc.hpp ! src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp ! src/cpu/ppc/vm/jniFastGetField_ppc.cpp ! src/cpu/ppc/vm/jniTypes_ppc.hpp ! src/cpu/ppc/vm/jni_ppc.h ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp ! src/cpu/ppc/vm/metaspaceShared_ppc.cpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/methodHandles_ppc.hpp ! src/cpu/ppc/vm/nativeInst_ppc.cpp ! src/cpu/ppc/vm/nativeInst_ppc.hpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/ppc_64.ad ! src/cpu/ppc/vm/registerMap_ppc.hpp ! src/cpu/ppc/vm/register_definitions_ppc.cpp ! src/cpu/ppc/vm/register_ppc.cpp ! src/cpu/ppc/vm/register_ppc.hpp ! src/cpu/ppc/vm/relocInfo_ppc.cpp ! src/cpu/ppc/vm/relocInfo_ppc.hpp ! src/cpu/ppc/vm/runtime_ppc.cpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/cpu/ppc/vm/stubRoutines_ppc_64.cpp ! src/cpu/ppc/vm/stubRoutines_ppc_64.hpp ! src/cpu/ppc/vm/vmStructs_ppc.hpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/cpu/ppc/vm/vm_version_ppc.hpp ! src/cpu/ppc/vm/vmreg_ppc.cpp ! src/cpu/ppc/vm/vmreg_ppc.hpp ! src/cpu/ppc/vm/vmreg_ppc.inline.hpp ! src/cpu/ppc/vm/vtableStubs_ppc_64.cpp From goetz.lindenmaier at sap.com Wed Jul 24 07:46:11 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Wed, 24 Jul 2013 14:46:11 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51EE37B3.7090507@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> Hi, I updated the webrev once more. http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ - I fixed encode_klass_not_null() - I cleaned up jni_ppc.h - added the guard in copy_ppc.hpp. Further there were problems on aix. I had to rename the condition code registers from CR0-7 to CCR0-7, as CR0-3 is defined in an AIX system header. David, can I mark the change as reviewed by you? Best regards, Goetz. -----Original Message----- From: David Holmes [mailto:david.holmes at oracle.com] Sent: Dienstag, 23. Juli 2013 09:59 To: Lindenmaier, Goetz Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic copies for jlong are only correct on 64-bit. Is there other code in "bit-neutral" ppc files that is really only correct on 64-bit? David ----- On 23/07/2013 5:54 PM, David Holmes wrote: > On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>> >>> I don't really care about the guard. Just tell me what to do... >> >> To be safe leave guards with PPC64 check instead of _lp64 as you >> suggested. > > Yes please do that. I think the guard is important as this is a > bit-neutral file. If/when someone creates a 32-bit PPC port we don't > want them to have to re-discover the atomicity bugs with jlong/jdouble > that were found on the existing platforms. > > Thanks, > David > >> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : >> >> jniTypes_ppc.hpp: >> >> 48 #ifndef PPC64 >> 49 #error "ppc32 support currently not implemented!!!" >> 50 #endif // PPC64 >> >> Our reviews are based on assumption that this port only supports >> PPC64+LP64 combination. Is this correct assumption? >> >> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >> based macbook pro. But do we need it in this port? >> >> Regards, >> Vladimir >> >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>> Sent: Monday, July 22, 2013 6:48 PM >>> To: Lindenmaier, Goetz >>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>> hotspot-dev at openjdk.java.net >>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>> ??? Or do you propose to change both of them to PPC64? >>>> Yes, sure, I want to change both. >>> >>> Why do we need this error if this code is only for PPC64 port? We will >>> have other compilation errors if we try to use >>> these sources for something else as we found already. Do you have an >>> other usage so you need this guard? >>> >>>>> All of the existing 64-bit ports have a direct correspondence between >>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>> >>>> I know. And obviously there is a correspondence, as no one will >>>> Implement an LG64 memory model on a 32 bit machine. >>>> But the usage intermingles different memory model and architecture: >>>> >>>> E.g., the register declaration in register_x86_hpp is fine: >>>> >>>> #ifdef AMD64 >>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>> >>>> But I think this makes no sense (assembler_x86.hpp): >>>> >>>> #ifdef _LP64 >>>> void movsbq(Register dst, Address src); >>>> void movsbq(Register dst, Register src); >>>> // Move signed 32bit immediate to 64bit extending sign >>>> void movslq(Address dst, int32_t imm64); >>>> void movslq(Register dst, int32_t imm64); >>>> >>>> and should be guarded by AMD64. >>> >>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>> so using _LP64 works for us. Also using AMD64 >>> sometimes rise questions about Intel x64. So using _LP64 is more >>> neutral. >>> >>>> And I want to get the PPC port right in such matters. >>> >>> I agree with this since ppc is more flexible than x86, it seems. >>> >>>> I'm currently removing the ppc_ prefixes ... big fun:) >>> >>> Sorry about that. >>> >>> Regards, >>> Vladimir >>> >>>> Best regards, >>>> >>>> Goetz. >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Montag, 22. Juli 2013 13:38 >>>> To: Lindenmaier, Goetz >>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>> hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>> interpreter only VM. >>>> >>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>> >>>> > Hi David, >>>> >>>> > >>>> >>>> > PPC64: describes an instruction set / machine with all it's >>>> specialities. And the instruction set >>>> >>>> > we implemented the port for has an atomic 64-bit >>>> instruction. >>>> >>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>> , pointer == 64 bit. >>>> >>>> > In contraditction to ILP64 (int == 64bit) etc, which you could as >>>> well implement with the >>>> >>>> > PPC64 instruction set. You could also implement a system with >>>> ILP32 on PPC64, and then >>>> >>>> > you would have an atomic 64-bit instruction. >>>> >>>> That still doesn't explain why you think LP64 is okay for the atomic >>>> >>>> file but you want PPC64 for the orderAccess file. ??? Or do you propose >>>> >>>> to change both of them to PPC64? >>>> >>>> All of the existing 64-bit ports have a direct correspondence between >>>> >>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >>>> >>>> is the only 64-bit data model that the OpenJDK sources support. >>>> >>>> > Compressed oops make sense to protect with LP64, because they are >>>> only helpful >>>> >>>> > with 64 bit pointers. While usage of LP64 is not exactly correct >>>> here, ILP64, SLP64 >>>> >>>> > etc would also use compressed oops. But it's close enough I guess. >>>> >>>> I'm not concerned about compressed oops. No idea where that came from >>>> ;-) >>>> >>>> David >>>> >>>> ------ >>>> >>>> > Best regards, >>>> >>>> > Goetz. >>>> >>>> > >>>> >>>> > -----Original Message----- >>>> >>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>> >>>> > Sent: Montag, 22. Juli 2013 05:27 >>>> >>>> > To: Lindenmaier, Goetz >>>> >>>> > Cc: hotspot-dev at openjdk.java.net >>>> ; >>>> ppc-aix-port-dev at openjdk.java.net >>>> ; Vladimir Kozlov >>>> >>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>> for interpreter only VM. >>>> >>>> > >>>> >>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>> >>>> >> Hi David, >>>> >>>> >> >>>> >>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>> >>>> >>> 34 #ifndef _LP64 >>>> >>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >>> 36 #endif >>>> >>>> >> You're right, I'll fix this. >>>> >>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>> >>>> >> processor architecture and not the memory model. >>>> >>>> > >>>> >>>> > Is there some case where _LP64 would be true but PPC64 would not >>>> be ??? >>>> >>>> > They seem effectively interchangeable but I don't know why you >>>> would use >>>> >>>> > one in one file and the other in another file ?? >>>> >>>> > >>>> >>>> > Thanks, >>>> >>>> > David >>>> >>>> > >>>> >>>> >> If I will change the ppc_ prefixes that'll take a bit, especially >>>> >>>> >> as I will have to adapt all the alignments :(. >>>> >>>> >> But that does not matter, as we need to wait for your build >>>> >>>> >> change anyways. >>>> >>>> >> >>>> >>>> >> Best regards, >>>> >>>> >> Goetz. >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> >>>> >>>> >> -----Original Message----- >>>> >>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>> >>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>> >>>> >> To: Lindenmaier, Goetz >>>> >>>> >> Cc: hotspot-dev at openjdk.java.net >>>> ; >>>> ppc-aix-port-dev at openjdk.java.net >>>> ; Vladimir Kozlov >>>> >>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>> for interpreter only VM. >>>> >>>> >> >>>> >>>> >> Hi Goetz, >>>> >>>> >> >>>> >>>> >> Only a brief glance through ... >>>> >>>> >> >>>> >>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>> >>>> >> >>>> >>>> >> 34 #ifndef _LP64 >>>> >>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >> 36 #endif >>>> >>>> >> >>>> >>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>> will only >>>> >>>> >> be atomic on ppc64). >>>> >>>> >> >>>> >>>> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >>>> >>>> >> >>>> >>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>> redundant. >>>> >>>> >> >>>> >>>> >> David >>>> >>>> >> ----- >>>> >>>> >> >>>> >>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>> >>>> >>> Hi, >>>> >>>> >>> >>>> >>>> >>> This time with webrev. Sorry for the double mails. >>>> >>>> >>> >>>> >>>> >>> This change contains all the files in cpu/ppc and >>>> os_cpu/linux_ppc needed for >>>> >>>> >>> the PPC64 interpreter port on linux. >>>> >>>> >>> >>>> >>>> >>> With this change you can do a core build on ppc64 and run the >>>> VM interpreter only. >>>> >>>> >>> It executes simple programs as jvm98. >>>> >>>> >>> The change requires >>>> >>>> >>> >>>> >>>> >>> * 8016697: Use stubs to implement safefetch >>>> >>>> >>> >>>> >>>> >>> * 8020059: The flag introduced by 8014972 is not >>>> defined ... >>>> >>>> >>> which will arrive soon in the staging repository. >>>> >>>> >>> >>>> >>>> >>> I marked the change as XL as it contains a lot of code. >>>> Nevertheless the >>>> >>>> >>> code has no impact on the existing Oracle platforms. >>>> >>>> >>> >>>> >>>> >>> The change touches a single shared file, globals.hpp, removing a >>>> >>>> >>> special case introduced for the port. This is because we >>>> >>>> >>> integrated some changes earlier than originally intended. >>>> >>>> >>> >>>> >>>> >>> Please review the change. Does it need testing on Oracle side? >>>> >>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>> >>>> >>> >>>> >>>> >>> Best regards, >>>> >>>> >>> Goetz. >>>> >>>> >>> >>>> From volker.simonis at gmail.com Wed Jul 24 10:39:28 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 24 Jul 2013 19:39:28 +0200 Subject: RFR(S): 8019926 : PPC64 (part 106): Make hsdis build and work on Linux/PPC64 Message-ID: Hi, could you please review the following small patch which enables building the hsdis library on Linux/PPC64 and AIX/PPC64: http://cr.openjdk.java.net/~simonis/webrevs/8019926/ I've tested that this change will not break the Linux/x86/x86_64 and Solaris/sparc/sparcv9 platforms. Notice that building the hs-dis library against a recent source version of binutils may stop because of a dependency bug in the binutils configure/make system with an error like: WARNING: `makeinfo' is missing on your system. You should only need it if you modified a `.texi' or `.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy `make' (AIX, DU, IRIX). You might want to install the `Texinfo' package or the `GNU make' package. Grab either from any GNU archive site. make[4]: *** [bfd.info] Error 1 The easiest way to work around this problem is by doing a "touch $BINUTILS/bfd/doc/bfd.info". I've documented this in the HotSpot Wiki at: https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly Thank you and best regards, Volker From vladimir.kozlov at oracle.com Wed Jul 24 11:47:44 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 24 Jul 2013 11:47:44 -0700 Subject: RFR(S): 8019926 : PPC64 (part 106): Make hsdis build and work on Linux/PPC64 In-Reply-To: References: Message-ID: <51F02150.3030205@oracle.com> Looks good. Please, fix indention in hsdis.c. Could you add workaround info to the src/share/tools/hsdis/README? thanks, Vladimir On 7/24/13 10:39 AM, Volker Simonis wrote: > Hi, > > could you please review the following small patch which enables > building the hsdis library on Linux/PPC64 and AIX/PPC64: > > http://cr.openjdk.java.net/~simonis/webrevs/8019926/ > > I've tested that this change will not break the Linux/x86/x86_64 and > Solaris/sparc/sparcv9 platforms. > > Notice that building the hs-dis library against a recent source > version of binutils may stop because of a dependency bug in the > binutils configure/make system with an error like: > > WARNING: `makeinfo' is missing on your system. You should only need it if > you modified a `.texi' or `.texinfo' file, or any other file > indirectly affecting the aspect of the manual. The spurious > call might also be the consequence of using a buggy `make' (AIX, > DU, IRIX). You might want to install the `Texinfo' package or > the `GNU make' package. Grab either from any GNU archive site. > make[4]: *** [bfd.info] Error 1 > > The easiest way to work around this problem is by doing a "touch > $BINUTILS/bfd/doc/bfd.info". I've documented this in the HotSpot Wiki > at: > > https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly > > Thank you and best regards, > Volker > From david.holmes at oracle.com Wed Jul 24 22:22:46 2013 From: david.holmes at oracle.com (David Holmes) Date: Thu, 25 Jul 2013 15:22:46 +1000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> Message-ID: <51F0B626.9060200@oracle.com> On 25/07/2013 12:46 AM, Lindenmaier, Goetz wrote: > Hi, > > I updated the webrev once more. > http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > > - I fixed encode_klass_not_null() > - I cleaned up jni_ppc.h > - added the guard in copy_ppc.hpp. > > Further there were problems on aix. > I had to rename the condition code registers from CR0-7 to CCR0-7, > as CR0-3 is defined in an AIX system header. > > David, can I mark the change as reviewed by you? I only looked at handful of files. David > Best regards, > Goetz. > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Dienstag, 23. Juli 2013 09:59 > To: Lindenmaier, Goetz > Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic > copies for jlong are only correct on 64-bit. > > Is there other code in "bit-neutral" ppc files that is really only > correct on 64-bit? > > David > ----- > > On 23/07/2013 5:54 PM, David Holmes wrote: >> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >>> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>>> >>>> I don't really care about the guard. Just tell me what to do... >>> >>> To be safe leave guards with PPC64 check instead of _lp64 as you >>> suggested. >> >> Yes please do that. I think the guard is important as this is a >> bit-neutral file. If/when someone creates a 32-bit PPC port we don't >> want them to have to re-discover the atomicity bugs with jlong/jdouble >> that were found on the existing platforms. >> >> Thanks, >> David >> >>> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : >>> >>> jniTypes_ppc.hpp: >>> >>> 48 #ifndef PPC64 >>> 49 #error "ppc32 support currently not implemented!!!" >>> 50 #endif // PPC64 >>> >>> Our reviews are based on assumption that this port only supports >>> PPC64+LP64 combination. Is this correct assumption? >>> >>> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >>> based macbook pro. But do we need it in this port? >>> >>> Regards, >>> Vladimir >>> >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>> Sent: Monday, July 22, 2013 6:48 PM >>>> To: Lindenmaier, Goetz >>>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>>> hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>> interpreter only VM. >>>> >>>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>>> ??? Or do you propose to change both of them to PPC64? >>>>> Yes, sure, I want to change both. >>>> >>>> Why do we need this error if this code is only for PPC64 port? We will >>>> have other compilation errors if we try to use >>>> these sources for something else as we found already. Do you have an >>>> other usage so you need this guard? >>>> >>>>>> All of the existing 64-bit ports have a direct correspondence between >>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>> >>>>> I know. And obviously there is a correspondence, as no one will >>>>> Implement an LG64 memory model on a 32 bit machine. >>>>> But the usage intermingles different memory model and architecture: >>>>> >>>>> E.g., the register declaration in register_x86_hpp is fine: >>>>> >>>>> #ifdef AMD64 >>>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>>> >>>>> But I think this makes no sense (assembler_x86.hpp): >>>>> >>>>> #ifdef _LP64 >>>>> void movsbq(Register dst, Address src); >>>>> void movsbq(Register dst, Register src); >>>>> // Move signed 32bit immediate to 64bit extending sign >>>>> void movslq(Address dst, int32_t imm64); >>>>> void movslq(Register dst, int32_t imm64); >>>>> >>>>> and should be guarded by AMD64. >>>> >>>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>>> so using _LP64 works for us. Also using AMD64 >>>> sometimes rise questions about Intel x64. So using _LP64 is more >>>> neutral. >>>> >>>>> And I want to get the PPC port right in such matters. >>>> >>>> I agree with this since ppc is more flexible than x86, it seems. >>>> >>>>> I'm currently removing the ppc_ prefixes ... big fun:) >>>> >>>> Sorry about that. >>>> >>>> Regards, >>>> Vladimir >>>> >>>>> Best regards, >>>>> >>>>> Goetz. >>>>> >>>>> -----Original Message----- >>>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>>> Sent: Montag, 22. Juli 2013 13:38 >>>>> To: Lindenmaier, Goetz >>>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>> hotspot-dev at openjdk.java.net >>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>> interpreter only VM. >>>>> >>>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>>> >>>>> > Hi David, >>>>> >>>>> > >>>>> >>>>> > PPC64: describes an instruction set / machine with all it's >>>>> specialities. And the instruction set >>>>> >>>>> > we implemented the port for has an atomic 64-bit >>>>> instruction. >>>>> >>>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>>> , pointer == 64 bit. >>>>> >>>>> > In contraditction to ILP64 (int == 64bit) etc, which you could as >>>>> well implement with the >>>>> >>>>> > PPC64 instruction set. You could also implement a system with >>>>> ILP32 on PPC64, and then >>>>> >>>>> > you would have an atomic 64-bit instruction. >>>>> >>>>> That still doesn't explain why you think LP64 is okay for the atomic >>>>> >>>>> file but you want PPC64 for the orderAccess file. ??? Or do you propose >>>>> >>>>> to change both of them to PPC64? >>>>> >>>>> All of the existing 64-bit ports have a direct correspondence between >>>>> >>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >>>>> >>>>> is the only 64-bit data model that the OpenJDK sources support. >>>>> >>>>> > Compressed oops make sense to protect with LP64, because they are >>>>> only helpful >>>>> >>>>> > with 64 bit pointers. While usage of LP64 is not exactly correct >>>>> here, ILP64, SLP64 >>>>> >>>>> > etc would also use compressed oops. But it's close enough I guess. >>>>> >>>>> I'm not concerned about compressed oops. No idea where that came from >>>>> ;-) >>>>> >>>>> David >>>>> >>>>> ------ >>>>> >>>>> > Best regards, >>>>> >>>>> > Goetz. >>>>> >>>>> > >>>>> >>>>> > -----Original Message----- >>>>> >>>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>>> >>>>> > Sent: Montag, 22. Juli 2013 05:27 >>>>> >>>>> > To: Lindenmaier, Goetz >>>>> >>>>> > Cc: hotspot-dev at openjdk.java.net >>>>> ; >>>>> ppc-aix-port-dev at openjdk.java.net >>>>> ; Vladimir Kozlov >>>>> >>>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>> for interpreter only VM. >>>>> >>>>> > >>>>> >>>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>>> >>>>> >> Hi David, >>>>> >>>>> >> >>>>> >>>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>>> >>>>> >>> 34 #ifndef _LP64 >>>>> >>>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>>> >>>>> >>> 36 #endif >>>>> >>>>> >> You're right, I'll fix this. >>>>> >>>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>>> >>>>> >> processor architecture and not the memory model. >>>>> >>>>> > >>>>> >>>>> > Is there some case where _LP64 would be true but PPC64 would not >>>>> be ??? >>>>> >>>>> > They seem effectively interchangeable but I don't know why you >>>>> would use >>>>> >>>>> > one in one file and the other in another file ?? >>>>> >>>>> > >>>>> >>>>> > Thanks, >>>>> >>>>> > David >>>>> >>>>> > >>>>> >>>>> >> If I will change the ppc_ prefixes that'll take a bit, especially >>>>> >>>>> >> as I will have to adapt all the alignments :(. >>>>> >>>>> >> But that does not matter, as we need to wait for your build >>>>> >>>>> >> change anyways. >>>>> >>>>> >> >>>>> >>>>> >> Best regards, >>>>> >>>>> >> Goetz. >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> -----Original Message----- >>>>> >>>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>>> >>>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>>> >>>>> >> To: Lindenmaier, Goetz >>>>> >>>>> >> Cc: hotspot-dev at openjdk.java.net >>>>> ; >>>>> ppc-aix-port-dev at openjdk.java.net >>>>> ; Vladimir Kozlov >>>>> >>>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>> for interpreter only VM. >>>>> >>>>> >> >>>>> >>>>> >> Hi Goetz, >>>>> >>>>> >> >>>>> >>>>> >> Only a brief glance through ... >>>>> >>>>> >> >>>>> >>>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>>> >>>>> >> >>>>> >>>>> >> 34 #ifndef _LP64 >>>>> >>>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>>> >>>>> >> 36 #endif >>>>> >>>>> >> >>>>> >>>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>>> will only >>>>> >>>>> >> be atomic on ppc64). >>>>> >>>>> >> >>>>> >>>>> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >>>>> >>>>> >> >>>>> >>>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>>> redundant. >>>>> >>>>> >> >>>>> >>>>> >> David >>>>> >>>>> >> ----- >>>>> >>>>> >> >>>>> >>>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>>> >>>>> >>> Hi, >>>>> >>>>> >>> >>>>> >>>>> >>> This time with webrev. Sorry for the double mails. >>>>> >>>>> >>> >>>>> >>>>> >>> This change contains all the files in cpu/ppc and >>>>> os_cpu/linux_ppc needed for >>>>> >>>>> >>> the PPC64 interpreter port on linux. >>>>> >>>>> >>> >>>>> >>>>> >>> With this change you can do a core build on ppc64 and run the >>>>> VM interpreter only. >>>>> >>>>> >>> It executes simple programs as jvm98. >>>>> >>>>> >>> The change requires >>>>> >>>>> >>> >>>>> >>>>> >>> * 8016697: Use stubs to implement safefetch >>>>> >>>>> >>> >>>>> >>>>> >>> * 8020059: The flag introduced by 8014972 is not >>>>> defined ... >>>>> >>>>> >>> which will arrive soon in the staging repository. >>>>> >>>>> >>> >>>>> >>>>> >>> I marked the change as XL as it contains a lot of code. >>>>> Nevertheless the >>>>> >>>>> >>> code has no impact on the existing Oracle platforms. >>>>> >>>>> >>> >>>>> >>>>> >>> The change touches a single shared file, globals.hpp, removing a >>>>> >>>>> >>> special case introduced for the port. This is because we >>>>> >>>>> >>> integrated some changes earlier than originally intended. >>>>> >>>>> >>> >>>>> >>>>> >>> Please review the change. Does it need testing on Oracle side? >>>>> >>>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>>> >>>>> >>> >>>>> >>>>> >>> Best regards, >>>>> >>>>> >>> Goetz. >>>>> >>>>> >>> >>>>> From vladimir.kozlov at oracle.com Wed Jul 24 22:43:13 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 24 Jul 2013 22:43:13 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> Message-ID: <51F0BAF1.1090000@oracle.com> Thank you, Goetz, This looks good. David pushed makefile changes (8020799) in group's repo. I will try to combine all these changes with staged sources and run JPRT test builds tomorrow. Thanks, Vladimir On 7/24/13 7:46 AM, Lindenmaier, Goetz wrote: > Hi, > > I updated the webrev once more. > http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ > > - I fixed encode_klass_not_null() > - I cleaned up jni_ppc.h > - added the guard in copy_ppc.hpp. > > Further there were problems on aix. > I had to rename the condition code registers from CR0-7 to CCR0-7, > as CR0-3 is defined in an AIX system header. > > David, can I mark the change as reviewed by you? > > Best regards, > Goetz. > > -----Original Message----- > From: David Holmes [mailto:david.holmes at oracle.com] > Sent: Dienstag, 23. Juli 2013 09:59 > To: Lindenmaier, Goetz > Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic > copies for jlong are only correct on 64-bit. > > Is there other code in "bit-neutral" ppc files that is really only > correct on 64-bit? > > David > ----- > > On 23/07/2013 5:54 PM, David Holmes wrote: >> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >>> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>>> >>>> I don't really care about the guard. Just tell me what to do... >>> >>> To be safe leave guards with PPC64 check instead of _lp64 as you >>> suggested. >> >> Yes please do that. I think the guard is important as this is a >> bit-neutral file. If/when someone creates a 32-bit PPC port we don't >> want them to have to re-discover the atomicity bugs with jlong/jdouble >> that were found on the existing platforms. >> >> Thanks, >> David >> >>> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) ? : >>> >>> jniTypes_ppc.hpp: >>> >>> 48 #ifndef PPC64 >>> 49 #error "ppc32 support currently not implemented!!!" >>> 50 #endif // PPC64 >>> >>> Our reviews are based on assumption that this port only supports >>> PPC64+LP64 combination. Is this correct assumption? >>> >>> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >>> based macbook pro. But do we need it in this port? >>> >>> Regards, >>> Vladimir >>> >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>> Sent: Monday, July 22, 2013 6:48 PM >>>> To: Lindenmaier, Goetz >>>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>>> hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>> interpreter only VM. >>>> >>>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>>> ??? Or do you propose to change both of them to PPC64? >>>>> Yes, sure, I want to change both. >>>> >>>> Why do we need this error if this code is only for PPC64 port? We will >>>> have other compilation errors if we try to use >>>> these sources for something else as we found already. Do you have an >>>> other usage so you need this guard? >>>> >>>>>> All of the existing 64-bit ports have a direct correspondence between >>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>> >>>>> I know. And obviously there is a correspondence, as no one will >>>>> Implement an LG64 memory model on a 32 bit machine. >>>>> But the usage intermingles different memory model and architecture: >>>>> >>>>> E.g., the register declaration in register_x86_hpp is fine: >>>>> >>>>> #ifdef AMD64 >>>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>>> >>>>> But I think this makes no sense (assembler_x86.hpp): >>>>> >>>>> #ifdef _LP64 >>>>> void movsbq(Register dst, Address src); >>>>> void movsbq(Register dst, Register src); >>>>> // Move signed 32bit immediate to 64bit extending sign >>>>> void movslq(Address dst, int32_t imm64); >>>>> void movslq(Register dst, int32_t imm64); >>>>> >>>>> and should be guarded by AMD64. >>>> >>>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>>> so using _LP64 works for us. Also using AMD64 >>>> sometimes rise questions about Intel x64. So using _LP64 is more >>>> neutral. >>>> >>>>> And I want to get the PPC port right in such matters. >>>> >>>> I agree with this since ppc is more flexible than x86, it seems. >>>> >>>>> I'm currently removing the ppc_ prefixes ... big fun:) >>>> >>>> Sorry about that. >>>> >>>> Regards, >>>> Vladimir >>>> >>>>> Best regards, >>>>> >>>>> Goetz. >>>>> >>>>> -----Original Message----- >>>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>>> Sent: Montag, 22. Juli 2013 13:38 >>>>> To: Lindenmaier, Goetz >>>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>> hotspot-dev at openjdk.java.net >>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>> interpreter only VM. >>>>> >>>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>>> >>>>> > Hi David, >>>>> >>>>> > >>>>> >>>>> > PPC64: describes an instruction set / machine with all it's >>>>> specialities. And the instruction set >>>>> >>>>> > we implemented the port for has an atomic 64-bit >>>>> instruction. >>>>> >>>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>>> , pointer == 64 bit. >>>>> >>>>> > In contraditction to ILP64 (int == 64bit) etc, which you could as >>>>> well implement with the >>>>> >>>>> > PPC64 instruction set. You could also implement a system with >>>>> ILP32 on PPC64, and then >>>>> >>>>> > you would have an atomic 64-bit instruction. >>>>> >>>>> That still doesn't explain why you think LP64 is okay for the atomic >>>>> >>>>> file but you want PPC64 for the orderAccess file. ??? Or do you propose >>>>> >>>>> to change both of them to PPC64? >>>>> >>>>> All of the existing 64-bit ports have a direct correspondence between >>>>> >>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. LP64 >>>>> >>>>> is the only 64-bit data model that the OpenJDK sources support. >>>>> >>>>> > Compressed oops make sense to protect with LP64, because they are >>>>> only helpful >>>>> >>>>> > with 64 bit pointers. While usage of LP64 is not exactly correct >>>>> here, ILP64, SLP64 >>>>> >>>>> > etc would also use compressed oops. But it's close enough I guess. >>>>> >>>>> I'm not concerned about compressed oops. No idea where that came from >>>>> ;-) >>>>> >>>>> David >>>>> >>>>> ------ >>>>> >>>>> > Best regards, >>>>> >>>>> > Goetz. >>>>> >>>>> > >>>>> >>>>> > -----Original Message----- >>>>> >>>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>>> >>>>> > Sent: Montag, 22. Juli 2013 05:27 >>>>> >>>>> > To: Lindenmaier, Goetz >>>>> >>>>> > Cc: hotspot-dev at openjdk.java.net >>>>> ; >>>>> ppc-aix-port-dev at openjdk.java.net >>>>> ; Vladimir Kozlov >>>>> >>>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>> for interpreter only VM. >>>>> >>>>> > >>>>> >>>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>>> >>>>> >> Hi David, >>>>> >>>>> >> >>>>> >>>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>>> >>>>> >>> 34 #ifndef _LP64 >>>>> >>>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>>> >>>>> >>> 36 #endif >>>>> >>>>> >> You're right, I'll fix this. >>>>> >>>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>>> >>>>> >> processor architecture and not the memory model. >>>>> >>>>> > >>>>> >>>>> > Is there some case where _LP64 would be true but PPC64 would not >>>>> be ??? >>>>> >>>>> > They seem effectively interchangeable but I don't know why you >>>>> would use >>>>> >>>>> > one in one file and the other in another file ?? >>>>> >>>>> > >>>>> >>>>> > Thanks, >>>>> >>>>> > David >>>>> >>>>> > >>>>> >>>>> >> If I will change the ppc_ prefixes that'll take a bit, especially >>>>> >>>>> >> as I will have to adapt all the alignments :(. >>>>> >>>>> >> But that does not matter, as we need to wait for your build >>>>> >>>>> >> change anyways. >>>>> >>>>> >> >>>>> >>>>> >> Best regards, >>>>> >>>>> >> Goetz. >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> >>>>> >>>>> >> -----Original Message----- >>>>> >>>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>>> >>>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>>> >>>>> >> To: Lindenmaier, Goetz >>>>> >>>>> >> Cc: hotspot-dev at openjdk.java.net >>>>> ; >>>>> ppc-aix-port-dev at openjdk.java.net >>>>> ; Vladimir Kozlov >>>>> >>>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>> for interpreter only VM. >>>>> >>>>> >> >>>>> >>>>> >> Hi Goetz, >>>>> >>>>> >> >>>>> >>>>> >> Only a brief glance through ... >>>>> >>>>> >> >>>>> >>>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>>> >>>>> >> >>>>> >>>>> >> 34 #ifndef _LP64 >>>>> >>>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>>> >>>>> >> 36 #endif >>>>> >>>>> >> >>>>> >>>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>>> will only >>>>> >>>>> >> be atomic on ppc64). >>>>> >>>>> >> >>>>> >>>>> >> BTW typo: 35 #error "Atomic currently only impleneted for PPC64" >>>>> >>>>> >> >>>>> >>>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>>> redundant. >>>>> >>>>> >> >>>>> >>>>> >> David >>>>> >>>>> >> ----- >>>>> >>>>> >> >>>>> >>>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>>> >>>>> >>> Hi, >>>>> >>>>> >>> >>>>> >>>>> >>> This time with webrev. Sorry for the double mails. >>>>> >>>>> >>> >>>>> >>>>> >>> This change contains all the files in cpu/ppc and >>>>> os_cpu/linux_ppc needed for >>>>> >>>>> >>> the PPC64 interpreter port on linux. >>>>> >>>>> >>> >>>>> >>>>> >>> With this change you can do a core build on ppc64 and run the >>>>> VM interpreter only. >>>>> >>>>> >>> It executes simple programs as jvm98. >>>>> >>>>> >>> The change requires >>>>> >>>>> >>> >>>>> >>>>> >>> * 8016697: Use stubs to implement safefetch >>>>> >>>>> >>> >>>>> >>>>> >>> * 8020059: The flag introduced by 8014972 is not >>>>> defined ... >>>>> >>>>> >>> which will arrive soon in the staging repository. >>>>> >>>>> >>> >>>>> >>>>> >>> I marked the change as XL as it contains a lot of code. >>>>> Nevertheless the >>>>> >>>>> >>> code has no impact on the existing Oracle platforms. >>>>> >>>>> >>> >>>>> >>>>> >>> The change touches a single shared file, globals.hpp, removing a >>>>> >>>>> >>> special case introduced for the port. This is because we >>>>> >>>>> >>> integrated some changes earlier than originally intended. >>>>> >>>>> >>> >>>>> >>>>> >>> Please review the change. Does it need testing on Oracle side? >>>>> >>>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>>> >>>>> >>> >>>>> >>>>> >>> Best regards, >>>>> >>>>> >>> Goetz. >>>>> >>>>> >>> >>>>> From goetz.lindenmaier at sap.com Thu Jul 25 02:42:40 2013 From: goetz.lindenmaier at sap.com (goetz.lindenmaier at sap.com) Date: Thu, 25 Jul 2013 09:42:40 +0000 Subject: hg: ppc-aix-port/jdk7u/hotspot: 2 new changesets Message-ID: <20130725094255.6C9BB48351@hg.openjdk.java.net> Changeset: 6208de2d95ee Author: goetz Date: 2013-07-24 11:41 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/6208de2d95ee Part assembler and macroassembler into two files. ! src/cpu/ppc/vm/assembler_ppc.cpp ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp + src/cpu/ppc/vm/macroAssembler_ppc.cpp + src/cpu/ppc/vm/macroAssembler_ppc.hpp + src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp Changeset: 5a213e9b92dc Author: goetz Date: 2013-07-24 13:47 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/5a213e9b92dc Remove ppc_ prefixes in ppc files. ! src/cpu/ppc/vm/assembler_ppc.cpp ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/bytecodeInterpreter_ppc.hpp ! src/cpu/ppc/vm/bytecodeInterpreter_ppc.inline.hpp ! src/cpu/ppc/vm/bytecodes_ppc.cpp ! src/cpu/ppc/vm/bytecodes_ppc.hpp ! src/cpu/ppc/vm/bytes_ppc.hpp ! src/cpu/ppc/vm/compile_ppc.cpp ! src/cpu/ppc/vm/copy_ppc.hpp ! src/cpu/ppc/vm/cppInterpreterGenerator_ppc.hpp ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/cppInterpreter_ppc.hpp ! src/cpu/ppc/vm/debug_ppc.cpp ! src/cpu/ppc/vm/depChecker_ppc.hpp ! src/cpu/ppc/vm/disassembler_ppc.hpp ! src/cpu/ppc/vm/frame_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.hpp ! src/cpu/ppc/vm/frame_ppc.inline.hpp ! src/cpu/ppc/vm/globalDefinitions_ppc.hpp ! src/cpu/ppc/vm/globals_ppc.hpp ! src/cpu/ppc/vm/icBuffer_ppc.cpp ! src/cpu/ppc/vm/icache_ppc.cpp ! src/cpu/ppc/vm/icache_ppc.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/interpreterGenerator_ppc.hpp ! src/cpu/ppc/vm/interpreterRT_ppc.cpp ! src/cpu/ppc/vm/interpreterRT_ppc.hpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/interpreter_ppc.hpp ! src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp ! src/cpu/ppc/vm/jniFastGetField_ppc.cpp ! src/cpu/ppc/vm/jniTypes_ppc.hpp ! src/cpu/ppc/vm/jni_ppc.h ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/methodHandles_ppc.hpp ! src/cpu/ppc/vm/nativeInst_ppc.cpp ! src/cpu/ppc/vm/nativeInst_ppc.hpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/ppc_64.ad ! src/cpu/ppc/vm/registerMap_ppc.hpp ! src/cpu/ppc/vm/register_definitions_ppc.cpp ! src/cpu/ppc/vm/register_ppc.cpp ! src/cpu/ppc/vm/register_ppc.hpp ! src/cpu/ppc/vm/relocInfo_ppc.cpp ! src/cpu/ppc/vm/relocInfo_ppc.hpp ! src/cpu/ppc/vm/runtime_ppc.cpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/cpu/ppc/vm/stubRoutines_ppc_64.cpp ! src/cpu/ppc/vm/stubRoutines_ppc_64.hpp ! src/cpu/ppc/vm/vmStructs_ppc.hpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/cpu/ppc/vm/vm_version_ppc.hpp ! src/cpu/ppc/vm/vmreg_ppc.cpp ! src/cpu/ppc/vm/vmreg_ppc.hpp ! src/cpu/ppc/vm/vmreg_ppc.inline.hpp ! src/cpu/ppc/vm/vtableStubs_ppc_64.cpp From volker.simonis at gmail.com Thu Jul 25 09:32:47 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Thu, 25 Jul 2013 18:32:47 +0200 Subject: RFR(S): 8019926 : PPC64 (part 106): Make hsdis build and work on Linux/PPC64 In-Reply-To: <51F02150.3030205@oracle.com> References: <51F02150.3030205@oracle.com> Message-ID: On Wed, Jul 24, 2013 at 8:47 PM, Vladimir Kozlov wrote: > Looks good. > Thanks. > Please, fix indention in hsdis.c. > Done. > Could you add workaround info to the src/share/tools/hsdis/README? > See: http://cr.openjdk.java.net/~simonis/webrevs/8019926.v3/ I've also added a link to the Wiki page and updated the copyright years appropriately. Can I push this right into 'stage' (I don't think it will have any impact on JPRT:) Regards, Volker > thanks, > Vladimir > > > On 7/24/13 10:39 AM, Volker Simonis wrote: >> >> Hi, >> >> could you please review the following small patch which enables >> building the hsdis library on Linux/PPC64 and AIX/PPC64: >> >> http://cr.openjdk.java.net/~simonis/webrevs/8019926/ >> >> I've tested that this change will not break the Linux/x86/x86_64 and >> Solaris/sparc/sparcv9 platforms. >> >> Notice that building the hs-dis library against a recent source >> version of binutils may stop because of a dependency bug in the >> binutils configure/make system with an error like: >> >> WARNING: `makeinfo' is missing on your system. You should only need it if >> you modified a `.texi' or `.texinfo' file, or any other file >> indirectly affecting the aspect of the manual. The spurious >> call might also be the consequence of using a buggy `make' (AIX, >> DU, IRIX). You might want to install the `Texinfo' package or >> the `GNU make' package. Grab either from any GNU archive site. >> make[4]: *** [bfd.info] Error 1 >> >> The easiest way to work around this problem is by doing a "touch >> $BINUTILS/bfd/doc/bfd.info". I've documented this in the HotSpot Wiki >> at: >> >> https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly >> >> Thank you and best regards, >> Volker >> > From vladimir.kozlov at oracle.com Thu Jul 25 11:04:47 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 25 Jul 2013 11:04:47 -0700 Subject: RFR(S): 8019926 : PPC64 (part 106): Make hsdis build and work on Linux/PPC64 In-Reply-To: References: <51F02150.3030205@oracle.com> Message-ID: <51F168BF.4010708@oracle.com> Very good. Yes, you can push it into stage. Thanks, Vladimir On 7/25/13 9:32 AM, Volker Simonis wrote: > On Wed, Jul 24, 2013 at 8:47 PM, Vladimir Kozlov > wrote: >> Looks good. >> > > Thanks. > >> Please, fix indention in hsdis.c. >> > > Done. > >> Could you add workaround info to the src/share/tools/hsdis/README? >> > > See: http://cr.openjdk.java.net/~simonis/webrevs/8019926.v3/ > > I've also added a link to the Wiki page and updated the copyright > years appropriately. > > Can I push this right into 'stage' (I don't think it will have any > impact on JPRT:) > > Regards, > Volker > >> thanks, >> Vladimir >> >> >> On 7/24/13 10:39 AM, Volker Simonis wrote: >>> >>> Hi, >>> >>> could you please review the following small patch which enables >>> building the hsdis library on Linux/PPC64 and AIX/PPC64: >>> >>> http://cr.openjdk.java.net/~simonis/webrevs/8019926/ >>> >>> I've tested that this change will not break the Linux/x86/x86_64 and >>> Solaris/sparc/sparcv9 platforms. >>> >>> Notice that building the hs-dis library against a recent source >>> version of binutils may stop because of a dependency bug in the >>> binutils configure/make system with an error like: >>> >>> WARNING: `makeinfo' is missing on your system. You should only need it if >>> you modified a `.texi' or `.texinfo' file, or any other file >>> indirectly affecting the aspect of the manual. The spurious >>> call might also be the consequence of using a buggy `make' (AIX, >>> DU, IRIX). You might want to install the `Texinfo' package or >>> the `GNU make' package. Grab either from any GNU archive site. >>> make[4]: *** [bfd.info] Error 1 >>> >>> The easiest way to work around this problem is by doing a "touch >>> $BINUTILS/bfd/doc/bfd.info". I've documented this in the HotSpot Wiki >>> at: >>> >>> https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly >>> >>> Thank you and best regards, >>> Volker >>> >> From goetz.lindenmaier at sap.com Thu Jul 25 16:11:01 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Thu, 25 Jul 2013 23:11:01 +0000 Subject: RFR(M): 8020775: PPC64 (part 12): posix signal printing Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF7F4F@DEWDFEMB12A.global.corp.sap> Hi, we'd like to contribute our posix signal printing. We implemented some routines to print signal and sa_flags information in the os/posix files, and call them from os::print_siginfo and print_signal_handler() in the various unix variant directories. The output is a bit more verbose than the existing version. We contribute this here, as our aix code uses this too. Please review this and test it if you think we should add this. We'd appreciate it. http://cr.openjdk.java.net/~goetz/webrevs/8020775-print_sig/ Thanks and best regards, Goetz. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20130725/60887d7e/attachment.html From vladimir.kozlov at oracle.com Thu Jul 25 16:37:49 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 25 Jul 2013 16:37:49 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51F0BAF1.1090000@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> <51F0BAF1.1090000@oracle.com> Message-ID: <51F1B6CD.4040902@oracle.com> Hotspot JPRT testing passed. I will push these changes into stage repo when David's changes reach it. Thanks, Vladimir On 7/24/13 10:43 PM, Vladimir Kozlov wrote: > Thank you, Goetz, > > This looks good. > > David pushed makefile changes (8020799) in group's repo. I will try to > combine all these changes with staged sources and run JPRT test builds > tomorrow. > > Thanks, > Vladimir > > On 7/24/13 7:46 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> I updated the webrev once more. >> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> >> - I fixed encode_klass_not_null() >> - I cleaned up jni_ppc.h >> - added the guard in copy_ppc.hpp. >> >> Further there were problems on aix. >> I had to rename the condition code registers from CR0-7 to CCR0-7, >> as CR0-3 is defined in an AIX system header. >> >> David, can I mark the change as reviewed by you? >> >> Best regards, >> Goetz. >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 23. Juli 2013 09:59 >> To: Lindenmaier, Goetz >> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >> hotspot-dev at openjdk.java.net >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >> interpreter only VM. >> >> PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic >> copies for jlong are only correct on 64-bit. >> >> Is there other code in "bit-neutral" ppc files that is really only >> correct on 64-bit? >> >> David >> ----- >> >> On 23/07/2013 5:54 PM, David Holmes wrote: >>> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >>>> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>>>> >>>>> I don't really care about the guard. Just tell me what to do... >>>> >>>> To be safe leave guards with PPC64 check instead of _lp64 as you >>>> suggested. >>> >>> Yes please do that. I think the guard is important as this is a >>> bit-neutral file. If/when someone creates a 32-bit PPC port we don't >>> want them to have to re-discover the atomicity bugs with jlong/jdouble >>> that were found on the existing platforms. >>> >>> Thanks, >>> David >>> >>>> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) >>>> ? : >>>> >>>> jniTypes_ppc.hpp: >>>> >>>> 48 #ifndef PPC64 >>>> 49 #error "ppc32 support currently not implemented!!!" >>>> 50 #endif // PPC64 >>>> >>>> Our reviews are based on assumption that this port only supports >>>> PPC64+LP64 combination. Is this correct assumption? >>>> >>>> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >>>> based macbook pro. But do we need it in this port? >>>> >>>> Regards, >>>> Vladimir >>>> >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>>> Sent: Monday, July 22, 2013 6:48 PM >>>>> To: Lindenmaier, Goetz >>>>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>>>> hotspot-dev at openjdk.java.net >>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>> interpreter only VM. >>>>> >>>>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>>>> ??? Or do you propose to change both of them to PPC64? >>>>>> Yes, sure, I want to change both. >>>>> >>>>> Why do we need this error if this code is only for PPC64 port? We will >>>>> have other compilation errors if we try to use >>>>> these sources for something else as we found already. Do you have an >>>>> other usage so you need this guard? >>>>> >>>>>>> All of the existing 64-bit ports have a direct correspondence >>>>>>> between >>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>> >>>>>> I know. And obviously there is a correspondence, as no one will >>>>>> Implement an LG64 memory model on a 32 bit machine. >>>>>> But the usage intermingles different memory model and architecture: >>>>>> >>>>>> E.g., the register declaration in register_x86_hpp is fine: >>>>>> >>>>>> #ifdef AMD64 >>>>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>>>> >>>>>> But I think this makes no sense (assembler_x86.hpp): >>>>>> >>>>>> #ifdef _LP64 >>>>>> void movsbq(Register dst, Address src); >>>>>> void movsbq(Register dst, Register src); >>>>>> // Move signed 32bit immediate to 64bit extending sign >>>>>> void movslq(Address dst, int32_t imm64); >>>>>> void movslq(Register dst, int32_t imm64); >>>>>> >>>>>> and should be guarded by AMD64. >>>>> >>>>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>>>> so using _LP64 works for us. Also using AMD64 >>>>> sometimes rise questions about Intel x64. So using _LP64 is more >>>>> neutral. >>>>> >>>>>> And I want to get the PPC port right in such matters. >>>>> >>>>> I agree with this since ppc is more flexible than x86, it seems. >>>>> >>>>>> I'm currently removing the ppc_ prefixes ... big fun:) >>>>> >>>>> Sorry about that. >>>>> >>>>> Regards, >>>>> Vladimir >>>>> >>>>>> Best regards, >>>>>> >>>>>> Goetz. >>>>>> >>>>>> -----Original Message----- >>>>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>> Sent: Montag, 22. Juli 2013 13:38 >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>> hotspot-dev at openjdk.java.net >>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>> interpreter only VM. >>>>>> >>>>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> > Hi David, >>>>>> >>>>>> > >>>>>> >>>>>> > PPC64: describes an instruction set / machine with all it's >>>>>> specialities. And the instruction set >>>>>> >>>>>> > we implemented the port for has an atomic 64-bit >>>>>> instruction. >>>>>> >>>>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>>>> , pointer == 64 bit. >>>>>> >>>>>> > In contraditction to ILP64 (int == 64bit) etc, which you >>>>>> could as >>>>>> well implement with the >>>>>> >>>>>> > PPC64 instruction set. You could also implement a system with >>>>>> ILP32 on PPC64, and then >>>>>> >>>>>> > you would have an atomic 64-bit instruction. >>>>>> >>>>>> That still doesn't explain why you think LP64 is okay for the atomic >>>>>> >>>>>> file but you want PPC64 for the orderAccess file. ??? Or do you >>>>>> propose >>>>>> >>>>>> to change both of them to PPC64? >>>>>> >>>>>> All of the existing 64-bit ports have a direct correspondence between >>>>>> >>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>> LP64 >>>>>> >>>>>> is the only 64-bit data model that the OpenJDK sources support. >>>>>> >>>>>> > Compressed oops make sense to protect with LP64, because they >>>>>> are >>>>>> only helpful >>>>>> >>>>>> > with 64 bit pointers. While usage of LP64 is not exactly >>>>>> correct >>>>>> here, ILP64, SLP64 >>>>>> >>>>>> > etc would also use compressed oops. But it's close enough I >>>>>> guess. >>>>>> >>>>>> I'm not concerned about compressed oops. No idea where that came from >>>>>> ;-) >>>>>> >>>>>> David >>>>>> >>>>>> ------ >>>>>> >>>>>> > Best regards, >>>>>> >>>>>> > Goetz. >>>>>> >>>>>> > >>>>>> >>>>>> > -----Original Message----- >>>>>> >>>>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>>>> >>>>>> > Sent: Montag, 22. Juli 2013 05:27 >>>>>> >>>>>> > To: Lindenmaier, Goetz >>>>>> >>>>>> > Cc: hotspot-dev at openjdk.java.net >>>>>> ; >>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>> ; Vladimir Kozlov >>>>>> >>>>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>> for interpreter only VM. >>>>>> >>>>>> > >>>>>> >>>>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> >> Hi David, >>>>>> >>>>>> >> >>>>>> >>>>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>> >>>>>> >>> 34 #ifndef _LP64 >>>>>> >>>>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>>>> >>>>>> >>> 36 #endif >>>>>> >>>>>> >> You're right, I'll fix this. >>>>>> >>>>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>>>> >>>>>> >> processor architecture and not the memory model. >>>>>> >>>>>> > >>>>>> >>>>>> > Is there some case where _LP64 would be true but PPC64 would not >>>>>> be ??? >>>>>> >>>>>> > They seem effectively interchangeable but I don't know why you >>>>>> would use >>>>>> >>>>>> > one in one file and the other in another file ?? >>>>>> >>>>>> > >>>>>> >>>>>> > Thanks, >>>>>> >>>>>> > David >>>>>> >>>>>> > >>>>>> >>>>>> >> If I will change the ppc_ prefixes that'll take a bit, >>>>>> especially >>>>>> >>>>>> >> as I will have to adapt all the alignments :(. >>>>>> >>>>>> >> But that does not matter, as we need to wait for your build >>>>>> >>>>>> >> change anyways. >>>>>> >>>>>> >> >>>>>> >>>>>> >> Best regards, >>>>>> >>>>>> >> Goetz. >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> -----Original Message----- >>>>>> >>>>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>> >>>>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>>>> >>>>>> >> To: Lindenmaier, Goetz >>>>>> >>>>>> >> Cc: hotspot-dev at openjdk.java.net >>>>>> ; >>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>> ; Vladimir Kozlov >>>>>> >>>>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>> for interpreter only VM. >>>>>> >>>>>> >> >>>>>> >>>>>> >> Hi Goetz, >>>>>> >>>>>> >> >>>>>> >>>>>> >> Only a brief glance through ... >>>>>> >>>>>> >> >>>>>> >>>>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>> >>>>>> >> >>>>>> >>>>>> >> 34 #ifndef _LP64 >>>>>> >>>>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>>>> >>>>>> >> 36 #endif >>>>>> >>>>>> >> >>>>>> >>>>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>>>> will only >>>>>> >>>>>> >> be atomic on ppc64). >>>>>> >>>>>> >> >>>>>> >>>>>> >> BTW typo: 35 #error "Atomic currently only impleneted for >>>>>> PPC64" >>>>>> >>>>>> >> >>>>>> >>>>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>>>> redundant. >>>>>> >>>>>> >> >>>>>> >>>>>> >> David >>>>>> >>>>>> >> ----- >>>>>> >>>>>> >> >>>>>> >>>>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> >>> Hi, >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> This time with webrev. Sorry for the double mails. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> This change contains all the files in cpu/ppc and >>>>>> os_cpu/linux_ppc needed for >>>>>> >>>>>> >>> the PPC64 interpreter port on linux. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> With this change you can do a core build on ppc64 and run the >>>>>> VM interpreter only. >>>>>> >>>>>> >>> It executes simple programs as jvm98. >>>>>> >>>>>> >>> The change requires >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> * 8016697: Use stubs to implement safefetch >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> * 8020059: The flag introduced by 8014972 is not >>>>>> defined ... >>>>>> >>>>>> >>> which will arrive soon in the staging repository. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> I marked the change as XL as it contains a lot of code. >>>>>> Nevertheless the >>>>>> >>>>>> >>> code has no impact on the existing Oracle platforms. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> The change touches a single shared file, globals.hpp, >>>>>> removing a >>>>>> >>>>>> >>> special case introduced for the port. This is because we >>>>>> >>>>>> >>> integrated some changes earlier than originally intended. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> Please review the change. Does it need testing on Oracle >>>>>> side? >>>>>> >>>>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> Best regards, >>>>>> >>>>>> >>> Goetz. >>>>>> >>>>>> >>> >>>>>> From goetz.lindenmaier at sap.com Thu Jul 25 17:02:09 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 26 Jul 2013 00:02:09 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51F1B6CD.4040902@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> <51F0BAF1.1090000@oracle.com> <51F1B6CD.4040902@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF7FB2@DEWDFEMB12A.global.corp.sap> Hi Vladimir, thanks for testing! We soon need to apply this to 0009: diff -r 63458ae3c26f src/cpu/ppc/vm/frame_ppc.inline.hpp --- a/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:17:42 2013 +0200 +++ b/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:56:10 2013 +0200 @@ -224,8 +224,8 @@ return &tos[offset + 1]; // prepushed tos } -inline JavaCallWrapper* frame::entry_frame_call_wrapper() const { - return (JavaCallWrapper*)entry_frame_locals()->call_wrapper_address; +inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const { + return (JavaCallWrapper**)&entry_frame_locals()->call_wrapper_address; } inline oop frame::saved_oop_result(RegisterMap* map) const { Probably the corresponding change will come with the build change. David, thanks for fixing the build. Best regards, Goetz. -----Original Message----- From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov Sent: Friday, July 26, 2013 1:38 AM Cc: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. Hotspot JPRT testing passed. I will push these changes into stage repo when David's changes reach it. Thanks, Vladimir On 7/24/13 10:43 PM, Vladimir Kozlov wrote: > Thank you, Goetz, > > This looks good. > > David pushed makefile changes (8020799) in group's repo. I will try to > combine all these changes with staged sources and run JPRT test builds > tomorrow. > > Thanks, > Vladimir > > On 7/24/13 7:46 AM, Lindenmaier, Goetz wrote: >> Hi, >> >> I updated the webrev once more. >> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >> >> - I fixed encode_klass_not_null() >> - I cleaned up jni_ppc.h >> - added the guard in copy_ppc.hpp. >> >> Further there were problems on aix. >> I had to rename the condition code registers from CR0-7 to CCR0-7, >> as CR0-3 is defined in an AIX system header. >> >> David, can I mark the change as reviewed by you? >> >> Best regards, >> Goetz. >> >> -----Original Message----- >> From: David Holmes [mailto:david.holmes at oracle.com] >> Sent: Dienstag, 23. Juli 2013 09:59 >> To: Lindenmaier, Goetz >> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >> hotspot-dev at openjdk.java.net >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >> interpreter only VM. >> >> PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic >> copies for jlong are only correct on 64-bit. >> >> Is there other code in "bit-neutral" ppc files that is really only >> correct on 64-bit? >> >> David >> ----- >> >> On 23/07/2013 5:54 PM, David Holmes wrote: >>> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >>>> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>>>> >>>>> I don't really care about the guard. Just tell me what to do... >>>> >>>> To be safe leave guards with PPC64 check instead of _lp64 as you >>>> suggested. >>> >>> Yes please do that. I think the guard is important as this is a >>> bit-neutral file. If/when someone creates a 32-bit PPC port we don't >>> want them to have to re-discover the atomicity bugs with jlong/jdouble >>> that were found on the existing platforms. >>> >>> Thanks, >>> David >>> >>>> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) >>>> ? : >>>> >>>> jniTypes_ppc.hpp: >>>> >>>> 48 #ifndef PPC64 >>>> 49 #error "ppc32 support currently not implemented!!!" >>>> 50 #endif // PPC64 >>>> >>>> Our reviews are based on assumption that this port only supports >>>> PPC64+LP64 combination. Is this correct assumption? >>>> >>>> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >>>> based macbook pro. But do we need it in this port? >>>> >>>> Regards, >>>> Vladimir >>>> >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>>> Sent: Monday, July 22, 2013 6:48 PM >>>>> To: Lindenmaier, Goetz >>>>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>>>> hotspot-dev at openjdk.java.net >>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>> interpreter only VM. >>>>> >>>>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>>>> ??? Or do you propose to change both of them to PPC64? >>>>>> Yes, sure, I want to change both. >>>>> >>>>> Why do we need this error if this code is only for PPC64 port? We will >>>>> have other compilation errors if we try to use >>>>> these sources for something else as we found already. Do you have an >>>>> other usage so you need this guard? >>>>> >>>>>>> All of the existing 64-bit ports have a direct correspondence >>>>>>> between >>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>> >>>>>> I know. And obviously there is a correspondence, as no one will >>>>>> Implement an LG64 memory model on a 32 bit machine. >>>>>> But the usage intermingles different memory model and architecture: >>>>>> >>>>>> E.g., the register declaration in register_x86_hpp is fine: >>>>>> >>>>>> #ifdef AMD64 >>>>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>>>> >>>>>> But I think this makes no sense (assembler_x86.hpp): >>>>>> >>>>>> #ifdef _LP64 >>>>>> void movsbq(Register dst, Address src); >>>>>> void movsbq(Register dst, Register src); >>>>>> // Move signed 32bit immediate to 64bit extending sign >>>>>> void movslq(Address dst, int32_t imm64); >>>>>> void movslq(Register dst, int32_t imm64); >>>>>> >>>>>> and should be guarded by AMD64. >>>>> >>>>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>>>> so using _LP64 works for us. Also using AMD64 >>>>> sometimes rise questions about Intel x64. So using _LP64 is more >>>>> neutral. >>>>> >>>>>> And I want to get the PPC port right in such matters. >>>>> >>>>> I agree with this since ppc is more flexible than x86, it seems. >>>>> >>>>>> I'm currently removing the ppc_ prefixes ... big fun:) >>>>> >>>>> Sorry about that. >>>>> >>>>> Regards, >>>>> Vladimir >>>>> >>>>>> Best regards, >>>>>> >>>>>> Goetz. >>>>>> >>>>>> -----Original Message----- >>>>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>> Sent: Montag, 22. Juli 2013 13:38 >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>> hotspot-dev at openjdk.java.net >>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>> interpreter only VM. >>>>>> >>>>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> > Hi David, >>>>>> >>>>>> > >>>>>> >>>>>> > PPC64: describes an instruction set / machine with all it's >>>>>> specialities. And the instruction set >>>>>> >>>>>> > we implemented the port for has an atomic 64-bit >>>>>> instruction. >>>>>> >>>>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>>>> , pointer == 64 bit. >>>>>> >>>>>> > In contraditction to ILP64 (int == 64bit) etc, which you >>>>>> could as >>>>>> well implement with the >>>>>> >>>>>> > PPC64 instruction set. You could also implement a system with >>>>>> ILP32 on PPC64, and then >>>>>> >>>>>> > you would have an atomic 64-bit instruction. >>>>>> >>>>>> That still doesn't explain why you think LP64 is okay for the atomic >>>>>> >>>>>> file but you want PPC64 for the orderAccess file. ??? Or do you >>>>>> propose >>>>>> >>>>>> to change both of them to PPC64? >>>>>> >>>>>> All of the existing 64-bit ports have a direct correspondence between >>>>>> >>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>> LP64 >>>>>> >>>>>> is the only 64-bit data model that the OpenJDK sources support. >>>>>> >>>>>> > Compressed oops make sense to protect with LP64, because they >>>>>> are >>>>>> only helpful >>>>>> >>>>>> > with 64 bit pointers. While usage of LP64 is not exactly >>>>>> correct >>>>>> here, ILP64, SLP64 >>>>>> >>>>>> > etc would also use compressed oops. But it's close enough I >>>>>> guess. >>>>>> >>>>>> I'm not concerned about compressed oops. No idea where that came from >>>>>> ;-) >>>>>> >>>>>> David >>>>>> >>>>>> ------ >>>>>> >>>>>> > Best regards, >>>>>> >>>>>> > Goetz. >>>>>> >>>>>> > >>>>>> >>>>>> > -----Original Message----- >>>>>> >>>>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>>>> >>>>>> > Sent: Montag, 22. Juli 2013 05:27 >>>>>> >>>>>> > To: Lindenmaier, Goetz >>>>>> >>>>>> > Cc: hotspot-dev at openjdk.java.net >>>>>> ; >>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>> ; Vladimir Kozlov >>>>>> >>>>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>> for interpreter only VM. >>>>>> >>>>>> > >>>>>> >>>>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> >> Hi David, >>>>>> >>>>>> >> >>>>>> >>>>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>> >>>>>> >>> 34 #ifndef _LP64 >>>>>> >>>>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>>>> >>>>>> >>> 36 #endif >>>>>> >>>>>> >> You're right, I'll fix this. >>>>>> >>>>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>>>> >>>>>> >> processor architecture and not the memory model. >>>>>> >>>>>> > >>>>>> >>>>>> > Is there some case where _LP64 would be true but PPC64 would not >>>>>> be ??? >>>>>> >>>>>> > They seem effectively interchangeable but I don't know why you >>>>>> would use >>>>>> >>>>>> > one in one file and the other in another file ?? >>>>>> >>>>>> > >>>>>> >>>>>> > Thanks, >>>>>> >>>>>> > David >>>>>> >>>>>> > >>>>>> >>>>>> >> If I will change the ppc_ prefixes that'll take a bit, >>>>>> especially >>>>>> >>>>>> >> as I will have to adapt all the alignments :(. >>>>>> >>>>>> >> But that does not matter, as we need to wait for your build >>>>>> >>>>>> >> change anyways. >>>>>> >>>>>> >> >>>>>> >>>>>> >> Best regards, >>>>>> >>>>>> >> Goetz. >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> >>>>>> >>>>>> >> -----Original Message----- >>>>>> >>>>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>> >>>>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>>>> >>>>>> >> To: Lindenmaier, Goetz >>>>>> >>>>>> >> Cc: hotspot-dev at openjdk.java.net >>>>>> ; >>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>> ; Vladimir Kozlov >>>>>> >>>>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>> for interpreter only VM. >>>>>> >>>>>> >> >>>>>> >>>>>> >> Hi Goetz, >>>>>> >>>>>> >> >>>>>> >>>>>> >> Only a brief glance through ... >>>>>> >>>>>> >> >>>>>> >>>>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>> >>>>>> >> >>>>>> >>>>>> >> 34 #ifndef _LP64 >>>>>> >>>>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>>>> >>>>>> >> 36 #endif >>>>>> >>>>>> >> >>>>>> >>>>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>>>> will only >>>>>> >>>>>> >> be atomic on ppc64). >>>>>> >>>>>> >> >>>>>> >>>>>> >> BTW typo: 35 #error "Atomic currently only impleneted for >>>>>> PPC64" >>>>>> >>>>>> >> >>>>>> >>>>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>>>> redundant. >>>>>> >>>>>> >> >>>>>> >>>>>> >> David >>>>>> >>>>>> >> ----- >>>>>> >>>>>> >> >>>>>> >>>>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> >>> Hi, >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> This time with webrev. Sorry for the double mails. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> This change contains all the files in cpu/ppc and >>>>>> os_cpu/linux_ppc needed for >>>>>> >>>>>> >>> the PPC64 interpreter port on linux. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> With this change you can do a core build on ppc64 and run the >>>>>> VM interpreter only. >>>>>> >>>>>> >>> It executes simple programs as jvm98. >>>>>> >>>>>> >>> The change requires >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> * 8016697: Use stubs to implement safefetch >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> * 8020059: The flag introduced by 8014972 is not >>>>>> defined ... >>>>>> >>>>>> >>> which will arrive soon in the staging repository. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> I marked the change as XL as it contains a lot of code. >>>>>> Nevertheless the >>>>>> >>>>>> >>> code has no impact on the existing Oracle platforms. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> The change touches a single shared file, globals.hpp, >>>>>> removing a >>>>>> >>>>>> >>> special case introduced for the port. This is because we >>>>>> >>>>>> >>> integrated some changes earlier than originally intended. >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> Please review the change. Does it need testing on Oracle >>>>>> side? >>>>>> >>>>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>>>> >>>>>> >>> >>>>>> >>>>>> >>> Best regards, >>>>>> >>>>>> >>> Goetz. >>>>>> >>>>>> >>> >>>>>> From vladimir.kozlov at oracle.com Thu Jul 25 17:12:48 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 25 Jul 2013 17:12:48 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF7FB2@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> <51F0BAF1.1090000@oracle.com> <51F1B6CD.4040902@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF7FB2@DEWDFEMB12A.global.corp.sap> Message-ID: <51F1BF00.4070709@oracle.com> Hi Goetz, On 7/25/13 5:02 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > thanks for testing! > We soon need to apply this to 0009: What do you mean "soon"? Do you ask me to fix it in your latest ppcfiles-3-hotspot.changeset before pushing? Or it will be separate changeset? thanks, Vladimir > > diff -r 63458ae3c26f src/cpu/ppc/vm/frame_ppc.inline.hpp > --- a/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:17:42 2013 +0200 > +++ b/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:56:10 2013 +0200 > @@ -224,8 +224,8 @@ > return &tos[offset + 1]; // prepushed tos > } > > -inline JavaCallWrapper* frame::entry_frame_call_wrapper() const { > - return (JavaCallWrapper*)entry_frame_locals()->call_wrapper_address; > +inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const { > + return (JavaCallWrapper**)&entry_frame_locals()->call_wrapper_address; > } > > inline oop frame::saved_oop_result(RegisterMap* map) const { > > Probably the corresponding change will come with the build change. > > David, thanks for fixing the build. > > Best regards, > Goetz. > > > -----Original Message----- > From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov > Sent: Friday, July 26, 2013 1:38 AM > Cc: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > Hotspot JPRT testing passed. > > I will push these changes into stage repo when David's changes reach it. > > Thanks, > Vladimir > > On 7/24/13 10:43 PM, Vladimir Kozlov wrote: >> Thank you, Goetz, >> >> This looks good. >> >> David pushed makefile changes (8020799) in group's repo. I will try to >> combine all these changes with staged sources and run JPRT test builds >> tomorrow. >> >> Thanks, >> Vladimir >> >> On 7/24/13 7:46 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> I updated the webrev once more. >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> - I fixed encode_klass_not_null() >>> - I cleaned up jni_ppc.h >>> - added the guard in copy_ppc.hpp. >>> >>> Further there were problems on aix. >>> I had to rename the condition code registers from CR0-7 to CCR0-7, >>> as CR0-3 is defined in an AIX system header. >>> >>> David, can I mark the change as reviewed by you? >>> >>> Best regards, >>> Goetz. >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Dienstag, 23. Juli 2013 09:59 >>> To: Lindenmaier, Goetz >>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>> hotspot-dev at openjdk.java.net >>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic >>> copies for jlong are only correct on 64-bit. >>> >>> Is there other code in "bit-neutral" ppc files that is really only >>> correct on 64-bit? >>> >>> David >>> ----- >>> >>> On 23/07/2013 5:54 PM, David Holmes wrote: >>>> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >>>>> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> I don't really care about the guard. Just tell me what to do... >>>>> >>>>> To be safe leave guards with PPC64 check instead of _lp64 as you >>>>> suggested. >>>> >>>> Yes please do that. I think the guard is important as this is a >>>> bit-neutral file. If/when someone creates a 32-bit PPC port we don't >>>> want them to have to re-discover the atomicity bugs with jlong/jdouble >>>> that were found on the existing platforms. >>>> >>>> Thanks, >>>> David >>>> >>>>> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) >>>>> ? : >>>>> >>>>> jniTypes_ppc.hpp: >>>>> >>>>> 48 #ifndef PPC64 >>>>> 49 #error "ppc32 support currently not implemented!!!" >>>>> 50 #endif // PPC64 >>>>> >>>>> Our reviews are based on assumption that this port only supports >>>>> PPC64+LP64 combination. Is this correct assumption? >>>>> >>>>> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >>>>> based macbook pro. But do we need it in this port? >>>>> >>>>> Regards, >>>>> Vladimir >>>>> >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>>>> Sent: Monday, July 22, 2013 6:48 PM >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>>>>> hotspot-dev at openjdk.java.net >>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>> interpreter only VM. >>>>>> >>>>>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>>>>> ??? Or do you propose to change both of them to PPC64? >>>>>>> Yes, sure, I want to change both. >>>>>> >>>>>> Why do we need this error if this code is only for PPC64 port? We will >>>>>> have other compilation errors if we try to use >>>>>> these sources for something else as we found already. Do you have an >>>>>> other usage so you need this guard? >>>>>> >>>>>>>> All of the existing 64-bit ports have a direct correspondence >>>>>>>> between >>>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>>> >>>>>>> I know. And obviously there is a correspondence, as no one will >>>>>>> Implement an LG64 memory model on a 32 bit machine. >>>>>>> But the usage intermingles different memory model and architecture: >>>>>>> >>>>>>> E.g., the register declaration in register_x86_hpp is fine: >>>>>>> >>>>>>> #ifdef AMD64 >>>>>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>>>>> >>>>>>> But I think this makes no sense (assembler_x86.hpp): >>>>>>> >>>>>>> #ifdef _LP64 >>>>>>> void movsbq(Register dst, Address src); >>>>>>> void movsbq(Register dst, Register src); >>>>>>> // Move signed 32bit immediate to 64bit extending sign >>>>>>> void movslq(Address dst, int32_t imm64); >>>>>>> void movslq(Register dst, int32_t imm64); >>>>>>> >>>>>>> and should be guarded by AMD64. >>>>>> >>>>>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>>>>> so using _LP64 works for us. Also using AMD64 >>>>>> sometimes rise questions about Intel x64. So using _LP64 is more >>>>>> neutral. >>>>>> >>>>>>> And I want to get the PPC port right in such matters. >>>>>> >>>>>> I agree with this since ppc is more flexible than x86, it seems. >>>>>> >>>>>>> I'm currently removing the ppc_ prefixes ... big fun:) >>>>>> >>>>>> Sorry about that. >>>>>> >>>>>> Regards, >>>>>> Vladimir >>>>>> >>>>>>> Best regards, >>>>>>> >>>>>>> Goetz. >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>> Sent: Montag, 22. Juli 2013 13:38 >>>>>>> To: Lindenmaier, Goetz >>>>>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>>> hotspot-dev at openjdk.java.net >>>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>>> interpreter only VM. >>>>>>> >>>>>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>>>>> >>>>>>> > Hi David, >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > PPC64: describes an instruction set / machine with all it's >>>>>>> specialities. And the instruction set >>>>>>> >>>>>>> > we implemented the port for has an atomic 64-bit >>>>>>> instruction. >>>>>>> >>>>>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>>>>> , pointer == 64 bit. >>>>>>> >>>>>>> > In contraditction to ILP64 (int == 64bit) etc, which you >>>>>>> could as >>>>>>> well implement with the >>>>>>> >>>>>>> > PPC64 instruction set. You could also implement a system with >>>>>>> ILP32 on PPC64, and then >>>>>>> >>>>>>> > you would have an atomic 64-bit instruction. >>>>>>> >>>>>>> That still doesn't explain why you think LP64 is okay for the atomic >>>>>>> >>>>>>> file but you want PPC64 for the orderAccess file. ??? Or do you >>>>>>> propose >>>>>>> >>>>>>> to change both of them to PPC64? >>>>>>> >>>>>>> All of the existing 64-bit ports have a direct correspondence between >>>>>>> >>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>>> LP64 >>>>>>> >>>>>>> is the only 64-bit data model that the OpenJDK sources support. >>>>>>> >>>>>>> > Compressed oops make sense to protect with LP64, because they >>>>>>> are >>>>>>> only helpful >>>>>>> >>>>>>> > with 64 bit pointers. While usage of LP64 is not exactly >>>>>>> correct >>>>>>> here, ILP64, SLP64 >>>>>>> >>>>>>> > etc would also use compressed oops. But it's close enough I >>>>>>> guess. >>>>>>> >>>>>>> I'm not concerned about compressed oops. No idea where that came from >>>>>>> ;-) >>>>>>> >>>>>>> David >>>>>>> >>>>>>> ------ >>>>>>> >>>>>>> > Best regards, >>>>>>> >>>>>>> > Goetz. >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > -----Original Message----- >>>>>>> >>>>>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>> >>>>>>> > Sent: Montag, 22. Juli 2013 05:27 >>>>>>> >>>>>>> > To: Lindenmaier, Goetz >>>>>>> >>>>>>> > Cc: hotspot-dev at openjdk.java.net >>>>>>> ; >>>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>>> ; Vladimir Kozlov >>>>>>> >>>>>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>>> for interpreter only VM. >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>>>>> >>>>>>> >> Hi David, >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>>> >>>>>>> >>> 34 #ifndef _LP64 >>>>>>> >>>>>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>>>>> >>>>>>> >>> 36 #endif >>>>>>> >>>>>>> >> You're right, I'll fix this. >>>>>>> >>>>>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>>>>> >>>>>>> >> processor architecture and not the memory model. >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > Is there some case where _LP64 would be true but PPC64 would not >>>>>>> be ??? >>>>>>> >>>>>>> > They seem effectively interchangeable but I don't know why you >>>>>>> would use >>>>>>> >>>>>>> > one in one file and the other in another file ?? >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > Thanks, >>>>>>> >>>>>>> > David >>>>>>> >>>>>>> > >>>>>>> >>>>>>> >> If I will change the ppc_ prefixes that'll take a bit, >>>>>>> especially >>>>>>> >>>>>>> >> as I will have to adapt all the alignments :(. >>>>>>> >>>>>>> >> But that does not matter, as we need to wait for your build >>>>>>> >>>>>>> >> change anyways. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> Best regards, >>>>>>> >>>>>>> >> Goetz. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> -----Original Message----- >>>>>>> >>>>>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>> >>>>>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>>>>> >>>>>>> >> To: Lindenmaier, Goetz >>>>>>> >>>>>>> >> Cc: hotspot-dev at openjdk.java.net >>>>>>> ; >>>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>>> ; Vladimir Kozlov >>>>>>> >>>>>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>>> for interpreter only VM. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> Hi Goetz, >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> Only a brief glance through ... >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> 34 #ifndef _LP64 >>>>>>> >>>>>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>>>>> >>>>>>> >> 36 #endif >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>>>>> will only >>>>>>> >>>>>>> >> be atomic on ppc64). >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> BTW typo: 35 #error "Atomic currently only impleneted for >>>>>>> PPC64" >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>>>>> redundant. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> David >>>>>>> >>>>>>> >> ----- >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>>>>> >>>>>>> >>> Hi, >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> This time with webrev. Sorry for the double mails. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> This change contains all the files in cpu/ppc and >>>>>>> os_cpu/linux_ppc needed for >>>>>>> >>>>>>> >>> the PPC64 interpreter port on linux. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> With this change you can do a core build on ppc64 and run the >>>>>>> VM interpreter only. >>>>>>> >>>>>>> >>> It executes simple programs as jvm98. >>>>>>> >>>>>>> >>> The change requires >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> * 8016697: Use stubs to implement safefetch >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> * 8020059: The flag introduced by 8014972 is not >>>>>>> defined ... >>>>>>> >>>>>>> >>> which will arrive soon in the staging repository. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> I marked the change as XL as it contains a lot of code. >>>>>>> Nevertheless the >>>>>>> >>>>>>> >>> code has no impact on the existing Oracle platforms. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> The change touches a single shared file, globals.hpp, >>>>>>> removing a >>>>>>> >>>>>>> >>> special case introduced for the port. This is because we >>>>>>> >>>>>>> >>> integrated some changes earlier than originally intended. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> Please review the change. Does it need testing on Oracle >>>>>>> side? >>>>>>> >>>>>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> Best regards, >>>>>>> >>>>>>> >>> Goetz. >>>>>>> >>>>>>> >>> >>>>>>> From goetz.lindenmaier at sap.com Thu Jul 25 23:16:42 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Fri, 26 Jul 2013 06:16:42 +0000 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <51F1BF00.4070709@oracle.com> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> <51F0BAF1.1090000@oracle.com> <51F1B6CD.4040902@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF7FB2@DEWDFEMB12A.global.corp.sap> <51F1BF00.4070709@oracle.com> Message-ID: <4295855A5C1DE049A61835A1887419CC0CFF803B@DEWDFEMB12A.global.corp.sap> Hi Vladimir, the change will be necessary once 8016131: nsk/sysdict/vm/stress/chain tests crash the VM in 'entry_frame_is_first()' arrives in the stage repository. So I'd like to test 0009 once more before you push it, and adapt it accordingly. This should not invalidate your tests, as it's in a ppc file. Best regards, Goetz. -----Original Message----- From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] Sent: Freitag, 26. Juli 2013 02:13 To: Lindenmaier, Goetz Cc: 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. Hi Goetz, On 7/25/13 5:02 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > thanks for testing! > We soon need to apply this to 0009: What do you mean "soon"? Do you ask me to fix it in your latest ppcfiles-3-hotspot.changeset before pushing? Or it will be separate changeset? thanks, Vladimir > > diff -r 63458ae3c26f src/cpu/ppc/vm/frame_ppc.inline.hpp > --- a/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:17:42 2013 +0200 > +++ b/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:56:10 2013 +0200 > @@ -224,8 +224,8 @@ > return &tos[offset + 1]; // prepushed tos > } > > -inline JavaCallWrapper* frame::entry_frame_call_wrapper() const { > - return (JavaCallWrapper*)entry_frame_locals()->call_wrapper_address; > +inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const { > + return (JavaCallWrapper**)&entry_frame_locals()->call_wrapper_address; > } > > inline oop frame::saved_oop_result(RegisterMap* map) const { > > Probably the corresponding change will come with the build change. > > David, thanks for fixing the build. > > Best regards, > Goetz. > > > -----Original Message----- > From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov > Sent: Friday, July 26, 2013 1:38 AM > Cc: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > Hotspot JPRT testing passed. > > I will push these changes into stage repo when David's changes reach it. > > Thanks, > Vladimir > > On 7/24/13 10:43 PM, Vladimir Kozlov wrote: >> Thank you, Goetz, >> >> This looks good. >> >> David pushed makefile changes (8020799) in group's repo. I will try to >> combine all these changes with staged sources and run JPRT test builds >> tomorrow. >> >> Thanks, >> Vladimir >> >> On 7/24/13 7:46 AM, Lindenmaier, Goetz wrote: >>> Hi, >>> >>> I updated the webrev once more. >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>> >>> - I fixed encode_klass_not_null() >>> - I cleaned up jni_ppc.h >>> - added the guard in copy_ppc.hpp. >>> >>> Further there were problems on aix. >>> I had to rename the condition code registers from CR0-7 to CCR0-7, >>> as CR0-3 is defined in an AIX system header. >>> >>> David, can I mark the change as reviewed by you? >>> >>> Best regards, >>> Goetz. >>> >>> -----Original Message----- >>> From: David Holmes [mailto:david.holmes at oracle.com] >>> Sent: Dienstag, 23. Juli 2013 09:59 >>> To: Lindenmaier, Goetz >>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>> hotspot-dev at openjdk.java.net >>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>> interpreter only VM. >>> >>> PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic >>> copies for jlong are only correct on 64-bit. >>> >>> Is there other code in "bit-neutral" ppc files that is really only >>> correct on 64-bit? >>> >>> David >>> ----- >>> >>> On 23/07/2013 5:54 PM, David Holmes wrote: >>>> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >>>>> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>>>>> >>>>>> I don't really care about the guard. Just tell me what to do... >>>>> >>>>> To be safe leave guards with PPC64 check instead of _lp64 as you >>>>> suggested. >>>> >>>> Yes please do that. I think the guard is important as this is a >>>> bit-neutral file. If/when someone creates a 32-bit PPC port we don't >>>> want them to have to re-discover the atomicity bugs with jlong/jdouble >>>> that were found on the existing platforms. >>>> >>>> Thanks, >>>> David >>>> >>>>> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) >>>>> ? : >>>>> >>>>> jniTypes_ppc.hpp: >>>>> >>>>> 48 #ifndef PPC64 >>>>> 49 #error "ppc32 support currently not implemented!!!" >>>>> 50 #endif // PPC64 >>>>> >>>>> Our reviews are based on assumption that this port only supports >>>>> PPC64+LP64 combination. Is this correct assumption? >>>>> >>>>> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >>>>> based macbook pro. But do we need it in this port? >>>>> >>>>> Regards, >>>>> Vladimir >>>>> >>>>>> >>>>>> Best regards, >>>>>> Goetz. >>>>>> >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>>>> Sent: Monday, July 22, 2013 6:48 PM >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>>>>> hotspot-dev at openjdk.java.net >>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>> interpreter only VM. >>>>>> >>>>>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>>>>> ??? Or do you propose to change both of them to PPC64? >>>>>>> Yes, sure, I want to change both. >>>>>> >>>>>> Why do we need this error if this code is only for PPC64 port? We will >>>>>> have other compilation errors if we try to use >>>>>> these sources for something else as we found already. Do you have an >>>>>> other usage so you need this guard? >>>>>> >>>>>>>> All of the existing 64-bit ports have a direct correspondence >>>>>>>> between >>>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>>> >>>>>>> I know. And obviously there is a correspondence, as no one will >>>>>>> Implement an LG64 memory model on a 32 bit machine. >>>>>>> But the usage intermingles different memory model and architecture: >>>>>>> >>>>>>> E.g., the register declaration in register_x86_hpp is fine: >>>>>>> >>>>>>> #ifdef AMD64 >>>>>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>>>>> >>>>>>> But I think this makes no sense (assembler_x86.hpp): >>>>>>> >>>>>>> #ifdef _LP64 >>>>>>> void movsbq(Register dst, Address src); >>>>>>> void movsbq(Register dst, Register src); >>>>>>> // Move signed 32bit immediate to 64bit extending sign >>>>>>> void movslq(Address dst, int32_t imm64); >>>>>>> void movslq(Register dst, int32_t imm64); >>>>>>> >>>>>>> and should be guarded by AMD64. >>>>>> >>>>>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>>>>> so using _LP64 works for us. Also using AMD64 >>>>>> sometimes rise questions about Intel x64. So using _LP64 is more >>>>>> neutral. >>>>>> >>>>>>> And I want to get the PPC port right in such matters. >>>>>> >>>>>> I agree with this since ppc is more flexible than x86, it seems. >>>>>> >>>>>>> I'm currently removing the ppc_ prefixes ... big fun:) >>>>>> >>>>>> Sorry about that. >>>>>> >>>>>> Regards, >>>>>> Vladimir >>>>>> >>>>>>> Best regards, >>>>>>> >>>>>>> Goetz. >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>> Sent: Montag, 22. Juli 2013 13:38 >>>>>>> To: Lindenmaier, Goetz >>>>>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>>> hotspot-dev at openjdk.java.net >>>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>>> interpreter only VM. >>>>>>> >>>>>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>>>>> >>>>>>> > Hi David, >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > PPC64: describes an instruction set / machine with all it's >>>>>>> specialities. And the instruction set >>>>>>> >>>>>>> > we implemented the port for has an atomic 64-bit >>>>>>> instruction. >>>>>>> >>>>>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>>>>> , pointer == 64 bit. >>>>>>> >>>>>>> > In contraditction to ILP64 (int == 64bit) etc, which you >>>>>>> could as >>>>>>> well implement with the >>>>>>> >>>>>>> > PPC64 instruction set. You could also implement a system with >>>>>>> ILP32 on PPC64, and then >>>>>>> >>>>>>> > you would have an atomic 64-bit instruction. >>>>>>> >>>>>>> That still doesn't explain why you think LP64 is okay for the atomic >>>>>>> >>>>>>> file but you want PPC64 for the orderAccess file. ??? Or do you >>>>>>> propose >>>>>>> >>>>>>> to change both of them to PPC64? >>>>>>> >>>>>>> All of the existing 64-bit ports have a direct correspondence between >>>>>>> >>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>>> LP64 >>>>>>> >>>>>>> is the only 64-bit data model that the OpenJDK sources support. >>>>>>> >>>>>>> > Compressed oops make sense to protect with LP64, because they >>>>>>> are >>>>>>> only helpful >>>>>>> >>>>>>> > with 64 bit pointers. While usage of LP64 is not exactly >>>>>>> correct >>>>>>> here, ILP64, SLP64 >>>>>>> >>>>>>> > etc would also use compressed oops. But it's close enough I >>>>>>> guess. >>>>>>> >>>>>>> I'm not concerned about compressed oops. No idea where that came from >>>>>>> ;-) >>>>>>> >>>>>>> David >>>>>>> >>>>>>> ------ >>>>>>> >>>>>>> > Best regards, >>>>>>> >>>>>>> > Goetz. >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > -----Original Message----- >>>>>>> >>>>>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>> >>>>>>> > Sent: Montag, 22. Juli 2013 05:27 >>>>>>> >>>>>>> > To: Lindenmaier, Goetz >>>>>>> >>>>>>> > Cc: hotspot-dev at openjdk.java.net >>>>>>> ; >>>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>>> ; Vladimir Kozlov >>>>>>> >>>>>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>>> for interpreter only VM. >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>>>>> >>>>>>> >> Hi David, >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>>> >>>>>>> >>> 34 #ifndef _LP64 >>>>>>> >>>>>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>>>>> >>>>>>> >>> 36 #endif >>>>>>> >>>>>>> >> You're right, I'll fix this. >>>>>>> >>>>>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>>>>> >>>>>>> >> processor architecture and not the memory model. >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > Is there some case where _LP64 would be true but PPC64 would not >>>>>>> be ??? >>>>>>> >>>>>>> > They seem effectively interchangeable but I don't know why you >>>>>>> would use >>>>>>> >>>>>>> > one in one file and the other in another file ?? >>>>>>> >>>>>>> > >>>>>>> >>>>>>> > Thanks, >>>>>>> >>>>>>> > David >>>>>>> >>>>>>> > >>>>>>> >>>>>>> >> If I will change the ppc_ prefixes that'll take a bit, >>>>>>> especially >>>>>>> >>>>>>> >> as I will have to adapt all the alignments :(. >>>>>>> >>>>>>> >> But that does not matter, as we need to wait for your build >>>>>>> >>>>>>> >> change anyways. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> Best regards, >>>>>>> >>>>>>> >> Goetz. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> -----Original Message----- >>>>>>> >>>>>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>> >>>>>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>>>>> >>>>>>> >> To: Lindenmaier, Goetz >>>>>>> >>>>>>> >> Cc: hotspot-dev at openjdk.java.net >>>>>>> ; >>>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>>> ; Vladimir Kozlov >>>>>>> >>>>>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>>> for interpreter only VM. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> Hi Goetz, >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> Only a brief glance through ... >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> 34 #ifndef _LP64 >>>>>>> >>>>>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>>>>> >>>>>>> >> 36 #endif >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>>>>> will only >>>>>>> >>>>>>> >> be atomic on ppc64). >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> BTW typo: 35 #error "Atomic currently only impleneted for >>>>>>> PPC64" >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>>>>> redundant. >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> David >>>>>>> >>>>>>> >> ----- >>>>>>> >>>>>>> >> >>>>>>> >>>>>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>>>>> >>>>>>> >>> Hi, >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> This time with webrev. Sorry for the double mails. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> This change contains all the files in cpu/ppc and >>>>>>> os_cpu/linux_ppc needed for >>>>>>> >>>>>>> >>> the PPC64 interpreter port on linux. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> With this change you can do a core build on ppc64 and run the >>>>>>> VM interpreter only. >>>>>>> >>>>>>> >>> It executes simple programs as jvm98. >>>>>>> >>>>>>> >>> The change requires >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> * 8016697: Use stubs to implement safefetch >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> * 8020059: The flag introduced by 8014972 is not >>>>>>> defined ... >>>>>>> >>>>>>> >>> which will arrive soon in the staging repository. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> I marked the change as XL as it contains a lot of code. >>>>>>> Nevertheless the >>>>>>> >>>>>>> >>> code has no impact on the existing Oracle platforms. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> The change touches a single shared file, globals.hpp, >>>>>>> removing a >>>>>>> >>>>>>> >>> special case introduced for the port. This is because we >>>>>>> >>>>>>> >>> integrated some changes earlier than originally intended. >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> Please review the change. Does it need testing on Oracle >>>>>>> side? >>>>>>> >>>>>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>>>>> >>>>>>> >>> >>>>>>> >>>>>>> >>> Best regards, >>>>>>> >>>>>>> >>> Goetz. >>>>>>> >>>>>>> >>> >>>>>>> From vladimir.kozlov at oracle.com Thu Jul 25 23:57:08 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 25 Jul 2013 23:57:08 -0700 Subject: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF803B@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF5F57@DEWDFEMB12A.global.corp.sap> <51E8CE88.2060801@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6587@DEWDFEMB12A.global.corp.sap> <51ECA679.9030707@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6851@DEWDFEMB12A.global.corp.sap> <51ED1995.3090003@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF69E5@DEWDFEMB12A.global.corp.sap> <51ED6249.5060701@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF6A32@DEWDFEMB12A.global.corp.sap> <51ED9024.3060208@oracle.com> <51EE3699.6000200@oracle.com> <51EE37B3.7090507@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF717A@DEWDFEMB12A.global.corp.sap> <51F0BAF1.1090000@oracle.com> <51F1B6CD.4040902@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF7FB2@DEWDFEMB12A.global.corp.sap> <51F1BF00.4070709@oracle.com> <4295855A5C1DE049A61835A1887419CC0CFF803B@DEWDFEMB12A.global.corp.sap> Message-ID: <51F21DC4.9050203@oracle.com> Thank you for explanation. I assume you will prepare a new 8019972 patch when 8016131 is pushed into stage repo (should be next week (crossing fingers)). And I want to push this 8019972 changes using JPRT. Regards, Vladimir On 7/25/13 11:16 PM, Lindenmaier, Goetz wrote: > Hi Vladimir, > > the change will be necessary once > 8016131: nsk/sysdict/vm/stress/chain tests crash the VM in 'entry_frame_is_first()' > arrives in the stage repository. So I'd like to test 0009 once more before you > push it, and adapt it accordingly. > This should not invalidate your tests, as it's in a ppc file. > > Best regards, > Goetz. > > > > -----Original Message----- > From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] > Sent: Freitag, 26. Juli 2013 02:13 > To: Lindenmaier, Goetz > Cc: 'ppc-aix-port-dev at openjdk.java.net'; 'hotspot-dev at openjdk.java.net' > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. > > Hi Goetz, > > On 7/25/13 5:02 PM, Lindenmaier, Goetz wrote: >> Hi Vladimir, >> >> thanks for testing! >> We soon need to apply this to 0009: > > What do you mean "soon"? > > Do you ask me to fix it in your latest ppcfiles-3-hotspot.changeset > before pushing? Or it will be separate changeset? > > thanks, > Vladimir > >> >> diff -r 63458ae3c26f src/cpu/ppc/vm/frame_ppc.inline.hpp >> --- a/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:17:42 2013 +0200 >> +++ b/src/cpu/ppc/vm/frame_ppc.inline.hpp Fri Jul 26 01:56:10 2013 +0200 >> @@ -224,8 +224,8 @@ >> return &tos[offset + 1]; // prepushed tos >> } >> >> -inline JavaCallWrapper* frame::entry_frame_call_wrapper() const { >> - return (JavaCallWrapper*)entry_frame_locals()->call_wrapper_address; >> +inline JavaCallWrapper** frame::entry_frame_call_wrapper_addr() const { >> + return (JavaCallWrapper**)&entry_frame_locals()->call_wrapper_address; >> } >> >> inline oop frame::saved_oop_result(RegisterMap* map) const { >> >> Probably the corresponding change will come with the build change. >> >> David, thanks for fixing the build. >> >> Best regards, >> Goetz. >> >> >> -----Original Message----- >> From: ppc-aix-port-dev-bounces at openjdk.java.net [mailto:ppc-aix-port-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Kozlov >> Sent: Friday, July 26, 2013 1:38 AM >> Cc: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for interpreter only VM. >> >> Hotspot JPRT testing passed. >> >> I will push these changes into stage repo when David's changes reach it. >> >> Thanks, >> Vladimir >> >> On 7/24/13 10:43 PM, Vladimir Kozlov wrote: >>> Thank you, Goetz, >>> >>> This looks good. >>> >>> David pushed makefile changes (8020799) in group's repo. I will try to >>> combine all these changes with staged sources and run JPRT test builds >>> tomorrow. >>> >>> Thanks, >>> Vladimir >>> >>> On 7/24/13 7:46 AM, Lindenmaier, Goetz wrote: >>>> Hi, >>>> >>>> I updated the webrev once more. >>>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>> >>>> - I fixed encode_klass_not_null() >>>> - I cleaned up jni_ppc.h >>>> - added the guard in copy_ppc.hpp. >>>> >>>> Further there were problems on aix. >>>> I had to rename the condition code registers from CR0-7 to CCR0-7, >>>> as CR0-3 is defined in an AIX system header. >>>> >>>> David, can I mark the change as reviewed by you? >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> -----Original Message----- >>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>> Sent: Dienstag, 23. Juli 2013 09:59 >>>> To: Lindenmaier, Goetz >>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>> hotspot-dev at openjdk.java.net >>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>> interpreter only VM. >>>> >>>> PS. Seems src/cpu/ppc/vm/copy_ppc.hpp has the same issue. The atomic >>>> copies for jlong are only correct on 64-bit. >>>> >>>> Is there other code in "bit-neutral" ppc files that is really only >>>> correct on 64-bit? >>>> >>>> David >>>> ----- >>>> >>>> On 23/07/2013 5:54 PM, David Holmes wrote: >>>>> On 23/07/2013 6:03 AM, Vladimir Kozlov wrote: >>>>>> On 7/22/13 11:03 AM, Lindenmaier, Goetz wrote: >>>>>>> >>>>>>> I don't really care about the guard. Just tell me what to do... >>>>>> >>>>>> To be safe leave guards with PPC64 check instead of _lp64 as you >>>>>> suggested. >>>>> >>>>> Yes please do that. I think the guard is important as this is a >>>>> bit-neutral file. If/when someone creates a 32-bit PPC port we don't >>>>> want them to have to re-discover the atomicity bugs with jlong/jdouble >>>>> that were found on the existing platforms. >>>>> >>>>> Thanks, >>>>> David >>>>> >>>>>> Do you plan to implement ppc32 or ppc64+lp32 or you can't tell me :) >>>>>> ? : >>>>>> >>>>>> jniTypes_ppc.hpp: >>>>>> >>>>>> 48 #ifndef PPC64 >>>>>> 49 #error "ppc32 support currently not implemented!!!" >>>>>> 50 #endif // PPC64 >>>>>> >>>>>> Our reviews are based on assumption that this port only supports >>>>>> PPC64+LP64 combination. Is this correct assumption? >>>>>> >>>>>> Do you really need to check __APPLE__ in jni_ppc.h? Yes, I have old ppc >>>>>> based macbook pro. But do we need it in this port? >>>>>> >>>>>> Regards, >>>>>> Vladimir >>>>>> >>>>>>> >>>>>>> Best regards, >>>>>>> Goetz. >>>>>>> >>>>>>> >>>>>>> >>>>>>> -----Original Message----- >>>>>>> From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com] >>>>>>> Sent: Monday, July 22, 2013 6:48 PM >>>>>>> To: Lindenmaier, Goetz >>>>>>> Cc: David Holmes; ppc-aix-port-dev at openjdk.java.net; >>>>>>> hotspot-dev at openjdk.java.net >>>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>>> interpreter only VM. >>>>>>> >>>>>>> On 7/22/13 5:40 AM, Lindenmaier, Goetz wrote: >>>>>>>>> ??? Or do you propose to change both of them to PPC64? >>>>>>>> Yes, sure, I want to change both. >>>>>>> >>>>>>> Why do we need this error if this code is only for PPC64 port? We will >>>>>>> have other compilation errors if we try to use >>>>>>> these sources for something else as we found already. Do you have an >>>>>>> other usage so you need this guard? >>>>>>> >>>>>>>>> All of the existing 64-bit ports have a direct correspondence >>>>>>>>> between >>>>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>>>> >>>>>>>> I know. And obviously there is a correspondence, as no one will >>>>>>>> Implement an LG64 memory model on a 32 bit machine. >>>>>>>> But the usage intermingles different memory model and architecture: >>>>>>>> >>>>>>>> E.g., the register declaration in register_x86_hpp is fine: >>>>>>>> >>>>>>>> #ifdef AMD64 >>>>>>>> CONSTANT_REGISTER_DECLARATION(Register, r8, (8)); >>>>>>>> >>>>>>>> But I think this makes no sense (assembler_x86.hpp): >>>>>>>> >>>>>>>> #ifdef _LP64 >>>>>>>> void movsbq(Register dst, Address src); >>>>>>>> void movsbq(Register dst, Register src); >>>>>>>> // Move signed 32bit immediate to 64bit extending sign >>>>>>>> void movslq(Address dst, int32_t imm64); >>>>>>>> void movslq(Register dst, int32_t imm64); >>>>>>>> >>>>>>>> and should be guarded by AMD64. >>>>>>> >>>>>>> Strictly speaking you are right. But we will never do ilp32 for AMD64 >>>>>>> so using _LP64 works for us. Also using AMD64 >>>>>>> sometimes rise questions about Intel x64. So using _LP64 is more >>>>>>> neutral. >>>>>>> >>>>>>>> And I want to get the PPC port right in such matters. >>>>>>> >>>>>>> I agree with this since ppc is more flexible than x86, it seems. >>>>>>> >>>>>>>> I'm currently removing the ppc_ prefixes ... big fun:) >>>>>>> >>>>>>> Sorry about that. >>>>>>> >>>>>>> Regards, >>>>>>> Vladimir >>>>>>> >>>>>>>> Best regards, >>>>>>>> >>>>>>>> Goetz. >>>>>>>> >>>>>>>> -----Original Message----- >>>>>>>> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>>> Sent: Montag, 22. Juli 2013 13:38 >>>>>>>> To: Lindenmaier, Goetz >>>>>>>> Cc: Vladimir Kozlov; ppc-aix-port-dev at openjdk.java.net; >>>>>>>> hotspot-dev at openjdk.java.net >>>>>>>> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files for >>>>>>>> interpreter only VM. >>>>>>>> >>>>>>>> On 22/07/2013 5:14 PM, Lindenmaier, Goetz wrote: >>>>>>>> >>>>>>>> > Hi David, >>>>>>>> >>>>>>>> > >>>>>>>> >>>>>>>> > PPC64: describes an instruction set / machine with all it's >>>>>>>> specialities. And the instruction set >>>>>>>> >>>>>>>> > we implemented the port for has an atomic 64-bit >>>>>>>> instruction. >>>>>>>> >>>>>>>> > LP64 describes a memory model. I.E, long == 64bit, int == 32bit >>>>>>>> , pointer == 64 bit. >>>>>>>> >>>>>>>> > In contraditction to ILP64 (int == 64bit) etc, which you >>>>>>>> could as >>>>>>>> well implement with the >>>>>>>> >>>>>>>> > PPC64 instruction set. You could also implement a system with >>>>>>>> ILP32 on PPC64, and then >>>>>>>> >>>>>>>> > you would have an atomic 64-bit instruction. >>>>>>>> >>>>>>>> That still doesn't explain why you think LP64 is okay for the atomic >>>>>>>> >>>>>>>> file but you want PPC64 for the orderAccess file. ??? Or do you >>>>>>>> propose >>>>>>>> >>>>>>>> to change both of them to PPC64? >>>>>>>> >>>>>>>> All of the existing 64-bit ports have a direct correspondence between >>>>>>>> >>>>>>>> the 64-bit platform designator (sparcv9, amd64, x86_64) and LP64. >>>>>>>> LP64 >>>>>>>> >>>>>>>> is the only 64-bit data model that the OpenJDK sources support. >>>>>>>> >>>>>>>> > Compressed oops make sense to protect with LP64, because they >>>>>>>> are >>>>>>>> only helpful >>>>>>>> >>>>>>>> > with 64 bit pointers. While usage of LP64 is not exactly >>>>>>>> correct >>>>>>>> here, ILP64, SLP64 >>>>>>>> >>>>>>>> > etc would also use compressed oops. But it's close enough I >>>>>>>> guess. >>>>>>>> >>>>>>>> I'm not concerned about compressed oops. No idea where that came from >>>>>>>> ;-) >>>>>>>> >>>>>>>> David >>>>>>>> >>>>>>>> ------ >>>>>>>> >>>>>>>> > Best regards, >>>>>>>> >>>>>>>> > Goetz. >>>>>>>> >>>>>>>> > >>>>>>>> >>>>>>>> > -----Original Message----- >>>>>>>> >>>>>>>> > From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>>> >>>>>>>> > Sent: Montag, 22. Juli 2013 05:27 >>>>>>>> >>>>>>>> > To: Lindenmaier, Goetz >>>>>>>> >>>>>>>> > Cc: hotspot-dev at openjdk.java.net >>>>>>>> ; >>>>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>>>> ; Vladimir Kozlov >>>>>>>> >>>>>>>> > Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>>>> for interpreter only VM. >>>>>>>> >>>>>>>> > >>>>>>>> >>>>>>>> > On 20/07/2013 5:47 AM, Lindenmaier, Goetz wrote: >>>>>>>> >>>>>>>> >> Hi David, >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >>> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>>>> >>>>>>>> >>> 34 #ifndef _LP64 >>>>>>>> >>>>>>>> >>> 35 #error "Atomic currently only impleneted for PPC64" >>>>>>>> >>>>>>>> >>> 36 #endif >>>>>>>> >>>>>>>> >> You're right, I'll fix this. >>>>>>>> >>>>>>>> >> If you don't object I'll guard it by PPC64 as it depends on the >>>>>>>> >>>>>>>> >> processor architecture and not the memory model. >>>>>>>> >>>>>>>> > >>>>>>>> >>>>>>>> > Is there some case where _LP64 would be true but PPC64 would not >>>>>>>> be ??? >>>>>>>> >>>>>>>> > They seem effectively interchangeable but I don't know why you >>>>>>>> would use >>>>>>>> >>>>>>>> > one in one file and the other in another file ?? >>>>>>>> >>>>>>>> > >>>>>>>> >>>>>>>> > Thanks, >>>>>>>> >>>>>>>> > David >>>>>>>> >>>>>>>> > >>>>>>>> >>>>>>>> >> If I will change the ppc_ prefixes that'll take a bit, >>>>>>>> especially >>>>>>>> >>>>>>>> >> as I will have to adapt all the alignments :(. >>>>>>>> >>>>>>>> >> But that does not matter, as we need to wait for your build >>>>>>>> >>>>>>>> >> change anyways. >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> Best regards, >>>>>>>> >>>>>>>> >> Goetz. >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> -----Original Message----- >>>>>>>> >>>>>>>> >> From: David Holmes [mailto:david.holmes at oracle.com] >>>>>>>> >>>>>>>> >> Sent: Friday, July 19, 2013 7:29 AM >>>>>>>> >>>>>>>> >> To: Lindenmaier, Goetz >>>>>>>> >>>>>>>> >> Cc: hotspot-dev at openjdk.java.net >>>>>>>> ; >>>>>>>> ppc-aix-port-dev at openjdk.java.net >>>>>>>> ; Vladimir Kozlov >>>>>>>> >>>>>>>> >> Subject: Re: RFR (XL): 8019972: PPC64 (part 9): platform files >>>>>>>> for interpreter only VM. >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> Hi Goetz, >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> Only a brief glance through ... >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> I think orderAccess_linux_ppc.inline.hpp should have: >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> 34 #ifndef _LP64 >>>>>>>> >>>>>>>> >> 35 #error "Atomic currently only impleneted for PPC64" >>>>>>>> >>>>>>>> >> 36 #endif >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> the same as in atomic_linux_ppc.inline.hpp (the jlong variants >>>>>>>> will only >>>>>>>> >>>>>>>> >> be atomic on ppc64). >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> BTW typo: 35 #error "Atomic currently only impleneted for >>>>>>>> PPC64" >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> I also find the ppc_ prefix used in the assembly code somewhat >>>>>>>> redundant. >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> David >>>>>>>> >>>>>>>> >> ----- >>>>>>>> >>>>>>>> >> >>>>>>>> >>>>>>>> >> On 18/07/2013 1:34 AM, Lindenmaier, Goetz wrote: >>>>>>>> >>>>>>>> >>> Hi, >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> This time with webrev. Sorry for the double mails. >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> This change contains all the files in cpu/ppc and >>>>>>>> os_cpu/linux_ppc needed for >>>>>>>> >>>>>>>> >>> the PPC64 interpreter port on linux. >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> With this change you can do a core build on ppc64 and run the >>>>>>>> VM interpreter only. >>>>>>>> >>>>>>>> >>> It executes simple programs as jvm98. >>>>>>>> >>>>>>>> >>> The change requires >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> * 8016697: Use stubs to implement safefetch >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> * 8020059: The flag introduced by 8014972 is not >>>>>>>> defined ... >>>>>>>> >>>>>>>> >>> which will arrive soon in the staging repository. >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> I marked the change as XL as it contains a lot of code. >>>>>>>> Nevertheless the >>>>>>>> >>>>>>>> >>> code has no impact on the existing Oracle platforms. >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> The change touches a single shared file, globals.hpp, >>>>>>>> removing a >>>>>>>> >>>>>>>> >>> special case introduced for the port. This is because we >>>>>>>> >>>>>>>> >>> integrated some changes earlier than originally intended. >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> Please review the change. Does it need testing on Oracle >>>>>>>> side? >>>>>>>> >>>>>>>> >>> http://cr.openjdk.java.net/~goetz/webrevs/8019972-ppc_files/ >>>>>>>> >>>>>>>> >>> >>>>>>>> >>>>>>>> >>> Best regards, >>>>>>>> >>>>>>>> >>> Goetz. >>>>>>>> >>>>>>>> >>> >>>>>>>> From volker.simonis at gmail.com Fri Jul 26 01:15:42 2013 From: volker.simonis at gmail.com (volker.simonis at gmail.com) Date: Fri, 26 Jul 2013 08:15:42 +0000 Subject: hg: ppc-aix-port/stage/hotspot: 8019926: PPC64 (part 106): Make hsdis build and work on Linux/PPC64 Message-ID: <20130726081551.0AF52483C4@hg.openjdk.java.net> Changeset: c9f0adfb4a8b Author: simonis Date: 2013-07-26 10:12 +0200 URL: http://hg.openjdk.java.net/ppc-aix-port/stage/hotspot/rev/c9f0adfb4a8b 8019926: PPC64 (part 106): Make hsdis build and work on Linux/PPC64 Summary: Make hsdis work on Linux/PPC64 and AIX/PPC64 Reviewed-by: kvn ! src/share/tools/hsdis/Makefile ! src/share/tools/hsdis/README ! src/share/tools/hsdis/hsdis.c From christian.thalinger at oracle.com Fri Jul 26 09:21:18 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 26 Jul 2013 09:21:18 -0700 Subject: RFR(M): 8020775: PPC64 (part 12): posix signal printing In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF7F4F@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF7F4F@DEWDFEMB12A.global.corp.sap> Message-ID: <57C1A33A-2D35-4745-977A-84C786AA87A6@oracle.com> Could you paste an example output? -- Chris On Jul 25, 2013, at 4:11 PM, "Lindenmaier, Goetz" wrote: > Hi, > > we'd like to contribute our posix signal printing. > We implemented some routines to print signal and sa_flags information > in the os/posix files, and call them from > os::print_siginfo and print_signal_handler() in the various unix > variant directories. > The output is a bit more verbose than the existing version. > > We contribute this here, as our aix code uses this too. > > Please review this and test it if you think we should add this. > We'd appreciate it. > http://cr.openjdk.java.net/~goetz/webrevs/8020775-print_sig/ > > Thanks and best regards, > Goetz. From vladimir.kozlov at oracle.com Fri Jul 26 12:11:13 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 26 Jul 2013 12:11:13 -0700 Subject: RFR(M): 8020775: PPC64 (part 12): posix signal printing In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF7F4F@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF7F4F@DEWDFEMB12A.global.corp.sap> Message-ID: <51F2C9D1.60907@oracle.com> I think it is good cleanup. Thank you, Goetz. Few notes. Could you align elements/names in tables in get_signal_name() and get_signal_code_description() to make them aligned with each other and with #ifdefs? It looks like all unixes (including bsd) have NSIG value defined (I could be wrong). you can use it directly instead of MAX_SIGNAL_NUMBER. On Solaris it is: /usr/include/sys/signal.h:#define NSIG 73 /* valid signals range from 1 to NSIG-1 */ /usr/include/sys/signal.h:#define MAXSIG 72 /* size of u_signal[], NSIG-1 <= MAXSIG */ May be you can avoid #ifdef APPLE such way. describe_signal_set_short() method is bogus. Why you overwrite buf[0] with "0" or "1" and the rest of buffer with 0 each time? Should it be And why you need separate describe_signal_set_short() method? And why you need *10 for buffer size? I would prefer to see the code similar to describe_sa_flags() with list of signals instead of "01". Yes, it would be different from current code but it would much more useful to have signal names. In describe_sa_flags(): size_t remaining = size-1; // leave space for /0 Again, why you separated describe_sa_flags() method? In get_signal_code_description(): Add break: + for (int i = 0; t1[i].sig != -1; i ++) { + if (t1[i].sig == si->si_signo && t1[i].code == si->si_code) { + s_code = t1[i].s_code; + s_desc = t1[i].s_desc; + break; + } + } + Put on different lines: + out->s_name = out->s_desc = "unknown"; Why not use s_name instead of s_code to match out->s_name? Thanks, Vladimir On 7/25/13 4:11 PM, Lindenmaier, Goetz wrote: > Hi, > > we'd like to contribute our posix signal printing. > We implemented some routines to print signal and sa_flags information > in the os/posix files, and call them from > os::print_siginfo and print_signal_handler() in the various unix > variant directories. > The output is a bit more verbose than the existing version. > > We contribute this here, as our aix code uses this too. > > Please review this and test it if you think we should add this. > We'd appreciate it. > http://cr.openjdk.java.net/~goetz/webrevs/8020775-print_sig/ > > Thanks and best regards, > Goetz. > From vladimir.kozlov at oracle.com Fri Jul 26 18:34:25 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 26 Jul 2013 18:34:25 -0700 Subject: Sync from jdk8/jdk8 to ppc-aix-port/stage is skipped this week In-Reply-To: <51EAD506.8010003@oracle.com> References: <51EAD506.8010003@oracle.com> Message-ID: <51F323A1.9010003@oracle.com> I want to skip the sync this week. I did JPRT testing and several jdk and Hotspot tests are failed because of known bugs. Fixes for these bugs will be promoted next week. The only interesting change in the merge is 8016697: Use stubs to implement safefetch. Thanks, Vladimir From david.holmes at oracle.com Sun Jul 28 19:46:19 2013 From: david.holmes at oracle.com (David Holmes) Date: Mon, 29 Jul 2013 12:46:19 +1000 Subject: RFR(M): 8020775: PPC64 (part 12): posix signal printing In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFF7F4F@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFF7F4F@DEWDFEMB12A.global.corp.sap> Message-ID: <51F5D77B.6040009@oracle.com> On 26/07/2013 9:11 AM, Lindenmaier, Goetz wrote: > Hi, > > we'd like to contribute our posix signal printing. This really isn't "posix signals" as it combines all the OS specific signal definitions into one chunk of code. + // A number high enough to contain all possible signal numbers. + #define MAX_SIGNAL_NUMBER 70 Why do you need this when you use sigaddset to check validity anyway? What is this "maximum signal number" meant to represent anyway? The maximum signal number on the platform, or the maximum signal number for a signal that the JVM will install a handler for? The runtime team will need to take a good look at this. Personally I'd rather not see all the different OS stuff piled in together. I'd certainly like to see as little duplication as possible, but I'd rather platform specific stuff was dealt with in platform specific files. David ----- > We implemented some routines to print signal and sa_flags information > in the os/posix files, and call them from > os::print_siginfo and print_signal_handler() in the various unix > variant directories. > The output is a bit more verbose than the existing version. > > We contribute this here, as our aix code uses this too. > Please review this and test it if you think we should add this. > We'd appreciate it. > http://cr.openjdk.java.net/~goetz/webrevs/8020775-print_sig/ > > Thanks and best regards, > Goetz. >