RFR: 8293116: Incremental JDK build could be sped up [v3]

Jan Lahoda jlahoda at openjdk.org
Mon Sep 5 16:36:42 UTC 2022

On Mon, 5 Sep 2022 12:19:38 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> I think you really mean `$$($1_SRCS)` here, since the vardeps file is a build internal file that javac do not and should not care about. While I'm sure it will ignore it, the code here will be clearer if we don't pass it around when we shouldn't.

Hm, but `$$($1_SRCS)` contains all the source files of the given module, modified and unmodified, correct? The point of this patch is that we send the list of modified files to the `Depend` plugin (all sources are still passed to the javac invocation), and the plugin decides whether or not all files should be compiled, or only the modified files should be compiled.

The plugin could theoretically do the timestamp check from the sources, but it is more difficult to do, and the make has (presumably) already done that in a predictable way.

The `Depend` plugin will do a full build if a non-Java file is present in the list, which I hope should lead to a more reliable recompilation for some complex changes among the sources.

Note that the modfiles are not sent to javac as such - all sources are still sent to javac. The modfiles are sent to the `Depend` plugin using a side channel.


PR: https://git.openjdk.org/jdk/pull/10104

More information about the compiler-dev mailing list