XMLWordPrintable

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 18
    • Fix Version/s: 18
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b18

      Description

      In check_rank, there's an assert that you can't wait while you're holding a lock with rank below "special", which I changed to "nosafepoint". Now we check mutex rankings in wait, where we didn't before, so there's no reason for this assert.

      @@ -384,14 +384,11 @@ void Mutex::check_rank(Thread* thread) {
        if (owned_by_self()) {
          // wait() case
          Mutex* least = get_least_ranked_lock_besides_this(locks_owned);
          // We enforce not holding locks of rank nosafepoint or lower while waiting.
          // Also "this" should be the monitor with lowest rank owned by this thread.
          if (least != NULL && (least->rank() <= nosafepoint || least->rank() <= this->rank())) {
          // "this" should be the monitor with lowest rank owned by this thread.
          if (least != NULL && least->rank() <= this->rank()) {

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              coleenp Coleen Phillimore
              Reporter:
              coleenp Coleen Phillimore
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: