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

Remove special_runtime_exit_condition() check from SS::block()

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 16
    • Fix Version/s: 16
    • Component/s: hotspot
    • Subcomponent:
    • Resolved In Build:
      b25

      Description

      Method SafepointSynchronize::block() contains a call to handle_special_runtime_exit_condition() that prevents JTs transitioning back to Java from escaping after being externally suspended. This can happen when calling SafepointMechanism::process_if_requested() from handle_polling_page_exception(), java_suspend_self_with_safepoint_check() and check_safepoint_and_suspend_for_native_trans(). The check can be removed if we just make small fixes to these methods. Removing the call to handle_special_runtime_exit_condition() in SS::block() avoids having to think about recursive cases when transitioning and stopping for safepoints. The call also introduces noise while reading the code since it is not clear what exactly we are trying to prevent with it.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              pchilanomate Patricio Chilano Mateo
              Reporter:
              pchilanomate Patricio Chilano Mateo
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: