> Plumbing for javac flags, mostly inspired by/copied from test commits made by 
> @lahodaj .
> 
> There are several things here, mostly entangled, so it's a bit tricky to try 
> splitting this out, but it would be possible if people wanted.
> 
> The biggest "refactoing" part of this PR is 
> "src/jdk.compiler/share/classes/com/sun/tools/javac/file/JRTIndex.java" which 
> now has a properly controlled lifecycle and disposed its resources correctly. 
> Prior to this, the class used a non-closeable JRT file-system reference, 
> which leads to "persistent open file" issues such as JDK-8357249.
> 
> This *does* mean that if compilation and the runtime have the same preview 
> mode, then a 2nd JRT file system to the same jimage file is "opened", *but* 
> the file system itself is lightweight, non-caching and both of them will use 
> the underlying SharedImageReader (which is where nodes are cached etc.) so it 
> really shouldn't be an issue (I will make sure javac benchmarks are checked 
> however).
> 
> The benefit of this is that now, the shared index (which does do some 
> caching) is correctly tracked across all users, and will be closed when the 
> last user closes the lightweight wrapper instance.
> 
> A lot of the smaller "spot fix" changes in this PR were just copied by me, or 
> at least inspired directly by Jan's work, so I may have missed some semantic 
> subtlety in the code I'm not familiar with. Please evaluate that carefully.

David Beaumont has updated the pull request incrementally with one additional 
commit since the last revision:

  review feedback

-------------

Changes:
  - all: https://git.openjdk.org/valhalla/pull/1761/files
  - new: https://git.openjdk.org/valhalla/pull/1761/files/bf9ddb9e..11e4c83e

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1761&range=03
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1761&range=02-03

  Stats: 114 lines in 7 files changed: 74 ins; 19 del; 21 mod
  Patch: https://git.openjdk.org/valhalla/pull/1761.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1761/head:pull/1761

PR: https://git.openjdk.org/valhalla/pull/1761

Reply via email to