On Wed, 16 Nov 2022 17:51:20 GMT, Jonathan Gibbons <[email protected]> wrote:
>> The sjavac ("smart javac") was an ambitious project. It should parallelize
>> java compilation, create a background daemon process that kept the JVM "hot"
>> with the JITted javac code, define a public api so only noticeable changes
>> in a class caused further dependency compilations, etc etc.
>>
>> Some of this never came to fruition. Other were implemented differently, as
>> the `depend` plugin. The only thing we're currently using (and have been for
>> the last few years) is the "server" functionality, that is, the ability to
>> keep a single JVM process alive, and reuse the JITted code.
>>
>> This code does not belong in the jdk.compiler module. It is a buildtool,
>> pure and simple. Let's move it to it's proper place.
>
> make/langtools/tools/javacserver/comp/SjavacImpl.java line 36:
>
>> 34: import java.io.PrintWriter;
>> 35: import java.io.StringWriter;
>> 36: import java.util.stream.Stream;
>
> This is a build tool, so you get to set the guidelines, but generally, this
> is an unusual order for imports
Haha! Calling this "unusual" is the most diplomatic expression I've heard
today. :-) This is just bonkers. I used a combination of "organize imports" on
IntelliJ (without setting up specific rules for the project) and a brute
search-and-replace. I'll fix.
> make/langtools/tools/javacserver/comp/SjavacImpl.java line 47:
>
>> 45: * deletion without notice.</b>
>> 46: */
>> 47: public class SjavacImpl implements Sjavac {
>
> ... so it looks like there are still some vestiges of `Sjavac` ...
Yes, I did not bother renaming the files and classes in the actual javacserver
implementation. I'm hoping Christian will clean this up later on anyway. I just
tried to prune out the lion's share of what's not needed anymore.
> test/langtools/ProblemList.txt line 69:
>
>> 67: tools/sjavac/IgnoreSymbolFile.java
>> 8158002 generic-all Requires investigation
>> 68: tools/sjavac/ClasspathDependencies.java
>> 8158002 generic-all Requires investigation
>> 69:
>
> I presume these issues, 8152055, 8158002, are still open? They should
> either be closed or assigned to the build team.
No, I've closed them already, with a reference to this issue.
-------------
PR: https://git.openjdk.org/jdk/pull/11185