diff options
Diffstat (limited to 'lib/compilers/java.js')
-rw-r--r-- | lib/compilers/java.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/compilers/java.js b/lib/compilers/java.js index 3f6b9d184..32e17c1a3 100644 --- a/lib/compilers/java.js +++ b/lib/compilers/java.js @@ -103,7 +103,13 @@ export class JavaCompiler extends BaseCompiler { ]; } - async handleInterpreting(key, executeParameters) { + async handleInterpreting(source, executeParameters) { + const dirPath = await this.newTempDir(); + const inputFile = path.join(dirPath, this.compileFilename); + await fs.writeFile(inputFile, source); + const execOpts = this.getDefaultExecOptions(); + const compileResult = await this.runCompiler(this.compiler.exe, [inputFile], inputFile, execOpts); + executeParameters.args = [ '-Xss136K', // Reduce thread stack size '-XX:CICompilerCount=2', // Reduce JIT compilation threads. 2 is minimum @@ -113,11 +119,9 @@ export class JavaCompiler extends BaseCompiler { this.getMainClassName(), ...executeParameters.args, ]; - const buildResult = await this.getOrBuildExecutable(key); - const dirPath = path.dirname(buildResult.executableFilename); const result = await this.runExecutable(this.javaRuntime, executeParameters, dirPath); result.didExecute = true; - result.buildResult = buildResult; + result.buildResult = compileResult; return result; } |