src/share/vm/runtime/advancedThresholdPolicy.cpp

changeset 4936
aeaca88565e6
parent 4142
d8ce2825b193
child 5151
91eba9f82325
     1.1 --- a/src/share/vm/runtime/advancedThresholdPolicy.cpp	Thu Apr 04 21:15:43 2013 -0700
     1.2 +++ b/src/share/vm/runtime/advancedThresholdPolicy.cpp	Tue Apr 09 17:17:41 2013 -0400
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -74,10 +74,11 @@
    1.11  
    1.12  // update_rate() is called from select_task() while holding a compile queue lock.
    1.13  void AdvancedThresholdPolicy::update_rate(jlong t, Method* m) {
    1.14 +  JavaThread* THREAD = JavaThread::current();
    1.15    if (is_old(m)) {
    1.16      // We don't remove old methods from the queue,
    1.17      // so we can just zero the rate.
    1.18 -    m->set_rate(0);
    1.19 +    m->set_rate(0, THREAD);
    1.20      return;
    1.21    }
    1.22  
    1.23 @@ -93,13 +94,13 @@
    1.24    if (delta_s >= TieredRateUpdateMinTime) {
    1.25      // And we must've taken the previous point at least 1ms before.
    1.26      if (delta_t >= TieredRateUpdateMinTime && delta_e > 0) {
    1.27 -      m->set_prev_time(t);
    1.28 -      m->set_prev_event_count(event_count);
    1.29 -      m->set_rate((float)delta_e / (float)delta_t); // Rate is events per millisecond
    1.30 +      m->set_prev_time(t, THREAD);
    1.31 +      m->set_prev_event_count(event_count, THREAD);
    1.32 +      m->set_rate((float)delta_e / (float)delta_t, THREAD); // Rate is events per millisecond
    1.33      } else
    1.34        if (delta_t > TieredRateUpdateMaxTime && delta_e == 0) {
    1.35          // If nothing happened for 25ms, zero the rate. Don't modify prev values.
    1.36 -        m->set_rate(0);
    1.37 +        m->set_rate(0, THREAD);
    1.38        }
    1.39    }
    1.40  }

mercurial