[code-reflection] Integrated: Regression: compiler SPI does not work with exploded build
Maurizio Cimadamore
mcimadamore at openjdk.org
Fri Nov 22 14:22:34 UTC 2024
On Thu, 21 Nov 2024 21:55:58 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
> The recent refactoring from compiler plugin to simple SPI introduced a regression.
> With compiler plugins, the code-reflection extension was effectively loaded in two steps:
> * if the code reflection module was not available in the boot layer, then an attempt was made to load it from a fresh layer created on the fly
> * otherwise, plugins were searched in the boot layer (like for any other regular plugin)
>
> When running in exploded mode, incubating modules are part of the boot layer, so they are loaded normally (w/o the need of an extra layer).
> Unfortunately, the recent refactoring from plugin to SPI removed the second kind of lookup, meaning that now javac will no longer look for an extension in the boot layer.
>
> The solution is simple: javac should look in the fresh layer if it has created one (meaning the incubating module is not part of the boot layer); otherwise, it should just look for the extension in the boot layer.
This pull request has now been integrated.
Changeset: f266110c
Author: Maurizio Cimadamore <mcimadamore at openjdk.org>
URL: https://git.openjdk.org/babylon/commit/f266110ce1394c2a98cfe5aa01bb37a2d21a0bef
Stats: 35 lines in 2 files changed: 20 ins; 8 del; 7 mod
Regression: compiler SPI does not work with exploded build
-------------
PR: https://git.openjdk.org/babylon/pull/278
More information about the babylon-dev
mailing list