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

Some codecache allocation failures don't result in invoking the sweeper

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • hs25
    • hotspot
    • b24

        While the review for JDK-8016270 was being done, it was noted that there are some places where codecache allocation failures are detected, but they do not trigger invoking the sweeper by calling CompileBroker::handle_full_code_cache().

        For example, Compile::init_buffer() and several other similar places in output.cpp:

          // Have we run out of code space?
          if ((cb->blob() == NULL) || (!CompileBroker::should_compile_new_jobs())) {
            C->record_failure("CodeCache is full");
            return NULL;
          }

        And in Compile::init_scratch_buffer_blob():

            if (scratch_buffer_blob() == NULL) {
              // Let CompilerBroker disable further compilations.
              record_failure("Not enough space for scratch buffer in CodeCache");
              return;
            }

              thartmann Tobias Hartmann
              cjplummer Chris Plummer
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: