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

Epoch shift synchronization point for Compiler threads

XMLWordPrintable

    • jfr
    • b29

        JFR artifact tagging is a function of an epoch and transitioning between epochs happens during a safepoint.

        This works well for threads that respect safepoints, but for threads that run _thread_in_native writing events that have a relation to an artifact, for example a Method, they race against the epoch shift. A consequence of a race condition is that an artifact being tagged in the wrong epoch does not become visible to the event referencing it.This situation mainly applies to Compiler Threads (i.e. JavaThreads running _thread_in_native).

        With JFR Event Streaming, the events must continuously be fully parsable as a unit, and an artifact tag race will therefore cause problems for the parser.

              mgronlun Markus Grönlund
              mgronlun Markus Grönlund
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: