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

javac consumes too much memory generating stackmap in extreme cases

    Details

    • Subcomponent:
    • Introduced In Build:
      beta
    • Introduced In Version:
      5.0
    • Resolved In Build:
      b85
    • CPU:
      generic
    • OS:
      generic

      Description

      Javac failed with -target 6 or -target cldc on the attached test case. If I use default (without -target 6 or -target cldc) test pass:

      --------------------------------------------------
      code too large for try statement
                  } catch ( classLoad001_04RuntimeExceptionToCatch mpre_N1 ) {
                    ^


      The system is out of resources.
      Consult the following stack trace for details.
      java.lang.OutOfMemoryError: Java heap space
              at com.sun.tools.javac.jvm.Code.emitStackMap(Code.java:1219)
              at com.sun.tools.javac.jvm.Code.emitop(Code.java:348)
              at com.sun.tools.javac.jvm.Code.emitop1w(Code.java:884)
              at com.sun.tools.javac.jvm.Items$LocalItem.load(Items.java:380)
      ---------------------------------------------------

      The first error is a separate issue. The OutOfMemoryError indicates that javac runs out of java heap space when allocating type arrays in stackmap.

      ###@###.### 2005-05-25 23:58:40 GMT

      ======================================================
      This bug cause following split_verifier test failed.
      nsk/split_verifier/stress/classLoad/classLoad001_04
      nsk/split_verifier/stress/tryCatchFinally/tryCatchFinally001_160
      nsk/split_verifier/stress/tryFinally/tryFinally001_240
      nsk/split_verifier/stress/multipurpose/multipurpose001_08
      nsk/split_verifier/stress/tryCatchFinally/tryCatchFinally001_100
      nsk/split_verifier/stress/tryFinally/tryFinally001_160
      nsk/split_verifier/stress/tryCatchFinally/tryCatchFinally001_050
      nsk/split_verifier/stress/tryFinally/tryFinally001_080
      nsk/split_verifier/stress/return/return001_10
      nsk/split_verifier/stress/classLoad/classLoad001_09

      You can find tonga tlog here.
      http://vmsqe.sfbay/nightly/TL/results/1.6.0-auto-200b/ServerVM/SOLSPARC/mixed/SERVICE/nsk.split_verifier-TLNIGHTLY-SERVICE-ServerVM-mixed-SOLSPARC-2005-07-21-11-59-36/analysis.html

      ###@###.### 2005-07-22 01:06:30 GMT
      ###@###.### 2005-07-22 01:22:17 GMT

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                wtaosunw Wei Tao (Inactive)
                Reporter:
                wtaosunw Wei Tao (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: