From michal at kleczek.org Thu Dec 1 03:01:26 2022 From: michal at kleczek.org (=?utf-8?Q?Micha=C5=82_K=C5=82eczek?=) Date: Thu, 1 Dec 2022 04:01:26 +0100 Subject: Uses directive not visible in annotation processor when provider class not existing (yet) Message-ID: <6C6B3F30-7D84-4E58-8AD2-172F542A123C@kleczek.org> Hi, I am implementing an annotation processor that (among other things) is supposed to generate service provider classes that delegate calls to beans from a Spring application context. The idea is to mark a module in module-info with an annotation and add ?provides Service with Implementation? where Implementation is not existent (yet). Unfortunately it seems ModuleElement.getDirectives() does not return such a provides directive. Is it a bug or I am missing something? Thanks, Michal From jonathan.gibbons at oracle.com Thu Dec 1 15:20:19 2022 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 1 Dec 2022 07:20:19 -0800 Subject: Uses directive not visible in annotation processor when provider class not existing (yet) In-Reply-To: <6C6B3F30-7D84-4E58-8AD2-172F542A123C@kleczek.org> References: <6C6B3F30-7D84-4E58-8AD2-172F542A123C@kleczek.org> Message-ID: This would be better discussed on the compiler-dev at openjdk.org mailing list -- Jon On 11/30/22 7:01 PM, Micha? K?eczek wrote: > Hi, > > I am implementing an annotation processor that (among other things) is supposed to generate service provider classes that delegate calls to beans from a Spring application context. > > The idea is to mark a module in module-info with an annotation and add ?provides Service with Implementation? where Implementation is not existent (yet). > Unfortunately it seems ModuleElement.getDirectives() does not return such a provides directive. > > Is it a bug or I am missing something? > > Thanks, > Michal From doug.simon at oracle.com Tue Dec 13 09:24:12 2022 From: doug.simon at oracle.com (Douglas Simon) Date: Tue, 13 Dec 2022 09:24:12 +0000 Subject: Call for Discussion: New Project: Galahad Message-ID: I hereby invite discussion of a new Project, Galahad*, whose primary goal is to contribute Java-related GraalVM technologies to the OpenJDK Community and prepare them for possible incubation in a JDK main-line release. The initial focus will be on contributing the latest version of the GraalVM just-in-time (JIT) compiler and integrating it as an alternative to the existing JIT compiler of the HotSpot VM. Later steps will bring in the necessary ahead-of-time (AOT) compilation technology to make this new JIT compiler written in Java available instantly on JVM start and avoid any interference with application heap usage and execution profiling. We also intend to contribute portions of the Native Image technology as a general AOT compilation technology for Java applications. Galahad will pay close attention to Leyden and track the Leyden specification as it evolves. I propose to lead this Project. The initial set of Reviewers will be Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. The initial set of Committers will be Kim Barrett, Alan Bateman, Larry Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder Zamarreno, Yudi Zheng and Patrick Ziegler. This Project will start with a clone of the current JDK main-line release, JDK 20, and track main-line releases going forward. We will incrementally adapt Java-related GraalVM related technologies from the Graal repository[1] and merge them into this clone. The work may include side repositories for experimentation. We expect to deliver Galahad over time, in a series of JEPs that will likely span multiple feature releases. Comments? - Doug * "Galahad is the knight who is chosen to find the Holy Grail. Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, is exalted above all the other knights: he is the one worthy enough to have the Grail revealed to him and to be taken into Heaven." (https://en.wikipedia.org/wiki/Galahad) [1] https://github.com/oracle/graal -------------- next part -------------- An HTML attachment was scrubbed... URL: From volker.simonis at gmail.com Tue Dec 13 10:13:56 2022 From: volker.simonis at gmail.com (Volker Simonis) Date: Tue, 13 Dec 2022 11:13:56 +0100 Subject: Call for Discussion: New Project: Galahad In-Reply-To: References: Message-ID: Great to see this happening (again :) Will the "AOT compilation technology" be restricted to precompile the GraaVM JIT itself only or will it be generally applicable to JDK and application code? Regards, Volker Douglas Simon schrieb am Di., 13. Dez. 2022, 10:24: > I hereby invite discussion of a new Project, Galahad*, whose primary > goal is to contribute Java-related GraalVM technologies to the OpenJDK > Community and prepare them for possible incubation in a JDK main-line > release. > > The initial focus will be on contributing the latest version of the > GraalVM just-in-time (JIT) compiler and integrating it as an > alternative to the existing JIT compiler of the HotSpot VM. Later > steps will bring in the necessary ahead-of-time (AOT) compilation > technology to make this new JIT compiler written in Java available > instantly on JVM start and avoid any interference with application > heap usage and execution profiling. We also intend to contribute > portions of the Native Image technology as a general AOT compilation > technology for Java applications. Galahad will pay close attention to > Leyden and track the Leyden specification as it evolves. > > I propose to lead this Project. The initial set of Reviewers will be > Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David > Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. > The initial set of Committers will be Kim Barrett, Alan Bateman, Larry > Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew > Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, > Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, > Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, > Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir > Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman > Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean > Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, > Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, > Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, > Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland > Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris > Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan > Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor > Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian > Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder > Zamarreno, Yudi Zheng and Patrick Ziegler. > > This Project will start with a clone of the current JDK main-line > release, JDK 20, and track main-line releases going forward. We will > incrementally adapt Java-related GraalVM related technologies from the > Graal repository[1] and merge them into this clone. The work may > include side repositories for experimentation. We expect to deliver > Galahad over time, in a series of JEPs that will likely span multiple > feature releases. > > Comments? > > - Doug > > * "Galahad is the knight who is chosen to find the Holy Grail. > Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, > is exalted above all the other knights: he is the one worthy enough to > have the Grail revealed to him and to be taken into Heaven." > (https://en.wikipedia.org/wiki/Galahad) > > [1] https://github.com/oracle/graal > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From doug.simon at oracle.com Tue Dec 13 10:25:21 2022 From: doug.simon at oracle.com (Douglas Simon) Date: Tue, 13 Dec 2022 10:25:21 +0000 Subject: [External] : Re: Call for Discussion: New Project: Galahad In-Reply-To: References: Message-ID: On 13 Dec 2022, at 11:13, Volker Simonis > wrote: Great to see this happening (again :) Will the "AOT compilation technology" be restricted to precompile the GraaVM JIT itself only or will it be generally applicable to JDK and application code? We would initially focus on the former and try expand it to the later as guided by Project Leyden. -Doug Regards, Volker Douglas Simon > schrieb am Di., 13. Dez. 2022, 10:24: I hereby invite discussion of a new Project, Galahad*, whose primary goal is to contribute Java-related GraalVM technologies to the OpenJDK Community and prepare them for possible incubation in a JDK main-line release. The initial focus will be on contributing the latest version of the GraalVM just-in-time (JIT) compiler and integrating it as an alternative to the existing JIT compiler of the HotSpot VM. Later steps will bring in the necessary ahead-of-time (AOT) compilation technology to make this new JIT compiler written in Java available instantly on JVM start and avoid any interference with application heap usage and execution profiling. We also intend to contribute portions of the Native Image technology as a general AOT compilation technology for Java applications. Galahad will pay close attention to Leyden and track the Leyden specification as it evolves. I propose to lead this Project. The initial set of Reviewers will be Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. The initial set of Committers will be Kim Barrett, Alan Bateman, Larry Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder Zamarreno, Yudi Zheng and Patrick Ziegler. This Project will start with a clone of the current JDK main-line release, JDK 20, and track main-line releases going forward. We will incrementally adapt Java-related GraalVM related technologies from the Graal repository[1] and merge them into this clone. The work may include side repositories for experimentation. We expect to deliver Galahad over time, in a series of JEPs that will likely span multiple feature releases. Comments? - Doug * "Galahad is the knight who is chosen to find the Holy Grail. Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, is exalted above all the other knights: he is the one worthy enough to have the Grail revealed to him and to be taken into Heaven." (https://en.wikipedia.org/wiki/Galahad) [1] https://github.com/oracle/graal -------------- next part -------------- An HTML attachment was scrubbed... URL: From the.rob.leland+java.net at gmail.com Wed Dec 14 03:28:51 2022 From: the.rob.leland+java.net at gmail.com (Rob Leland) Date: Tue, 13 Dec 2022 22:28:51 -0500 Subject: Call for Discussion: New Project: Galahad In-Reply-To: References: Message-ID: How will this work going forward ? It sounds as if Graal/GraalVM will now be a down stream repository. The reason Graal was removed from the OpenJdk was because of the duplicated effort of maintenance. Once this is eventually merged will this reintroduce the same amount of synchronization work as before ? Do you envision changes in Graal and javac be performed by the same engineer? Do you envision a time when Graal will be the only compiler , supplanting the C++ javac. Thanks! On Tue, Dec 13, 2022 at 4:24 AM Douglas Simon wrote: > I hereby invite discussion of a new Project, Galahad*, whose primary > goal is to contribute Java-related GraalVM technologies to the OpenJDK > Community and prepare them for possible incubation in a JDK main-line > release. > > The initial focus will be on contributing the latest version of the > GraalVM just-in-time (JIT) compiler and integrating it as an > alternative to the existing JIT compiler of the HotSpot VM. Later > steps will bring in the necessary ahead-of-time (AOT) compilation > technology to make this new JIT compiler written in Java available > instantly on JVM start and avoid any interference with application > heap usage and execution profiling. We also intend to contribute > portions of the Native Image technology as a general AOT compilation > technology for Java applications. Galahad will pay close attention to > Leyden and track the Leyden specification as it evolves. > > I propose to lead this Project. The initial set of Reviewers will be > Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David > Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. > The initial set of Committers will be Kim Barrett, Alan Bateman, Larry > Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew > Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, > Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, > Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, > Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir > Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman > Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean > Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, > Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, > Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, > Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland > Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris > Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan > Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor > Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian > Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder > Zamarreno, Yudi Zheng and Patrick Ziegler. > > This Project will start with a clone of the current JDK main-line > release, JDK 20, and track main-line releases going forward. We will > incrementally adapt Java-related GraalVM related technologies from the > Graal repository[1] and merge them into this clone. The work may > include side repositories for experimentation. We expect to deliver > Galahad over time, in a series of JEPs that will likely span multiple > feature releases. > > Comments? > > - Doug > > * "Galahad is the knight who is chosen to find the Holy Grail. > Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, > is exalted above all the other knights: he is the one worthy enough to > have the Grail revealed to him and to be taken into Heaven." > (https://en.wikipedia.org/wiki/Galahad) > > [1] https://github.com/oracle/graal > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ethan at mccue.dev Wed Dec 14 03:37:23 2022 From: ethan at mccue.dev (Ethan McCue) Date: Tue, 13 Dec 2022 22:37:23 -0500 Subject: Call for Discussion: New Project: Galahad In-Reply-To: References: Message-ID: The c++ javac? On Tue, Dec 13, 2022 at 10:31 PM Rob Leland < the.rob.leland+java.net at gmail.com> wrote: > How will this work going forward ? It sounds as if Graal/GraalVM will now > be a down stream repository. The reason Graal was removed from the OpenJdk > was because of the duplicated effort of maintenance. Once this is > eventually merged will this reintroduce the same amount of synchronization > work as before ? > > Do you envision changes in Graal and javac be performed by the same > engineer? > > Do you envision a time when Graal will be the only compiler , supplanting > the C++ javac. > > Thanks! > > On Tue, Dec 13, 2022 at 4:24 AM Douglas Simon > wrote: > >> I hereby invite discussion of a new Project, Galahad*, whose primary >> goal is to contribute Java-related GraalVM technologies to the OpenJDK >> Community and prepare them for possible incubation in a JDK main-line >> release. >> >> The initial focus will be on contributing the latest version of the >> GraalVM just-in-time (JIT) compiler and integrating it as an >> alternative to the existing JIT compiler of the HotSpot VM. Later >> steps will bring in the necessary ahead-of-time (AOT) compilation >> technology to make this new JIT compiler written in Java available >> instantly on JVM start and avoid any interference with application >> heap usage and execution profiling. We also intend to contribute >> portions of the Native Image technology as a general AOT compilation >> technology for Java applications. Galahad will pay close attention to >> Leyden and track the Leyden specification as it evolves. >> >> I propose to lead this Project. The initial set of Reviewers will be >> Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David >> Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. >> The initial set of Committers will be Kim Barrett, Alan Bateman, Larry >> Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew >> Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, >> Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, >> Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, >> Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir >> Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman >> Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean >> Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, >> Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, >> Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, >> Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland >> Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris >> Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan >> Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor >> Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian >> Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder >> Zamarreno, Yudi Zheng and Patrick Ziegler. >> >> This Project will start with a clone of the current JDK main-line >> release, JDK 20, and track main-line releases going forward. We will >> incrementally adapt Java-related GraalVM related technologies from the >> Graal repository[1] and merge them into this clone. The work may >> include side repositories for experimentation. We expect to deliver >> Galahad over time, in a series of JEPs that will likely span multiple >> feature releases. >> >> Comments? >> >> - Doug >> >> * "Galahad is the knight who is chosen to find the Holy Grail. >> Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, >> is exalted above all the other knights: he is the one worthy enough to >> have the Grail revealed to him and to be taken into Heaven." >> (https://en.wikipedia.org/wiki/Galahad) >> >> [1] https://github.com/oracle/graal >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From doug.simon at oracle.com Wed Dec 14 09:37:38 2022 From: doug.simon at oracle.com (Douglas Simon) Date: Wed, 14 Dec 2022 09:37:38 +0000 Subject: [External] : Re: Call for Discussion: New Project: Galahad In-Reply-To: References: Message-ID: <02FA1CA6-89E1-4B24-809A-823D51ADD1D9@oracle.com> > How will this work going forward ? It sounds as if Graal/GraalVM will now be a down stream repository. The reason Graal was removed from the OpenJdk was because of the duplicated effort of maintenance. Once this is eventually merged will this reintroduce the same amount of synchronization work as before ? The eventual goal is indeed to have GraalVM be a downstream repo once the requisite components are part of OpenJDK. > Do you envision changes in Graal and javac be performed by the same engineer? Graal is a bytecode-to-machine-code compiler and javac is a Java-source-to-bytecode compiler. These are two different projects/technologies and there are no plans to merge them. > Do you envision a time when Graal will be the only compiler , supplanting the C++ javac. No. BTW, javac is written in Java (https://github.com/openjdk/jdk/tree/master/src/jdk.compiler/share/classes/com/sun/tools/javac), not C++. -Doug ________________________________________ From: Rob Leland Sent: Wednesday, December 14, 2022 4:28 AM To: Douglas Simon Cc: discuss at openjdk.java.net Subject: [External] : Re: Call for Discussion: New Project: Galahad How will this work going forward ? It sounds as if Graal/GraalVM will now be a down stream repository. The reason Graal was removed from the OpenJdk was because of the duplicated effort of maintenance. Once this is eventually merged will this reintroduce the same amount of synchronization work as before ? Do you envision changes in Graal and javac be performed by the same engineer? Do you envision a time when Graal will be the only compiler , supplanting the C++ javac. Thanks! On Tue, Dec 13, 2022 at 4:24 AM Douglas Simon > wrote: I hereby invite discussion of a new Project, Galahad*, whose primary goal is to contribute Java-related GraalVM technologies to the OpenJDK Community and prepare them for possible incubation in a JDK main-line release. The initial focus will be on contributing the latest version of the GraalVM just-in-time (JIT) compiler and integrating it as an alternative to the existing JIT compiler of the HotSpot VM. Later steps will bring in the necessary ahead-of-time (AOT) compilation technology to make this new JIT compiler written in Java available instantly on JVM start and avoid any interference with application heap usage and execution profiling. We also intend to contribute portions of the Native Image technology as a general AOT compilation technology for Java applications. Galahad will pay close attention to Leyden and track the Leyden specification as it evolves. I propose to lead this Project. The initial set of Reviewers will be Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. The initial set of Committers will be Kim Barrett, Alan Bateman, Larry Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder Zamarreno, Yudi Zheng and Patrick Ziegler. This Project will start with a clone of the current JDK main-line release, JDK 20, and track main-line releases going forward. We will incrementally adapt Java-related GraalVM related technologies from the Graal repository[1] and merge them into this clone. The work may include side repositories for experimentation. We expect to deliver Galahad over time, in a series of JEPs that will likely span multiple feature releases. Comments? - Doug * "Galahad is the knight who is chosen to find the Holy Grail. Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, is exalted above all the other knights: he is the one worthy enough to have the Grail revealed to him and to be taken into Heaven." (https://en.wikipedia.org/wiki/Galahad) [1] https://github.com/oracle/graal From the.rob.leland+java.net at gmail.com Wed Dec 14 15:25:26 2022 From: the.rob.leland+java.net at gmail.com (Rob Leland) Date: Wed, 14 Dec 2022 10:25:26 -0500 Subject: [External] : Re: Call for Discussion: New Project: Galahad In-Reply-To: <02FA1CA6-89E1-4B24-809A-823D51ADD1D9@oracle.com> References: <02FA1CA6-89E1-4B24-809A-823D51ADD1D9@oracle.com> Message-ID: Thanks! On Wed, Dec 14, 2022 at 4:37 AM Douglas Simon wrote: > > How will this work going forward ? It sounds as if Graal/GraalVM will > now be a down stream repository. The reason Graal was removed from the > OpenJdk was because of the duplicated effort of maintenance. Once this is > eventually merged will this reintroduce the same amount of synchronization > work as before ? > > The eventual goal is indeed to have GraalVM be a downstream repo once the > requisite components are part of OpenJDK. > > > Do you envision changes in Graal and javac be performed by the same > engineer? > > Graal is a bytecode-to-machine-code compiler and javac is a > Java-source-to-bytecode compiler. These are two different > projects/technologies and there are no plans to merge them. > > > Do you envision a time when Graal will be the only compiler , > supplanting the C++ javac. > > No. BTW, javac is written in Java ( > https://github.com/openjdk/jdk/tree/master/src/jdk.compiler/share/classes/com/sun/tools/javac), > not C++. > > -Doug > ________________________________________ > From: Rob Leland > Sent: Wednesday, December 14, 2022 4:28 AM > To: Douglas Simon > Cc: discuss at openjdk.java.net > Subject: [External] : Re: Call for Discussion: New Project: Galahad > > How will this work going forward ? It sounds as if Graal/GraalVM will now > be a down stream repository. The reason Graal was removed from the OpenJdk > was because of the duplicated effort of maintenance. Once this is > eventually merged will this reintroduce the same amount of synchronization > work as before ? > > Do you envision changes in Graal and javac be performed by the same > engineer? > > Do you envision a time when Graal will be the only compiler , supplanting > the C++ javac. > > Thanks! > > On Tue, Dec 13, 2022 at 4:24 AM Douglas Simon > wrote: > > I hereby invite discussion of a new Project, Galahad*, whose primary > goal is to contribute Java-related GraalVM technologies to the OpenJDK > Community and prepare them for possible incubation in a JDK main-line > release. > > The initial focus will be on contributing the latest version of the > GraalVM just-in-time (JIT) compiler and integrating it as an > alternative to the existing JIT compiler of the HotSpot VM. Later > steps will bring in the necessary ahead-of-time (AOT) compilation > technology to make this new JIT compiler written in Java available > instantly on JVM start and avoid any interference with application > heap usage and execution profiling. We also intend to contribute > portions of the Native Image technology as a general AOT compilation > technology for Java applications. Galahad will pay close attention to > Leyden and track the Leyden specification as it evolves. > > I propose to lead this Project. The initial set of Reviewers will be > Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David > Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. > The initial set of Committers will be Kim Barrett, Alan Bateman, Larry > Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew > Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, > Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, > Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, > Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir > Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman > Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean > Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, > Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, > Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, > Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland > Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris > Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan > Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor > Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian > Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder > Zamarreno, Yudi Zheng and Patrick Ziegler. > > This Project will start with a clone of the current JDK main-line > release, JDK 20, and track main-line releases going forward. We will > incrementally adapt Java-related GraalVM related technologies from the > Graal repository[1] and merge them into this clone. The work may > include side repositories for experimentation. We expect to deliver > Galahad over time, in a series of JEPs that will likely span multiple > feature releases. > > Comments? > > - Doug > > * "Galahad is the knight who is chosen to find the Holy Grail. > Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, > is exalted above all the other knights: he is the one worthy enough to > have the Grail revealed to him and to be taken into Heaven." > (https://en.wikipedia.org/wiki/Galahad< > https://urldefense.com/v3/__https://en.wikipedia.org/wiki/Galahad__;!!ACWV5N9M2RV99hQ!O9XgcI9U8XiVCQAdLTu3zsE7zuqkGiYTe2EZP9HL-sv9m64BSRF99CLrQGragq3kAphqQ7aWuKczjEtGmbqre1f6iy4$ > >) > > [1] https://github.com/oracle/graal< > https://urldefense.com/v3/__https://github.com/oracle/graal__;!!ACWV5N9M2RV99hQ!O9XgcI9U8XiVCQAdLTu3zsE7zuqkGiYTe2EZP9HL-sv9m64BSRF99CLrQGragq3kAphqQ7aWuKczjEtGmbqrhfyWNDU$ > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From manderse at redhat.com Fri Dec 16 17:44:00 2022 From: manderse at redhat.com (Max Rydahl Andersen) Date: Fri, 16 Dec 2022 18:44:00 +0100 Subject: Call for Discussion: New Project: Galahad In-Reply-To: References: Message-ID: <35A7A68B-F310-40E6-A039-68A308274F51@redhat.com> Hi Douglas, Happy to see this move forward. It will be interesting for us (The Quarkus project and Red Hat) how the existing ecosystem around current graalvm native-image can be enabled by Galahad/Leyden. Looking forward to working on this together over the coming releases. p.s. excellent project name btw :) /max On 13 Dec 2022, at 10:24, Douglas Simon wrote: > I hereby invite discussion of a new Project, Galahad*, whose primary > goal is to contribute Java-related GraalVM technologies to the OpenJDK > Community and prepare them for possible incubation in a JDK main-line > release. > > The initial focus will be on contributing the latest version of the > GraalVM just-in-time (JIT) compiler and integrating it as an > alternative to the existing JIT compiler of the HotSpot VM. Later > steps will bring in the necessary ahead-of-time (AOT) compilation > technology to make this new JIT compiler written in Java available > instantly on JVM start and avoid any interference with application > heap usage and execution profiling. We also intend to contribute > portions of the Native Image technology as a general AOT compilation > technology for Java applications. Galahad will pay close attention to > Leyden and track the Leyden specification as it evolves. > > I propose to lead this Project. The initial set of Reviewers will be > Gergo Barany, Gilles Duboscq, Christian Humer, Vojin Jovanovic, David > Leopoldseder, Tom Rodriguez, Christian Wimmer and Thomas Wuerthinger. > The initial set of Committers will be Kim Barrett, Alan Bateman, Larry > Cable, Eric Caspole, Roberto Castaneda Lozano, Mandy Chung, Andrew > Dinn, Erik Duveblad, Josef Eisl, Francois Farquet, Damon Fenacci, > Thomas Garcia, Severin Gehwolf, Aleksandar Gradinac, Ian Graves, > Christian Haeubl, Christian Hagedorn, Tobias Hartmann, Dan Heidinga, > Peter Hofer, Tobias Holenstein, David Holmes, Alexander Ilin, Vladimir > Ivanov, Erik Joelsson, Stefan Johansson, Stefan Karlsson, Roman > Kennke, Vladimir Kozlov, Vijay Kulkarni, Ioi Lam, Fengyun Liu, Dean > Long, Ashutosh Mehra, Alex Menkov, David Nestorovic, Fabio Niephaus, > Erik Osterlund, Loic Ottet, Ekaterina Pavlova, Aleksandar Pejovic, > Emanuel Peter, Alfonso Peterssen, Coleen Phillimore, Chris Plummer, > Aleksandar Prokopec, Claes Redestad, Ivan Ristovic, John Rose, Roland > Schatz, Thomas Schatzl, Christoph Schobesberger, Tom Shull, Boris > Spasojevic, Serguei Spitsyn, Lukas Stadler, Codrut Stancu, Jovan > Stevanovic, Simon Tooke, Robert Toyonaga, Bernhard Urban-Forster, Igor > Veresov, Jorn Vernee, Mikael Vidstedt, Roland Westrelin, Christian > Wirth, Paul Woegerer, Foivos Zakkak, Sonia Zaldana Calles, Galder > Zamarreno, Yudi Zheng and Patrick Ziegler. > > This Project will start with a clone of the current JDK main-line > release, JDK 20, and track main-line releases going forward. We will > incrementally adapt Java-related GraalVM related technologies from the > Graal repository[1] and merge them into this clone. The work may > include side repositories for experimentation. We expect to deliver > Galahad over time, in a series of JEPs that will likely span multiple > feature releases. > > Comments? > > - Doug > > * "Galahad is the knight who is chosen to find the Holy Grail. > Galahad, in both the Lancelot-Grail cycle and in Malory's retelling, > is exalted above all the other knights: he is the one worthy enough to > have the Grail revealed to him and to be taken into Heaven." > (https://en.wikipedia.org/wiki/Galahad) > > [1] https://github.com/oracle/graal -------------- next part -------------- An HTML attachment was scrubbed... URL: From tanksherman27 at gmail.com Wed Dec 21 12:11:34 2022 From: tanksherman27 at gmail.com (Julian Waters) Date: Wed, 21 Dec 2022 20:11:34 +0800 Subject: Call for Discussion: New Project: Galahad Message-ID: Hi, just a couple of quick questions, if you don't mind "The initial focus will be on contributing the latest version of the GraalVM just-in-time (JIT) compiler and integrating it as an alternative to the existing JIT compiler of the HotSpot VM. Later steps will bring in the necessary ahead-of-time (AOT) compilation technology to make this new JIT compiler written in Java available instantly on JVM start and avoid any interference with application heap usage and execution profiling." Isn't this what the now inactive Metropolis project aimed to achieve with Graal as well? It even managed to make substantial progress in having the Graal compiler available as an alternative JIT, but it was ultimately removed from the JDK some time ago, due to high maintenance costs ( https://openjdk.org/jeps/410). To my knowledge Metropolis hasn't been abandoned yet, so wouldn't this project's goals conflict slightly with it? Also somewhat concerning is the reason for the previous removal, what's not to say that developers will again under-utilize the Graal runtime compiler this time? "We also intend to contribute portions of the Native Image technology as a general AOT compilation technology for Java applications" Pretty interesting to think about, but given Leyden's leaning towards enhancing C2 to compile AOT images, would the multiple available AOT technologies prove confusing to choose between? I am glad that compiling the JIT itself ahead of time is also something being considered though, because that's all the more reason to talk about compiling AOT code meant to run on HotSpot itself in Leyden, instead of just closed world images ;) best regards, Julian -------------- next part -------------- An HTML attachment was scrubbed... URL: From doug.simon at oracle.com Wed Dec 21 18:16:14 2022 From: doug.simon at oracle.com (Douglas Simon) Date: Wed, 21 Dec 2022 18:16:14 +0000 Subject: [External] : Re: Call for Discussion: New Project: Galahad In-Reply-To: References: Message-ID: <318C730A-98A3-404D-B311-A6D4EF55E231@oracle.com> Hi Julian, Thanks for raising these questions. Here?s my take. A goal of Galahad is to move development of Graal into OpenJDK and subsequently propose patches for main-line. Upon successful inclusion, it should not impose any extra maintenance costs. In terms of concerns about underutilization, I don?t believe it makes sense to integrate Graal into a JDK main-line repo until it at least matches the existing JIT compilers on a number of metrics, including memory footprint, warmup time and compilation speed. Only once it has these characteristics will it be interesting as an alternative or even replacement for an existing JIT compiler. -Doug On 21 Dec 2022, at 13:11, Julian Waters wrote: Hi, just a couple of quick questions, if you don't mind "The initial focus will be on contributing the latest version of the GraalVM just-in-time (JIT) compiler and integrating it as an alternative to the existing JIT compiler of the HotSpot VM. Later steps will bring in the necessary ahead-of-time (AOT) compilation technology to make this new JIT compiler written in Java available instantly on JVM start and avoid any interference with application heap usage and execution profiling." Isn't this what the now inactive Metropolis project aimed to achieve with Graal as well? It even managed to make substantial progress in having the Graal compiler available as an alternative JIT, but it was ultimately removed from the JDK some time ago, due to high maintenance costs (https://openjdk.org/jeps/410). To my knowledge Metropolis hasn't been abandoned yet, so wouldn't this project's goals conflict slightly with it? Also somewhat concerning is the reason for the previous removal, what's not to say that developers will again under-utilize the Graal runtime compiler this time? "We also intend to contribute portions of the Native Image technology as a general AOT compilation technology for Java applications" Pretty interesting to think about, but given Leyden's leaning towards enhancing C2 to compile AOT images, would the multiple available AOT technologies prove confusing to choose between? I am glad that compiling the JIT itself ahead of time is also something being considered though, because that's all the more reason to talk about compiling AOT code meant to run on HotSpot itself in Leyden, instead of just closed world images ;) best regards, Julian -------------- next part -------------- An HTML attachment was scrubbed... URL: