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

Move placeholder implementation details to cpp file and add logging

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 17
    • 17
    • hotspot
    • b07

      The SeenThread queue shouldn't be in the header file as it's only used by the implementation file. Only the check_seen_thread() is used outside PlaceholderTable and should be public. check_seen_thread()is essentially called once per super class loading and once per instance class loading, so doesn't require inlining.
      I also added logging to the placeholder table. The entries in the PlaceholderTable are used as defacto per-class locks for class loading and for checking for ClassCircularityError.
      I might remove the logging once I've written a wiki page describing how it works for bootstrap (class loader == NULL), parallelCapable and non-parallelCapable class loaders.

            coleenp Coleen Phillimore
            coleenp Coleen Phillimore
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: