From aph at redhat.com Mon Jan 4 10:53:46 2021 From: aph at redhat.com (Andrew Haley) Date: Mon, 4 Jan 2021 10:53:46 +0000 Subject: Migrate to Mailing Lists to Modern Forum Software In-Reply-To: References: <9957aad2-6737-c718-2a86-db9fde2dde35@redhat.com> <74efbf80-17f6-5f33-1218-a12d037d5296@redhat.com> <79120497.231717.1609176872267@mail.vodafone.de> <1170780572.231929.1609178018470@mail.vodafone.de> Message-ID: <16116a88-49a4-9e05-91d1-42fe087ebdb7@redhat.com> On 12/29/20 4:08 PM, Victor Williams Stafusa da Silva wrote: > I am just an occasional lurker here. But if my opinion counts (specially as > being an outsider), I think that mailing lists are extremely cumbersome. I > would certainly participate a lot more if the discussions had a more modern > and friendly format and I think that GitHub is very good at this. What do you mean by "participate"? Do you mean contribute to OpenJDK in some way? I don't really understand what you want to happen by discussions being linearized. The discussions themselves, messages between groups of people, are not linear but branching. Any scheme to impose a linear ordering on a naturally branching discussion would surely be misleading, so I guess you can't mean you want that. I just did a Google search and immediately found this discussion in several places. It seems to me that this property of not depending on a single site is extremely valuable. So, we have searchability. If you don't like digests, don't subscribe to them. I don't like digests either. Gmail has many problems. The greatest advantage of email is that you don't have to use a particular provider. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From a.g.d.turner at gmail.com Tue Jan 5 02:46:20 2021 From: a.g.d.turner at gmail.com (Andy Turner) Date: Tue, 5 Jan 2021 02:46:20 +0000 Subject: Introduction Andy Turner Message-ID: Hi, I am new to this list and new to trying to contribute to openJDK. Part of my work in the last 20 years or so has involved developing open source Java software for academic research projects. These days I develop Java code using Maven, Netbeans, and Junit 5 + Hamcrest for tests. Recently I have been modularising code and trying to get others that develop libraries that I use to do the same. I work in academia and am based at the University of Leeds. I develop Java code for geographical data analysis and geographical modelling. Some of the code is generally useful and is formed into packages in some libraries that I keep reusing when I have a new analysis to do. In the past year or so I have been getting versioned releases of these commonly used libraries onto Maven Central. Coding wise I am interested in spatial statistics, representing numbers and arbitrary and fixed precision arithmetic. Currently I am developing a Euclidean geometry library as a bit of a pet project. This is currently involving writing a class to store roots of rational numbers. For a long time I have puzzled over different ways to represent any set of real numbers in a computer. Here is a link to my github profile: https://github.com/agdturner I'd like to improve BigDecimal and BigInteger and maybe get a BigRational class contributed. The best one of these I have come across I use and is part of Eric's BigMath library which has lots of great work: https://github.com/eobermuhlner/big-math Recently I have contacted a few others that might contribute to improving the openJDK including Mikko who has developed the APfloat library: http://www.apfloat.org/apfloat_java/ I think these are exciting times for the language and I think this is in part down to the benefits from modularisation and opening up the development process. Before I posted I read a few posts from the archive. I'll do a bit more reading of the archive and look forward to reading what comes in and getting involved in the community work. Thank you and best wishes, Andy From brian.goetz at oracle.com Tue Jan 5 19:43:26 2021 From: brian.goetz at oracle.com (Brian Goetz) Date: Tue, 5 Jan 2021 14:43:26 -0500 Subject: Introduction Andy Turner In-Reply-To: References: Message-ID: <9d2a2e1a-c196-d997-bd83-bfcc7d85b1fe@oracle.com> > I'd like to improve BigDecimal and BigInteger and maybe get a BigRational > class contributed. The best one of these I have come across I use and is > part of Eric's BigMath library which has lots of great work: > https://github.com/eobermuhlner/big-math Some interesting projects in the area of numerics libraries, all under the umbrella of Project Valhalla, would be: ?- Migrating Big{Integer,Decimal} to primitive classes, and evaluating performance results.? (The current implementation is kind of "fat", there are a lot of fields, and flattening might not be a win here, but understanding the tradeoffs would be.) ?- A Decimal primitive class for "small decimals" (measurements, money, etc.) ?- A HalfFloat primitive class (either true half-floats or bfloats), which would be useful for ML work From joserz at linux.ibm.com Mon Jan 11 21:07:00 2021 From: joserz at linux.ibm.com (joserz at linux.ibm.com) Date: Mon, 11 Jan 2021 18:07:00 -0300 Subject: VectorAPI and C2 compiler Message-ID: <20210111210700.GA3750256@pacoca> Hello team, I'm currently working on the VectorAPI support to PowerPC64 but none of my instructions, defined in ppc64.ad, gets executed. I decided to take a look at x86, but again no Vector instructions printed. Basically, I have a test case like this: for (int j = 0; j < 1_000_000; j++) { int[] iin128 = {25, -398, 415, Short.MAX_VALUE + 2}; short[] sout64 = new short[ShortVector.SPECIES_64.length()]; vectorCastIntToShort(IntVector.SPECIES_128, ShortVector.SPECIES_64, iin128, sout64); } That I execute like: java -Xcomp -XX:-TieredCompilation -XX:CompileThreshold=1 \ -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly \ -XX:+PrintOptoAssembly -XX:+UnlockExperimentalVMOptions \ -XX:+EnableVectorSupport -XX:+EnableVectorReboxing \ -XX:+EnableVectorAggressiveReboxing -XX:UseAVX=2 Cast And expected to see any of `format %{ "vector_* ... %}` instructions, defined in x86.ad, being printed. Am I missing anything? Thank you, Jose R Ziviani From some-java-user-99206970363698485155 at vodafonemail.de Tue Jan 12 16:45:00 2021 From: some-java-user-99206970363698485155 at vodafonemail.de (some-java-user-99206970363698485155 at vodafonemail.de) Date: Tue, 12 Jan 2021 17:45:00 +0100 (CET) Subject: Migrate to Mailing Lists to Modern Forum Software In-Reply-To: <16116a88-49a4-9e05-91d1-42fe087ebdb7@redhat.com> References: <9957aad2-6737-c718-2a86-db9fde2dde35@redhat.com> <74efbf80-17f6-5f33-1218-a12d037d5296@redhat.com> <79120497.231717.1609176872267@mail.vodafone.de> <1170780572.231929.1609178018470@mail.vodafone.de> <16116a88-49a4-9e05-91d1-42fe087ebdb7@redhat.com> Message-ID: <1972132279.372226.1610469900367@mail.vodafone.de> Even though you did not address me here, I would like to counter some of these arguments: > I just did a Google search and immediately found this discussion in several > places. When I search for "openjdk Migrate to Mailing Lists to Modern Forum Software" I don't even find mail.openjdk.java.net on the first page. It only shows third party sites such as nabble.com (which does not properly support HTTPS!) and markmail.org. To me this is not very convincing. Additionally a Google search would not let you easily search by author and possibly other parameters. Also for what it's worth, mail.openjdk.java.net does not even directly show me to whom you have responded because you responded in a different month. > Gmail has many problems. The greatest advantage of email is that you don't > have to use a particular provider. And the disadvantage is that you would have to create an account for a different provider / switch the e-mail client just to read a mailing list. From linuxhippy at gmail.com Fri Jan 15 20:32:45 2021 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Fri, 15 Jan 2021 21:32:45 +0100 Subject: recommended IDE for developing openjdk? Message-ID: Hi, About 10 years ago I used eclipse to work on OpenJDK, however I would like to get rid of it because of its slow/ugly user interface. I wonder, are there any recommendations which IDE to use these days? I gave IntelliJ a try but having not used it that much (except for some fairly standard maven based projects) I failed to configure it correctly, however I haven't tried Netbeans still. So to make it short: Which IDE is known to cope well with working on the OpenJDK codebase? And are there detailed instructions available for creating an openjdk project with intellij? Or would I be better off using netbeans? Thank, Clemens From jonathan.gibbons at oracle.com Fri Jan 15 20:42:59 2021 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 15 Jan 2021 12:42:59 -0800 Subject: recommended IDE for developing openjdk? In-Reply-To: References: Message-ID: <96dd8350-5436-b9c1-ece6-e74c5836ddbd@oracle.com> IntelliJ IDEA works well, and more than a few OpenJDK developers use it. There's a script bin/idea.sh in the OpenJDK repos that you can execute to initialize a project that can be opened in the IDE. -- Jon On 1/15/21 12:32 PM, Clemens Eisserer wrote: > Hi, > > About 10 years ago I used eclipse to work on OpenJDK, however I would like > to get rid of it because of its slow/ugly user interface. > I wonder, are there any recommendations which IDE to use these days? > I gave IntelliJ a try but having not used it that much (except for some > fairly standard maven based projects) I failed to configure it correctly, > however I haven't tried Netbeans still. > > So to make it short: Which IDE is known to cope well with working on the > OpenJDK codebase? > And are there detailed instructions available for creating an openjdk > project with intellij? > Or would I be better off using netbeans? > > Thank, Clemens From christoph.langer at sap.com Mon Jan 18 09:46:02 2021 From: christoph.langer at sap.com (Langer, Christoph) Date: Mon, 18 Jan 2021 09:46:02 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: References: Message-ID: Hi Clemens, while I won't argue about the fanciness of the Eclipse user interface (??), I'd like to point you to a set of Eclipse projects that I created nevertheless... You'll find them here: https://github.com/RealCLanger/OpenJDKEclipseProjects The main benefit of these Eclipse projects is that the projects for all modules and tests are linked together so you will immediately recognize errors in dependencies. I think that doesn't work so well with IntelliJ. Another hint: There's a mailing list called ide-support-dev where questions around IDE support can get discussed. Best regards Christoph > -----Original Message----- > From: discuss On Behalf Of Clemens > Eisserer > Sent: Freitag, 15. Januar 2021 21:33 > To: discuss at openjdk.java.net > Subject: recommended IDE for developing openjdk? > > Hi, > > About 10 years ago I used eclipse to work on OpenJDK, however I would like > to get rid of it because of its slow/ugly user interface. > I wonder, are there any recommendations which IDE to use these days? > I gave IntelliJ a try but having not used it that much (except for some > fairly standard maven based projects) I failed to configure it correctly, > however I haven't tried Netbeans still. > > So to make it short: Which IDE is known to cope well with working on the > OpenJDK codebase? > And are there detailed instructions available for creating an openjdk > project with intellij? > Or would I be better off using netbeans? > > Thank, Clemens From maurizio.cimadamore at oracle.com Mon Jan 18 11:11:06 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 18 Jan 2021 11:11:06 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: References: Message-ID: Hi, thanks for the pointer to the Eclipse project - I'm sure folks will find that useful. I think these days the IntelliJ support is relatively polished - there are features missing yes (for instance the project is monolitic, and not modularized, but folks here are using it pretty regularly and I can't say that has been a huge issue so far). To get started with intellij you have to create an IDE configuration first. 1. first run `sh configure` as you normally would to set up your JDK build - that build configuration would then be reused by Intellij 2. then run `sh bin/idea.sh - e.g. `sh bin/idea.sh java.base jdk.compiler java.desktop` - this will create an `.idea` folder in the current directory and set the sources for the JDK modules you specified. 3. open IntelliJ and point it to the folder where the `.idea` folder has been created. If everything worked correctly you should have a project up and running. The base project supports actions for cleaning, rebuilding the selected modules, or building a JDK image. Optionally, you can also build and install a jtreg plugin, to run and debug tests: https://openjdk.java.net/jtreg/intellij-plugin.html I use this setup on a daily basis and I think it works pretty well - there are things that can be improved (for instance, I don't think the generated sources are always recognized correctly, we need to look into that), but I'm quite productive with it (especially with the jtreg plugin enabled). I know that there is also some limited support for VSCode (especially for hotspot development): https://github.com/openjdk/jdk/blob/master/doc/ide.md And that there is Netbeans support as well - CC'ing Jan who knows more than I do on how to get started there. Eventually we should collect all this info in a single place, but I never found the time to do so. Apologies! Cheers Maurizio On 18/01/2021 09:46, Langer, Christoph wrote: > Hi Clemens, > > while I won't argue about the fanciness of the Eclipse user interface (??), I'd like to point you to a set of Eclipse projects that I created nevertheless... > > You'll find them here: https://github.com/RealCLanger/OpenJDKEclipseProjects > > The main benefit of these Eclipse projects is that the projects for all modules and tests are linked together so you will immediately recognize errors in dependencies. I think that doesn't work so well with IntelliJ. > > Another hint: There's a mailing list called ide-support-dev where questions around IDE support can get discussed. > > Best regards > Christoph > >> -----Original Message----- >> From: discuss On Behalf Of Clemens >> Eisserer >> Sent: Freitag, 15. Januar 2021 21:33 >> To: discuss at openjdk.java.net >> Subject: recommended IDE for developing openjdk? >> >> Hi, >> >> About 10 years ago I used eclipse to work on OpenJDK, however I would like >> to get rid of it because of its slow/ugly user interface. >> I wonder, are there any recommendations which IDE to use these days? >> I gave IntelliJ a try but having not used it that much (except for some >> fairly standard maven based projects) I failed to configure it correctly, >> however I haven't tried Netbeans still. >> >> So to make it short: Which IDE is known to cope well with working on the >> OpenJDK codebase? >> And are there detailed instructions available for creating an openjdk >> project with intellij? >> Or would I be better off using netbeans? >> >> Thank, Clemens From pavel.rappo at oracle.com Mon Jan 18 11:49:21 2021 From: pavel.rappo at oracle.com (Pavel Rappo) Date: Mon, 18 Jan 2021 11:49:21 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: References: Message-ID: I note that the last time I configured IntelliJ IDEA for `openjdk/jdk` using a procedure similar to the one that Maurizio has just described, I had to tweak inclusion of generated source. IIRC, after the `idea.sh` script completed, I opened the project it created and went to "File > Project Structure... Project Settings > Modules > Add Content Root" to fix up the way `support/gensrc/java.base` was included. Before I did that, IntelliJ IDEA couldn't see `java.nio.ByteBuffer` and friends. There's always a chance that I followed the reference procedure incorrectly since I haven't seen others complaining about having had to do similar tweaks. -Pavel > On 18 Jan 2021, at 11:11, Maurizio Cimadamore wrote: > > Hi, > thanks for the pointer to the Eclipse project - I'm sure folks will find that useful. > > I think these days the IntelliJ support is relatively polished - there are features missing yes (for instance the project is monolitic, and not modularized, but folks here are using it pretty regularly and I can't say that has been a huge issue so far). > > To get started with intellij you have to create an IDE configuration first. > > 1. first run `sh configure` as you normally would to set up your JDK build - that build configuration would then be reused by Intellij > > 2. then run `sh bin/idea.sh - e.g. `sh bin/idea.sh java.base jdk.compiler java.desktop` - this will create an `.idea` folder in the current directory and set the sources for the JDK modules you specified. > > 3. open IntelliJ and point it to the folder where the `.idea` folder has been created. If everything worked correctly you should have a project up and running. > > The base project supports actions for cleaning, rebuilding the selected modules, or building a JDK image. > > Optionally, you can also build and install a jtreg plugin, to run and debug tests: > > https://openjdk.java.net/jtreg/intellij-plugin.html > > > I use this setup on a daily basis and I think it works pretty well - there are things that can be improved (for instance, I don't think the generated sources are always recognized correctly, we need to look into that), but I'm quite productive with it (especially with the jtreg plugin enabled). > > I know that there is also some limited support for VSCode (especially for hotspot development): > > https://github.com/openjdk/jdk/blob/master/doc/ide.md > > And that there is Netbeans support as well - CC'ing Jan who knows more than I do on how to get started there. > > Eventually we should collect all this info in a single place, but I never found the time to do so. Apologies! > > Cheers > Maurizio > > > On 18/01/2021 09:46, Langer, Christoph wrote: >> Hi Clemens, >> >> while I won't argue about the fanciness of the Eclipse user interface (??), I'd like to point you to a set of Eclipse projects that I created nevertheless... >> >> You'll find them here: https://github.com/RealCLanger/OpenJDKEclipseProjects >> >> The main benefit of these Eclipse projects is that the projects for all modules and tests are linked together so you will immediately recognize errors in dependencies. I think that doesn't work so well with IntelliJ. >> >> Another hint: There's a mailing list called ide-support-dev where questions around IDE support can get discussed. >> >> Best regards >> Christoph >> >>> -----Original Message----- >>> From: discuss On Behalf Of Clemens >>> Eisserer >>> Sent: Freitag, 15. Januar 2021 21:33 >>> To: discuss at openjdk.java.net >>> Subject: recommended IDE for developing openjdk? >>> >>> Hi, >>> >>> About 10 years ago I used eclipse to work on OpenJDK, however I would like >>> to get rid of it because of its slow/ugly user interface. >>> I wonder, are there any recommendations which IDE to use these days? >>> I gave IntelliJ a try but having not used it that much (except for some >>> fairly standard maven based projects) I failed to configure it correctly, >>> however I haven't tried Netbeans still. >>> >>> So to make it short: Which IDE is known to cope well with working on the >>> OpenJDK codebase? >>> And are there detailed instructions available for creating an openjdk >>> project with intellij? >>> Or would I be better off using netbeans? >>> >>> Thank, Clemens From youngty1997 at gmail.com Mon Jan 18 12:36:45 2021 From: youngty1997 at gmail.com (Ty Young) Date: Mon, 18 Jan 2021 06:36:45 -0600 Subject: recommended IDE for developing openjdk? In-Reply-To: References: Message-ID: <25942770-9fb2-ab22-b60c-e94197fa8e65@gmail.com> FWIW, I use Netbeans. It *technically* works from my experience but there are some issues: * There is no auto-configure(read: auto *bash configure*) or project settings for multiple build types and customization. You'll have to do those yourself through the command line. * A bug was introduced which prevents any application using the Swing? GTK L&F from starting on some distros based on and including Arch Linux. You can get it to work still by copying folder from another install that doesn't use the GTK L&F or by using command line switches. * If the OpenJDK source files are on an FUSE drive(NTFS on Linux, for example) then Netbeans will fail to clean due to remaining .fuse_hidden files in jdk/lib if that JDK build is used as a Java Platform. You can manually delete these but Netbeans for some reason can't. * Netbeans doesn't seem to handle(read: see at all) API changes between Java Platforms correctly and as a result you have to make the built-from-source JDK your default JDK and restart Netbeans to see API changes that you make. * Netbeans likes to randomly expand the java.base module's /share/classes directory leaf for some weird reason. * Netbeans will mark classes as having compilation errors even after doing an initial build such as in java.util.concurrent.Semaphore and java.security.AlgorithmConstraints. The OpenJDK source will still compile despite these errors just fine, even from within Netbeans itself. Looking at the files that supposedly have errors shows that it's either because of: A. instanceof preview feature or B. Netbeans fails to correctly read and/or process a Java file resulting in Netbeans thinking constructors need identifiers(e.g. java.util.concurrent.Semaphore's Sync abstract static class's constructor) or entire method signatures being misinterpreted(e.g. every method in? java.security.AlgorithmConstraints). * Netbeans from my experience has a cascading error issue where an error somewhere in a different part of a project will cause Netbeans to incorrectly see errors somewhere else, which may explain the above. * Netbeans has really bad general bugs with refactoring. Don't use it if you can help it. Basically, all you have to do is do an initial configure via: bash configure and build via: make images and then load any of the modules under "src" from within Netbeans. Netbeans will show a different non-folder icon(cup?) for the JDK modules that you can load. Hope this helps. On 1/15/21 2:32 PM, Clemens Eisserer wrote: > Hi, > > About 10 years ago I used eclipse to work on OpenJDK, however I would like > to get rid of it because of its slow/ugly user interface. > I wonder, are there any recommendations which IDE to use these days? > I gave IntelliJ a try but having not used it that much (except for some > fairly standard maven based projects) I failed to configure it correctly, > however I haven't tried Netbeans still. > > So to make it short: Which IDE is known to cope well with working on the > OpenJDK codebase? > And are there detailed instructions available for creating an openjdk > project with intellij? > Or would I be better off using netbeans? > > Thank, Clemens From fweimer at redhat.com Mon Jan 18 12:43:54 2021 From: fweimer at redhat.com (Florian Weimer) Date: Mon, 18 Jan 2021 13:43:54 +0100 Subject: OpenJDK bug system accounts In-Reply-To: <708147f5-0cdc-fafc-fea8-b544f33c3068@redhat.com> (Andrew Haley's message of "Mon, 7 Dec 2020 16:44:55 +0000") References: <87k0ttkfer.fsf@oldenburg2.str.redhat.com> <708147f5-0cdc-fafc-fea8-b544f33c3068@redhat.com> Message-ID: <877doaqut1.fsf@oldenburg.str.redhat.com> * Andrew Haley: > On 07/12/2020 11:46, Florian Weimer wrote: >> I'd like to get an OpenJDK bug system account for our tzdata maintainer, >> because that will allow us to collaborate more effectively on Java >> issues related to time zone updates. >> >> Is there a process for requesting such accounts? Red Hat is an OCA >> signatory, so that part shouldn't be an issue. > > OpenJDK authors get accounts with full access. Once someone has > contributed a few fixes they can become an author. Hmm. Is there a way around that? Thanks, Florian -- Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243, Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill From maurizio.cimadamore at oracle.com Mon Jan 18 15:02:57 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 18 Jan 2021 15:02:57 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: References: Message-ID: <6d60d3e9-6c23-3a33-7905-b5fad3766370@oracle.com> On 18/01/2021 11:49, Pavel Rappo wrote: > I note that the last time I configured IntelliJ IDEA for `openjdk/jdk` using a procedure similar to the one that Maurizio has just described, I had to tweak inclusion of generated source. > > IIRC, after the `idea.sh` script completed, I opened the project it created and went to "File > Project Structure... Project Settings > Modules > Add Content Root" to fix up the way `support/gensrc/java.base` was included. Before I did that, IntelliJ IDEA couldn't see `java.nio.ByteBuffer` and friends. > > There's always a chance that I followed the reference procedure incorrectly since I haven't seen others complaining about having had to do similar tweaks. Hi Pavel, this is also what I do. I believe the problem is a consequence of something Chris and I have tried early on as a way to reduce indexing time of the project - e.g. a long time was spent indexing files in the build folder - so we excluded that. The project also re-add generated sources folders - but since these occur inside an excluded folder, it seems like the IDE gets confused. I tried your trick of adding a new content folder and, while clever, it doesn't seem to help - e.g. as long as the build folder is excluded, the IDE cannot see the generated files when try to open a class (e.g. CTRL + N). Maurizio > > -Pavel > >> On 18 Jan 2021, at 11:11, Maurizio Cimadamore wrote: >> >> Hi, >> thanks for the pointer to the Eclipse project - I'm sure folks will find that useful. >> >> I think these days the IntelliJ support is relatively polished - there are features missing yes (for instance the project is monolitic, and not modularized, but folks here are using it pretty regularly and I can't say that has been a huge issue so far). >> >> To get started with intellij you have to create an IDE configuration first. >> >> 1. first run `sh configure` as you normally would to set up your JDK build - that build configuration would then be reused by Intellij >> >> 2. then run `sh bin/idea.sh - e.g. `sh bin/idea.sh java.base jdk.compiler java.desktop` - this will create an `.idea` folder in the current directory and set the sources for the JDK modules you specified. >> >> 3. open IntelliJ and point it to the folder where the `.idea` folder has been created. If everything worked correctly you should have a project up and running. >> >> The base project supports actions for cleaning, rebuilding the selected modules, or building a JDK image. >> >> Optionally, you can also build and install a jtreg plugin, to run and debug tests: >> >> https://openjdk.java.net/jtreg/intellij-plugin.html >> >> >> I use this setup on a daily basis and I think it works pretty well - there are things that can be improved (for instance, I don't think the generated sources are always recognized correctly, we need to look into that), but I'm quite productive with it (especially with the jtreg plugin enabled). >> >> I know that there is also some limited support for VSCode (especially for hotspot development): >> >> https://github.com/openjdk/jdk/blob/master/doc/ide.md >> >> And that there is Netbeans support as well - CC'ing Jan who knows more than I do on how to get started there. >> >> Eventually we should collect all this info in a single place, but I never found the time to do so. Apologies! >> >> Cheers >> Maurizio >> >> >> On 18/01/2021 09:46, Langer, Christoph wrote: >>> Hi Clemens, >>> >>> while I won't argue about the fanciness of the Eclipse user interface (??), I'd like to point you to a set of Eclipse projects that I created nevertheless... >>> >>> You'll find them here: https://github.com/RealCLanger/OpenJDKEclipseProjects >>> >>> The main benefit of these Eclipse projects is that the projects for all modules and tests are linked together so you will immediately recognize errors in dependencies. I think that doesn't work so well with IntelliJ. >>> >>> Another hint: There's a mailing list called ide-support-dev where questions around IDE support can get discussed. >>> >>> Best regards >>> Christoph >>> >>>> -----Original Message----- >>>> From: discuss On Behalf Of Clemens >>>> Eisserer >>>> Sent: Freitag, 15. Januar 2021 21:33 >>>> To: discuss at openjdk.java.net >>>> Subject: recommended IDE for developing openjdk? >>>> >>>> Hi, >>>> >>>> About 10 years ago I used eclipse to work on OpenJDK, however I would like >>>> to get rid of it because of its slow/ugly user interface. >>>> I wonder, are there any recommendations which IDE to use these days? >>>> I gave IntelliJ a try but having not used it that much (except for some >>>> fairly standard maven based projects) I failed to configure it correctly, >>>> however I haven't tried Netbeans still. >>>> >>>> So to make it short: Which IDE is known to cope well with working on the >>>> OpenJDK codebase? >>>> And are there detailed instructions available for creating an openjdk >>>> project with intellij? >>>> Or would I be better off using netbeans? >>>> >>>> Thank, Clemens From aph at redhat.com Mon Jan 18 15:27:21 2021 From: aph at redhat.com (Andrew Haley) Date: Mon, 18 Jan 2021 15:27:21 +0000 Subject: OpenJDK bug system accounts In-Reply-To: <877doaqut1.fsf@oldenburg.str.redhat.com> References: <87k0ttkfer.fsf@oldenburg2.str.redhat.com> <708147f5-0cdc-fafc-fea8-b544f33c3068@redhat.com> <877doaqut1.fsf@oldenburg.str.redhat.com> Message-ID: <9311c200-7666-1772-6ed5-762463f7acb4@redhat.com> On 1/18/21 12:43 PM, Florian Weimer wrote: > * Andrew Haley: > >> On 07/12/2020 11:46, Florian Weimer wrote: >>> I'd like to get an OpenJDK bug system account for our tzdata maintainer, >>> because that will allow us to collaborate more effectively on Java >>> issues related to time zone updates. >>> >>> Is there a process for requesting such accounts? Red Hat is an OCA >>> signatory, so that part shouldn't be an issue. >> >> OpenJDK authors get accounts with full access. Once someone has >> contributed a few fixes they can become an author. > > Hmm. Is there a way around that? No. -- Andrew Haley (he/him) Java Platform Lead Engineer Red Hat UK Ltd. https://keybase.io/andrewhaley EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From pavel.rappo at oracle.com Tue Jan 19 17:33:52 2021 From: pavel.rappo at oracle.com (Pavel Rappo) Date: Tue, 19 Jan 2021 17:33:52 +0000 Subject: recommended IDE for developing openjdk? Message-ID: <065BA92F-790F-4659-85A1-2C42BB8B7D63@oracle.com> Maurizio, Here are three observations on configuring the JDK project in IntelliJ IDEA. 1. A folder can be present or absent in the "Excluded Folders" list. This list sits below the "+ Add Content Root" button on the right-hand side of the "Project Structure / Project Settings / Modules" window. The list's entries are of brown-red color. (Note: if the list is empty, it doesn't display its title "Excluded Folders" making it impossible to locate.) 2. The icon of a folder can be displayed in a bleak orange color; selecting such a folder causes the "Excluded" toggle to become pressed. This toggle is the rightmost toggle from the "Mark as:" label on the "Project Structure / Project Settings / Modules" window. 3. It seems that a folder can be both "Excluded" (2) and absent in "Excluded Folders" (1). For example, this is the case for the `build/macosx-x86_64-server-release` folder. If you delete the corresponding entry from "Excluded Folders" (1), that folder will stay "Excluded" (2). I believe this is because that folder is specified in the "Project compiler output" field on the "Project Structure / Project Settings / Project" window and, thus, is excluded implicitly. If we assume that being "Excluded" (2) implies that a folder is not indexed, then we could piggyback on (3) and simply delete the corresponding entry from "Excluded Folders" (1). I do that by pressing a cross-shaped, gray "Include" button on the corresponding entry and then press the "Apply" button on the window. That causes IDE to familiarize itself with the contents of `build/macosx-x86_64-server-release/support/gensrc/java.base`: symbols in editor are no longer of red color with a "Cannot resolve symbol ... " tooltip. I'm not sure how this tweak affects indexing though. -Pavel > On 18/01/2021 11:49, Pavel Rappo wrote: >> I note that the last time I configured IntelliJ IDEA for `openjdk/jdk` using a procedure similar to the one that Maurizio has just described, I had to tweak inclusion of generated source. >> >> IIRC, after the `idea.sh` script completed, I opened the project it created and went to "File > Project Structure... Project Settings > Modules > Add Content Root" to fix up the way `support/gensrc/java.base` was included. Before I did that, IntelliJ IDEA couldn't see `java.nio.ByteBuffer` and friends. >> >> There's always a chance that I followed the reference procedure incorrectly since I haven't seen others complaining about having had to do similar tweaks. > Hi Pavel, > > this is also what I do. > > I believe the problem is a consequence of something Chris and I have tried early on as a way to reduce indexing time of the project - e.g. a long time was spent indexing files in the build folder - so we excluded that. The project also re-add generated sources folders - but since these occur inside an excluded folder, it seems like the IDE gets confused. > > I tried your trick of adding a new content folder and, while clever, it doesn't seem to help - e.g. as long as the build folder is excluded, the IDE cannot see the generated files when try to open a class (e.g. CTRL + N). > > Maurizio From maurizio.cimadamore at oracle.com Wed Jan 20 12:26:26 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 20 Jan 2021 12:26:26 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: <065BA92F-790F-4659-85A1-2C42BB8B7D63@oracle.com> References: <065BA92F-790F-4659-85A1-2C42BB8B7D63@oracle.com> Message-ID: Hi Pavel, Here are three observations on configuring the JDK project in IntelliJ IDEA. 1. A folder can be present or absent in the "Excluded Folders" list. This list sits below the "+ Add Content Root" button on the right-hand side of the "Project Structure / Project Settings / Modules" window. The list's entries are of brown-red color. (Note: if the list is empty, it doesn't display its title "Excluded Folders" making it impossible to locate.) Gotcha - I can see the excluded folders 2. The icon of a folder can be displayed in a bleak orange color; selecting such a folder causes the "Excluded" toggle to become pressed. This toggle is the rightmost toggle from the "Mark as:" label on the "Project Structure / Project Settings / Modules" window. Yup - this is what I normally use to exclude folders "on the fly". 3. It seems that a folder can be both "Excluded" (2) and absent in "Excluded Folders" (1). For example, this is the case for the `build/macosx-x86_64-server-release` folder. If you delete the corresponding entry from "Excluded Folders" (1), that folder will stay "Excluded" (2). I believe this is because that folder is specified in the "Project compiler output" field on the "Project Structure / Project Settings / Project" window and, thus, is excluded implicitly. Here my head starts spinning - different exclusion mechanisms, partially overlapping? If we assume that being "Excluded" (2) implies that a folder is not indexed, then we could piggyback on (3) and simply delete the corresponding entry from "Excluded Folders" (1). I do that by pressing a cross-shaped, gray "Include" button on the corresponding entry and then press the "Apply" button on the window. That causes IDE to familiarize itself with the contents of `build/macosx-x86_64-server-release/support/gensrc/java.base`: symbols in editor are no longer of red color with a "Cannot resolve symbol ... " tooltip. I tried doing just that, but opening e.g. ByteBuffer with CTRL+N just doesn't work. But... you are right in that there's an hidden dependencies between the "Project Output" path and this quirky behavior. If I set "Project Output" to some other folder (e.g. somewhere other than "build") then indexing starts to work as it should... maybe a simple fix can be developed for this... Cheers Maurizio ________________________________ From: Pavel Rappo Sent: Tuesday, January 19, 2021 5:33 PM To: Maurizio Cimadamore Cc: Langer, Christoph ; Clemens Eisserer ; discuss at openjdk.java.net ; ide-support-dev at openjdk.java.net ; Jan Lahoda Subject: Re: recommended IDE for developing openjdk? Maurizio, Here are three observations on configuring the JDK project in IntelliJ IDEA. 1. A folder can be present or absent in the "Excluded Folders" list. This list sits below the "+ Add Content Root" button on the right-hand side of the "Project Structure / Project Settings / Modules" window. The list's entries are of brown-red color. (Note: if the list is empty, it doesn't display its title "Excluded Folders" making it impossible to locate.) 2. The icon of a folder can be displayed in a bleak orange color; selecting such a folder causes the "Excluded" toggle to become pressed. This toggle is the rightmost toggle from the "Mark as:" label on the "Project Structure / Project Settings / Modules" window. 3. It seems that a folder can be both "Excluded" (2) and absent in "Excluded Folders" (1). For example, this is the case for the `build/macosx-x86_64-server-release` folder. If you delete the corresponding entry from "Excluded Folders" (1), that folder will stay "Excluded" (2). I believe this is because that folder is specified in the "Project compiler output" field on the "Project Structure / Project Settings / Project" window and, thus, is excluded implicitly. If we assume that being "Excluded" (2) implies that a folder is not indexed, then we could piggyback on (3) and simply delete the corresponding entry from "Excluded Folders" (1). I do that by pressing a cross-shaped, gray "Include" button on the corresponding entry and then press the "Apply" button on the window. That causes IDE to familiarize itself with the contents of `build/macosx-x86_64-server-release/support/gensrc/java.base`: symbols in editor are no longer of red color with a "Cannot resolve symbol ... " tooltip. I'm not sure how this tweak affects indexing though. -Pavel > On 18/01/2021 11:49, Pavel Rappo wrote: >> I note that the last time I configured IntelliJ IDEA for `openjdk/jdk` using a procedure similar to the one that Maurizio has just described, I had to tweak inclusion of generated source. >> >> IIRC, after the `idea.sh` script completed, I opened the project it created and went to "File > Project Structure... Project Settings > Modules > Add Content Root" to fix up the way `support/gensrc/java.base` was included. Before I did that, IntelliJ IDEA couldn't see `java.nio.ByteBuffer` and friends. >> >> There's always a chance that I followed the reference procedure incorrectly since I haven't seen others complaining about having had to do similar tweaks. > Hi Pavel, > > this is also what I do. > > I believe the problem is a consequence of something Chris and I have tried early on as a way to reduce indexing time of the project - e.g. a long time was spent indexing files in the build folder - so we excluded that. The project also re-add generated sources folders - but since these occur inside an excluded folder, it seems like the IDE gets confused. > > I tried your trick of adding a new content folder and, while clever, it doesn't seem to help - e.g. as long as the build folder is excluded, the IDE cannot see the generated files when try to open a class (e.g. CTRL + N). > > Maurizio From maurizio.cimadamore at oracle.com Wed Jan 20 12:56:57 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 20 Jan 2021 12:56:57 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: <065BA92F-790F-4659-85A1-2C42BB8B7D63@oracle.com> References: <065BA92F-790F-4659-85A1-2C42BB8B7D63@oracle.com> Message-ID: <00163591-6131-e745-aaf1-85ced7d63f96@oracle.com> Resending with right formatting, sorry On 19/01/2021 17:33, Pavel Rappo wrote: > Maurizio, > > Here are three observations on configuring the JDK project in IntelliJ IDEA. > > 1. A folder can be present or absent in the "Excluded Folders" list. This list sits below the "+ Add Content Root" button on the right-hand side of the "Project Structure / Project Settings / Modules" window. The list's entries are of brown-red color. (Note: if the list is empty, it doesn't display its title "Excluded Folders" making it impossible to locate.) Gotcha - I can see the excluded folders > > 2. The icon of a folder can be displayed in a bleak orange color; selecting such a folder causes the "Excluded" toggle to become pressed. This toggle is the rightmost toggle from the "Mark as:" label on the "Project Structure / Project Settings / Modules" window. Yup - this is what I normally use to exclude folders "on the fly". > > 3. It seems that a folder can be both "Excluded" (2) and absent in "Excluded Folders" (1). For example, this is the case for the `build/macosx-x86_64-server-release` folder. If you delete the corresponding entry from "Excluded Folders" (1), that folder will stay "Excluded" (2). I believe this is because that folder is specified in the "Project compiler output" field on the "Project Structure / Project Settings / Project" window and, thus, is excluded implicitly. Here my head starts spinning - different exclusion mechanisms, partially overlapping? > > If we assume that being "Excluded" (2) implies that a folder is not indexed, then we could piggyback on (3) and simply delete the corresponding entry from "Excluded Folders" (1). I do that by pressing a cross-shaped, gray "Include" button on the corresponding entry and then press the "Apply" button on the window. That causes IDE to familiarize itself with the contents of `build/macosx-x86_64-server-release/support/gensrc/java.base`: symbols in editor are no longer of red color with a "Cannot resolve symbol ... " tooltip. > > I'm not sure how this tweak affects indexing though. I tried doing just that, but opening e.g. ByteBuffer with CTRL+N just doesn't work. But... you are right in that there's an hidden dependencies between the "Project Output" path and this quirky behavior. If I set "Project Output" to some other folder (e.g. somewhere other than "build") then indexing starts to work as it should... maybe a simple fix can be developed for this... Cheers Maurizio > > -Pavel > >> On 18/01/2021 11:49, Pavel Rappo wrote: >>> I note that the last time I configured IntelliJ IDEA for `openjdk/jdk` using a procedure similar to the one that Maurizio has just described, I had to tweak inclusion of generated source. >>> >>> IIRC, after the `idea.sh` script completed, I opened the project it created and went to "File > Project Structure... Project Settings > Modules > Add Content Root" to fix up the way `support/gensrc/java.base` was included. Before I did that, IntelliJ IDEA couldn't see `java.nio.ByteBuffer` and friends. >>> >>> There's always a chance that I followed the reference procedure incorrectly since I haven't seen others complaining about having had to do similar tweaks. >> Hi Pavel, >> >> this is also what I do. >> >> I believe the problem is a consequence of something Chris and I have tried early on as a way to reduce indexing time of the project - e.g. a long time was spent indexing files in the build folder - so we excluded that. The project also re-add generated sources folders - but since these occur inside an excluded folder, it seems like the IDE gets confused. >> >> I tried your trick of adding a new content folder and, while clever, it doesn't seem to help - e.g. as long as the build folder is excluded, the IDE cannot see the generated files when try to open a class (e.g. CTRL + N). >> >> Maurizio From pavel.rappo at oracle.com Wed Jan 20 18:41:18 2021 From: pavel.rappo at oracle.com (Pavel Rappo) Date: Wed, 20 Jan 2021 18:41:18 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: <00163591-6131-e745-aaf1-85ced7d63f96@oracle.com> References: <065BA92F-790F-4659-85A1-2C42BB8B7D63@oracle.com> <00163591-6131-e745-aaf1-85ced7d63f96@oracle.com> Message-ID: Maurizio, Replies are inline. > On 20 Jan 2021, at 12:56, Maurizio Cimadamore wrote: > > Resending with right formatting, sorry > > On 19/01/2021 17:33, Pavel Rappo wrote: >> Maurizio, >> >> Here are three observations on configuring the JDK project in IntelliJ IDEA. >> >> 1. A folder can be present or absent in the "Excluded Folders" list. This list sits below the "+ Add Content Root" button on the right-hand side of the "Project Structure / Project Settings / Modules" window. The list's entries are of brown-red color. (Note: if the list is empty, it doesn't display its title "Excluded Folders" making it impossible to locate.) > > Gotcha - I can see the excluded folders > >> >> 2. The icon of a folder can be displayed in a bleak orange color; selecting such a folder causes the "Excluded" toggle to become pressed. This toggle is the rightmost toggle from the "Mark as:" label on the "Project Structure / Project Settings / Modules" window. > > Yup - this is what I normally use to exclude folders "on the fly". > >> >> 3. It seems that a folder can be both "Excluded" (2) and absent in "Excluded Folders" (1). For example, this is the case for the `build/macosx-x86_64-server-release` folder. If you delete the corresponding entry from "Excluded Folders" (1), that folder will stay "Excluded" (2). I believe this is because that folder is specified in the "Project compiler output" field on the "Project Structure / Project Settings / Project" window and, thus, is excluded implicitly. > > Here my head starts spinning - different exclusion mechanisms, partially overlapping? This is my impression too. Here's my speculation: there seems to be implicit and explicit exclusion. While "explicit exclusion" implies "implicit exclusion", "implicit exclusion" does not imply "explicit exclusion". Unfortunately, reading this article didn't clarify the exclusion mechanism for me: https://www.jetbrains.com/help/idea/indexing.html >> >> If we assume that being "Excluded" (2) implies that a folder is not indexed, then we could piggyback on (3) and simply delete the corresponding entry from "Excluded Folders" (1). I do that by pressing a cross-shaped, gray "Include" button on the corresponding entry and then press the "Apply" button on the window. That causes IDE to familiarize itself with the contents of `build/macosx-x86_64-server-release/support/gensrc/java.base`: symbols in editor are no longer of red color with a "Cannot resolve symbol ... " tooltip. >> >> I'm not sure how this tweak affects indexing though. > > I tried doing just that, but opening e.g. ByteBuffer with CTRL+N just doesn't work. But... you are right in that there's an hidden dependencies between the "Project Output" path and this quirky behavior. If I set "Project Output" to some other folder (e.g. somewhere other than "build") then indexing starts to work as it should... maybe a simple fix can be developed for this... Interesting; I have a few questions on that. 1. What version of IntelliJ IDEA did you try that in? 2. Did you build the project before executing `sh ./bin/idea.sh <...> java.base <...>`? 3. Could you see the "build/<...>/support/gensrc/java.base [generated]" entry in the "Source Folders" list above the "Excluded Folders" list? 4. Did you allow the IDE to complete the incremental indexing after pressing "Apply"? -Pavel From maurizio.cimadamore at oracle.com Wed Jan 20 18:45:40 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 20 Jan 2021 18:45:40 +0000 Subject: recommended IDE for developing openjdk? In-Reply-To: References: <065BA92F-790F-4659-85A1-2C42BB8B7D63@oracle.com> <00163591-6131-e745-aaf1-85ced7d63f96@oracle.com> Message-ID: > Interesting; I have a few questions on that. > > 1. What version of IntelliJ IDEA did you try that in? Latest (2020.3.1) > 2. Did you build the project before executing `sh ./bin/idea.sh <...> java.base <...>`? Yes > 3. Could you see the "build/<...>/support/gensrc/java.base [generated]" entry in the "Source Folders" list above the "Excluded Folders" list? Yes > 4. Did you allow the IDE to complete the incremental indexing after pressing "Apply"? Yes Maurizio > > -Pavel > From sanhong.lsh at alibaba-inc.com Wed Jan 27 12:13:09 2021 From: sanhong.lsh at alibaba-inc.com (=?UTF-8?B?5p2O5LiJ57qiKOS4iee6oik=?=) Date: Wed, 27 Jan 2021 20:13:09 +0800 Subject: create a fork under openjdk Message-ID: <031901d6f4a5$c6a59590$53f0c0b0$@alibaba-inc.com> Hello, We are working on the fast-startup related development based on JDK11u. To facilitate community collaboration(sharing backports, bug fixing, patches, etc. across different companies/parties based on the repo), we are exploring creating the fork of JDK11u under the OpenJDK group [1] Can anyone help with this, or is there a way/process we can follow to do that? - Your help or any input is much appreciated. [1] https://github.com/openjdk Thanks! Sanhong From Alan.Bateman at oracle.com Wed Jan 27 12:44:49 2021 From: Alan.Bateman at oracle.com (Alan Bateman) Date: Wed, 27 Jan 2021 12:44:49 +0000 Subject: create a fork under openjdk In-Reply-To: <031901d6f4a5$c6a59590$53f0c0b0$@alibaba-inc.com> References: <031901d6f4a5$c6a59590$53f0c0b0$@alibaba-inc.com> Message-ID: On 27/01/2021 12:13, ???(??) wrote: > Hello, > > We are working on the fast-startup related development based on JDK11u. To > facilitate community collaboration(sharing backports, bug fixing, patches, > etc. across different companies/parties based on the repo), we are exploring > creating the fork of JDK11u under the OpenJDK group [1] > > > > Can anyone help with this, or is there a way/process we can follow to do > that? - Your help or any input is much appreciated. Is this a collection of small improvements that you are looking to upstream? Is there any reason not to work with a fork from the main line as it already has a lot of startup improvements since JDK 11. The jdk-sandbox repo [1] and existing mailing lists could be used in that case. Some of the JEPs in recent releases have accumulated changes in the sandbox during their development. Or maybe you have a larger multi-year project in mind? OpenJDK has Projects [2] for collaborative efforts. Projects will usually involve exploration and prototyping. Is that the sort of thing you had in mind? It might be useful to expand a bit on what you have in mind as it is hard to know if this is about upstreaming changes or an effort that will explore many directions. -Alan [1] https://github.com/openjdk/jdk-sandbox [2] https://openjdk.java.net/projects From sanhong.lsh at alibaba-inc.com Fri Jan 29 13:16:27 2021 From: sanhong.lsh at alibaba-inc.com (=?UTF-8?B?5p2O5LiJ57qiKOS4iee6oik=?=) Date: Fri, 29 Jan 2021 21:16:27 +0800 Subject: =?gb2312?B?tPC4tDogY3JlYXRlIGEgZm9yayB1bmRlciBvcGVuamRr?= In-Reply-To: References: <031901d6f4a5$c6a59590$53f0c0b0$@alibaba-inc.com> Message-ID: <066501d6f640$f3ca7580$db5f6080$@alibaba-inc.com> Hi Alan, Thanks for your reply. Let me elaborate a little bit on this - 1. Our cloud workloads are running on the top of JDK11(hard to keep them at the head version due to enormous upgrade cost). 2. Based on these real use-cases, we want to do the startup-related enhancements(neither exploration nor prototyping, just resolving the actual requirements) on JDK11 - At this moment, we are considering AppCDS(+upstream backports), pre-initialization, and more optimization, e.g., AOT, in the future if better for facilitating startup. 3. We plan to start with JDK11, but I think we can contribute them(or some of them) up to the master later. Thanks! Sanhong -----????----- ???: Alan Bateman ????: 2021?1?27? 20:45 ???: ???(??) ; discuss at openjdk.java.net ??: Re: create a fork under openjdk On 27/01/2021 12:13, ???(??) wrote: > Hello, > > We are working on the fast-startup related development based on > JDK11u. To facilitate community collaboration(sharing backports, bug > fixing, patches, etc. across different companies/parties based on the > repo), we are exploring creating the fork of JDK11u under the OpenJDK > group [1] > > > > Can anyone help with this, or is there a way/process we can follow to > do that? - Your help or any input is much appreciated. Is this a collection of small improvements that you are looking to upstream? Is there any reason not to work with a fork from the main line as it already has a lot of startup improvements since JDK 11. The jdk-sandbox repo [1] and existing mailing lists could be used in that case. Some of the JEPs in recent releases have accumulated changes in the sandbox during their development. Or maybe you have a larger multi-year project in mind? OpenJDK has Projects [2] for collaborative efforts. Projects will usually involve exploration and prototyping. Is that the sort of thing you had in mind? It might be useful to expand a bit on what you have in mind as it is hard to know if this is about upstreaming changes or an effort that will explore many directions. -Alan [1] https://github.com/openjdk/jdk-sandbox [2] https://openjdk.java.net/projects From jianglizhou at google.com Sat Jan 30 04:34:33 2021 From: jianglizhou at google.com (Jiangli Zhou) Date: Fri, 29 Jan 2021 20:34:33 -0800 Subject: create a fork under openjdk In-Reply-To: <066501d6f640$f3ca7580$db5f6080$@alibaba-inc.com> References: <031901d6f4a5$c6a59590$53f0c0b0$@alibaba-inc.com> <066501d6f640$f3ca7580$db5f6080$@alibaba-inc.com> Message-ID: Hi Alan and Sanhong, We are in a similar situation as Alibaba. Our developers are using JDK 11 or are being migrated to JDK 11. JDK 11 is our primarily supported release. We are interested in working with Alibaba and others in the community on the areas that Sanhong mentioned. We have started investigating and prototyping on JDK 11. Some of the work is currently being tested in production. Using a JDK 11 based collaboration repository is a good starting point and avoids the need/cost for merging (non-trivial) existing work into JDK head up front before the work is ripe enough. It also helps us to validate any new work in production as early as possible, while using JDK head based repo (e.g. sandbox) would not achieve that in the short term future. Our end goal is to rebase all the work from JDK 11 to JDK head, when it is mature and ready for contributing back (with review and approval by reviewers) to the mainline and potentially feed into the Leyden project. Best, Jiangli On Fri, Jan 29, 2021 at 5:18 AM ???(??) wrote: > Hi Alan, > Thanks for your reply. > Let me elaborate a little bit on this - > 1. Our cloud workloads are running on the top of JDK11(hard to keep them at > the head version due to enormous upgrade cost). > 2. Based on these real use-cases, we want to do the startup-related > enhancements(neither exploration nor prototyping, just resolving the actual > requirements) on JDK11 > - At this moment, we are considering AppCDS(+upstream backports), > pre-initialization, and more optimization, e.g., AOT, in the future if > better for facilitating startup. > 3. We plan to start with JDK11, but I think we can contribute them(or some > of them) up to the master later. > > Thanks! > Sanhong > -----????----- > ???: Alan Bateman > ????: 2021?1?27? 20:45 > ???: ???(??) ; discuss at openjdk.java.net > ??: Re: create a fork under openjdk > > On 27/01/2021 12:13, ???(??) wrote: > > Hello, > > > > We are working on the fast-startup related development based on > > JDK11u. To facilitate community collaboration(sharing backports, bug > > fixing, patches, etc. across different companies/parties based on the > > repo), we are exploring creating the fork of JDK11u under the OpenJDK > > group [1] > > > > > > > > Can anyone help with this, or is there a way/process we can follow to > > do that? - Your help or any input is much appreciated. > > Is this a collection of small improvements that you are looking to > upstream? > Is there any reason not to work with a fork from the main line as it > already > has a lot of startup improvements since JDK 11. The jdk-sandbox repo [1] > and > existing mailing lists could be used in that case. Some of the JEPs in > recent releases have accumulated changes in the sandbox during their > development. > > Or maybe you have a larger multi-year project in mind? OpenJDK has Projects > [2] for collaborative efforts. Projects will usually involve exploration > and > prototyping. Is that the sort of thing you had in mind? > It might be useful to expand a bit on what you have in mind as it is hard > to > know if this is about upstreaming changes or an effort that will explore > many directions. > > -Alan > > [1] https://github.com/openjdk/jdk-sandbox > [2] https://openjdk.java.net/projects > > From claes.redestad at oracle.com Sat Jan 30 13:55:48 2021 From: claes.redestad at oracle.com (Claes Redestad) Date: Sat, 30 Jan 2021 14:55:48 +0100 Subject: create a fork under openjdk In-Reply-To: References: <031901d6f4a5$c6a59590$53f0c0b0$@alibaba-inc.com> <066501d6f640$f3ca7580$db5f6080$@alibaba-inc.com> Message-ID: <65ef2498-965f-efbe-48c4-3f5d8ed01d35@oracle.com> Hi Jiangli, I will be happy to review changes when they are upstreamed to the JDK head, and implore you to make sure that the changes you are exploring can be upstreamed promptly to avoid potential conflicts with ongoing and existing enhancement work in either head or the endorsed projects. I will personally not participate in any discussion or collaborate with changes outside of the JDK mainline or a project that tracks the mainline repo (panama, valhalla, leyden...). Best regards /Claes On 2021-01-30 05:34, Jiangli Zhou wrote: > Hi Alan and Sanhong, > > We are in a similar situation as Alibaba. Our developers are using JDK 11 > or are being migrated to JDK 11. JDK 11 is our primarily supported release. > > We are interested in working with Alibaba and others in the community on > the areas that Sanhong mentioned. We have started investigating and > prototyping > > on JDK 11. Some of the work is currently being tested in production. Using > a JDK 11 based collaboration repository is a good starting point and avoids > the need/cost for merging (non-trivial) existing work into JDK head up > front before the work is ripe enough. It also helps us to validate any new > work in production as early as possible, while using JDK head based repo > (e.g. sandbox) would not achieve that in the short term future. Our end > goal is to rebase all the work from JDK 11 to JDK head, when it is mature > and ready for contributing back (with review and approval by reviewers) to > the mainline and potentially feed into the Leyden project. > > Best, > Jiangli > > > On Fri, Jan 29, 2021 at 5:18 AM ???(??) wrote: > >> Hi Alan, >> Thanks for your reply. >> Let me elaborate a little bit on this - >> 1. Our cloud workloads are running on the top of JDK11(hard to keep them at >> the head version due to enormous upgrade cost). >> 2. Based on these real use-cases, we want to do the startup-related >> enhancements(neither exploration nor prototyping, just resolving the actual >> requirements) on JDK11 >> - At this moment, we are considering AppCDS(+upstream backports), >> pre-initialization, and more optimization, e.g., AOT, in the future if >> better for facilitating startup. >> 3. We plan to start with JDK11, but I think we can contribute them(or some >> of them) up to the master later. >> >> Thanks! >> Sanhong >> -----????----- >> ???: Alan Bateman >> ????: 2021?1?27? 20:45 >> ???: ???(??) ; discuss at openjdk.java.net >> ??: Re: create a fork under openjdk >> >> On 27/01/2021 12:13, ???(??) wrote: >>> Hello, >>> >>> We are working on the fast-startup related development based on >>> JDK11u. To facilitate community collaboration(sharing backports, bug >>> fixing, patches, etc. across different companies/parties based on the >>> repo), we are exploring creating the fork of JDK11u under the OpenJDK >>> group [1] >>> >>> >>> >>> Can anyone help with this, or is there a way/process we can follow to >>> do that? - Your help or any input is much appreciated. >> >> Is this a collection of small improvements that you are looking to >> upstream? >> Is there any reason not to work with a fork from the main line as it >> already >> has a lot of startup improvements since JDK 11. The jdk-sandbox repo [1] >> and >> existing mailing lists could be used in that case. Some of the JEPs in >> recent releases have accumulated changes in the sandbox during their >> development. >> >> Or maybe you have a larger multi-year project in mind? OpenJDK has Projects >> [2] for collaborative efforts. Projects will usually involve exploration >> and >> prototyping. Is that the sort of thing you had in mind? >> It might be useful to expand a bit on what you have in mind as it is hard >> to >> know if this is about upstreaming changes or an effort that will explore >> many directions. >> >> -Alan >> >> [1] https://github.com/openjdk/jdk-sandbox >> [2] https://openjdk.java.net/projects >> >>