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

[mlvm] Avoid CodeCache overflows in general MLVM tests

    Details

    • Subcomponent:
    • Introduced In Build:
      b05

      Description

      JDK-8208255 adds stack oveflow checking to MLVM MethodHandle graph generation routines to prevent MLVM tests from failing with StackOverflowError.

      However, when running tests with the fix of the bug mentioned above, the tests are failing with CodeCache overflows:

      Java HotSpot(TM) 64-Bit Server VM warning: CodeHeap 'non-nmethods' is full. Compiler has been disabled.
      Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code heap size using -XX:ProfiledCodeHeapSize=

      Java HotSpot(TM) 64-Bit Server VM warning: CodeHeap 'non-profiled nmethods' is full. Compiler has been disabled.
      Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code heap size using -XX:NonProfiledCodeHeapSize=

      Java HotSpot(TM) Client VM warning: CodeCache is full. Compiler has been disabled.
      Java HotSpot(TM) Client VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=

      In order to fix this, the following can be done:

      - Add CodeCache free space checking methods into WhiteBox API (JDK-8065152)
      - Use these methods during estimating max. size of MethodHandle graph
      - Add CodeCache overflow checks when calling the MethodHandle graph (as we do with stack checking)
      - Add a test, which artifically provokes CodeCache overflow and expects it

      Failing tests are:

      vm/mlvm/meth/stress/compiler/sequences
      vm/mlvm/meth/stress/compiler/i2c_c2i
      vm/mlvm/**/breakpoint*

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                kshiroko Kirill Shirokov (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Due:
                  Created:
                  Updated:
                  Resolved: