hotspot/src/share/vm/runtime/sweeper.cpp
changeset 47099 49f5fa3fc2ae
parent 46702 13ae789b982e
equal deleted inserted replaced
47098:e704f55561c3 47099:49f5fa3fc2ae
    51 // Sweeper logging code
    51 // Sweeper logging code
    52 class SweeperRecord {
    52 class SweeperRecord {
    53  public:
    53  public:
    54   int traversal;
    54   int traversal;
    55   int compile_id;
    55   int compile_id;
    56   jlong traversal_mark;
    56   long traversal_mark;
    57   int state;
    57   int state;
    58   const char* kind;
    58   const char* kind;
    59   address vep;
    59   address vep;
    60   address uep;
    60   address uep;
    61   int line;
    61   int line;
    62 
    62 
    63   void print() {
    63   void print() {
    64       tty->print_cr("traversal = %d compile_id = %d %s uep = " PTR_FORMAT " vep = "
    64       tty->print_cr("traversal = %d compile_id = %d %s uep = " PTR_FORMAT " vep = "
    65                     PTR_FORMAT " state = %d traversal_mark "JLONG_FORMAT" line = %d",
    65                     PTR_FORMAT " state = %d traversal_mark %ld line = %d",
    66                     traversal,
    66                     traversal,
    67                     compile_id,
    67                     compile_id,
    68                     kind == NULL ? "" : kind,
    68                     kind == NULL ? "" : kind,
    69                     p2i(uep),
    69                     p2i(uep),
    70                     p2i(vep),
    70                     p2i(vep),
   627     assert(result == None, "sanity");
   627     assert(result == None, "sanity");
   628     result = Flushed;
   628     result = Flushed;
   629   } else if (cm->is_not_entrant()) {
   629   } else if (cm->is_not_entrant()) {
   630     // If there are no current activations of this method on the
   630     // If there are no current activations of this method on the
   631     // stack we can safely convert it to a zombie method
   631     // stack we can safely convert it to a zombie method
       
   632     OrderAccess::loadload(); // _stack_traversal_mark and _state
   632     if (cm->can_convert_to_zombie()) {
   633     if (cm->can_convert_to_zombie()) {
   633       // Clear ICStubs to prevent back patching stubs of zombie or flushed
   634       // Clear ICStubs to prevent back patching stubs of zombie or flushed
   634       // nmethods during the next safepoint (see ICStub::finalize).
   635       // nmethods during the next safepoint (see ICStub::finalize).
   635       {
   636       {
   636         MutexLocker cl(CompiledIC_lock);
   637         MutexLocker cl(CompiledIC_lock);