RFR: 8297041: Remove the last remnants of sjavac

Magnus Ihse Bursie ihse at openjdk.org
Wed Nov 16 18:47:05 UTC 2022


On Wed, 16 Nov 2022 17:51:20 GMT, Jonathan Gibbons <jjg at openjdk.org> 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


More information about the ide-support-dev mailing list