Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8010203

Optimize IR memory footprint

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Won't Fix
    • P4
    • 9
    • 9
    • core-libs
    • None

    Description

      "ant -Drun.test.xmx=512m clean test" runs out of memory (default on 32 bit platforms too)

      "java.lang.OutOfMemoryError: Java heap space at jdk.nashorn.internal.codegen.MethodEmitter.invokestatic(MethodEmitter.java:1255) at jdk.nashorn.internal.codegen.SharedScopeCall.generateInvoke(SharedScopeCall.java:121) at jdk.nashorn.internal.codegen.CodeGenerator$2.sharedScopeCall(CodeGenerator.java:543) at jdk.nashorn.internal.codegen.CodeGenerator$2.enter(CodeGenerator.java:613) at jdk.nashorn.internal.ir.IdentNode.accept(IdentNode.java:134) at jdk.nashorn.internal.codegen.CodeGenerator.enter(CodeGenerator.java:528) at jdk.nashorn.internal.ir.CallNode.accept(CallNode.java:211) at jdk.nashorn.internal.codegen.CodeGenerator$1.enterDefault(CodeGenerator.java:343) at jdk.nashorn.internal.ir.visitor.NodeVisitor.enter(NodeVisitor.java:237) at jdk.nashorn.internal.ir.CallNode.accept(CallNode.java:211) at jdk.nashorn.internal.codegen.CodeGenerator.load(CodeGenerator.java:314) at jdk.nashorn.internal.codegen.CodeGenerator.load(CodeGenerator.java:295) at jdk.nashorn.internal.codegen.CodeGenerator.enterDISCARD(CodeGenerator.java:2270) at jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.enter(NodeOperatorVisitor.java:67) at jdk.nashorn.internal.ir.UnaryNode.accept(UnaryNode.java:135) at jdk.nashorn.internal.codegen.CodeGenerator.enter(CodeGenerator.java:728) at jdk.nashorn.internal.ir.ExecuteNode.accept(ExecuteNode.java:88) at jdk.nashorn.internal.ir.Block.accept(Block.java:263) at jdk.nashorn.internal.ir.SplitNode.accept(SplitNode.java:112) at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:350) at jdk.nashorn.internal.ir.FunctionNode.accept(FunctionNode.java:346) at jdk.nashorn.internal.codegen.CompilationPhase$7.transform(CompilationPhase.java:242) at jdk.nashorn.internal.codegen.CompilationPhase.apply(CompilationPhase.java:365) at jdk.nashorn.internal.codegen.Compiler.compile(Compiler.java:280) at jdk.nashorn.internal.codegen.Compiler.compile(Compiler.java:260) at jdk.nashorn.internal.runtime.Context.compile(Context.java:772) at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:733) at jdk.nashorn.internal.runtime.Context.evaluateSource(Context.java:696) at jdk.nashorn.internal.runtime.Context.load(Context.java:499) at jdk.nashorn.internal.objects.Global.load(Global.java:722) at java.lang.invoke.LambdaForm$DMH/33127253.invokeStatic_LL_L(LambdaForm$DMH) at java.lang.invoke.LambdaForm$DMH/721720.invokeSpecial_LLL_L(LambdaForm$DMH)

      Plenty of stuff should probably go like the control stacks in FunctionNode and the label names out of Label.

      Attachments

        1. ClassHistogramElement.java
          2 kB
          Marcus Lagergren
        2. ObjectSizeCalculator.java
          16 kB
          Marcus Lagergren

        Issue Links

          Activity

            People

              attila Attila Szegedi
              lagergren Marcus Lagergren
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: