RFR: 8308116: jdk.test.lib.compiler.InMemoryJavaCompiler.compile does not close files [v2]

Axel Boldt-Christmas aboldtch at openjdk.org
Wed May 17 07:15:04 UTC 2023


> jdk.test.lib.compiler.InMemoryJavaCompiler.compile(String className, CharSequence sourceCode, String... options) creates a JavaFileManager but fails to close it after the CompilationTask is completed, leaving the file descriptors open until reference processing kicks in.
> 
> Graph below shows number of open file descriptors before and after this patch for a program which compiles dummy classes in a loop. 
> <img width="1116" alt="Before and after" src="https://github.com/openjdk/jdk/assets/1139284/1ecfb32a-735b-4765-bcca-81f67a4c9816">
> 
> Testing: GHA and Oracle CI tier1-3. Tests using jdk.test.lib.compiler.InMemoryJavaCompiler also tested locally.

Axel Boldt-Christmas has updated the pull request incrementally with three additional commits since the last revision:

 - Feedback: Throw RuntimeException in close
 - Feedback: Add @Override and Callable
 - Feedback: Update Copyright years

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/14001/files
  - new: https://git.openjdk.org/jdk/pull/14001/files/3223959a..a939e0c9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14001&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14001&range=00-01

  Stats: 15 lines in 3 files changed: 7 ins; 2 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/14001.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14001/head:pull/14001

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


More information about the hotspot-runtime-dev mailing list