lib/compilers/kotlin.js
/**
     * Handle Kotlin execution.
     *
     * Kotlin execution differs in the way that Kotlin requires its standard
     * standard library because that's where the runtime libraries such as
     * kotlin.jvm.internal.Intrinsics is.
     *
     * Therefore, we append the -include-runtime and -d flags to specify where
     * to output the jarfile which we will run using `java -jar`
     *
     * TODO(supergrecko): Find a better fix than this bandaid for execution
     */
Handle Kotlin execution.
Kotlin execution differs in the way that Kotlin requires its standard
standard library because that's where the runtime libraries such as
kotlin.jvm.internal.Intrinsics is.

Therefore, we append the -include-runtime and -d flags to specify where
to output the jarfile which we will run using `java -jar`

Find a better fix than this bandaid for execution
Handle Kotlin execution . Kotlin execution differs in the way that Kotlin requires its standard standard library because that ' s where the runtime libraries such as kotlin . jvm . internal . Intrinsics is . Therefore we append the - include - runtime and - d flags to specify where to output the jarfile which we will run using ` java - jar ` Find a better fix than this bandaid for execution
async handleInterpreting(key, executeParameters) {
        const alteredKey = {
            ...key,
            options: ['-include-runtime', '-d', 'example.jar'],
        };
        const compileResult = await this.getOrBuildExecutable(alteredKey);
        executeParameters.args = [
            '-Xss136K', 
            '-XX:CICompilerCount=2', 
            '-XX:-UseDynamicNumberOfCompilerThreads',
            '-XX:-UseDynamicNumberOfGCThreads',
            '-XX:+UseSerialGC', 
            '-cp',
            compileResult.dirPath,
            '-jar',
            'example.jar',
            ...executeParameters.args,
        ];
        const result = await this.runExecutable(this.javaRuntime, executeParameters, compileResult.dirPath);
        result.didExecute = true;
        result.buildResult = compileResult;
        return result;
    }
async handleInterpreting ( key , executeParameters ) { const alteredKey = { ... key , options : [ '-include-runtime' , '-d' , 'example.jar' ] , } ; const compileResult = await this . getOrBuildExecutable ( alteredKey ) ; executeParameters . args = [ '-Xss136K' , '-XX:CICompilerCount=2' , '-XX:-UseDynamicNumberOfCompilerThreads' , '-XX:-UseDynamicNumberOfGCThreads' , '-XX:+UseSerialGC' , '-cp' , compileResult . dirPath , '-jar' , 'example.jar' , ... executeParameters . args , ] ; const result = await this . runExecutable ( this . javaRuntime , executeParameters , compileResult . dirPath ) ; result . didExecute = true ; result . buildResult = compileResult ; return result ; }
Handle Kotlin execution.
Handle Kotlin execution .
// Reduce thread stack size // Reduce JIT compilation threads. 2 is minimum // Disable parallell/concurrent garbage collector // -jar <jar> has to be the last java parameter, otherwise it will use // our java parameters as program parameters