src/share/vm/services/threadService.cpp

changeset 4037
da91efe96a93
parent 3900
d2a62e0f25eb
child 4142
d8ce2825b193
     1.1 --- a/src/share/vm/services/threadService.cpp	Fri Aug 31 16:39:35 2012 -0700
     1.2 +++ b/src/share/vm/services/threadService.cpp	Sat Sep 01 13:25:18 2012 -0400
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2003, 2012, 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 @@ -249,9 +249,9 @@
    1.11    // Allocate the resulting StackTraceElement[][] object
    1.12  
    1.13    ResourceMark rm(THREAD);
    1.14 -  klassOop k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_StackTraceElement_array(), true, CHECK_NH);
    1.15 -  objArrayKlassHandle ik (THREAD, k);
    1.16 -  objArrayOop r = oopFactory::new_objArray(ik(), num_threads, CHECK_NH);
    1.17 +  Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_StackTraceElement_array(), true, CHECK_NH);
    1.18 +  objArrayKlass* ik = objArrayKlass::cast(k);
    1.19 +  objArrayOop r = oopFactory::new_objArray(ik, num_threads, CHECK_NH);
    1.20    objArrayHandle result_obj(THREAD, r);
    1.21  
    1.22    int num_snapshots = dump_result.num_snapshots();
    1.23 @@ -384,7 +384,7 @@
    1.24  ThreadDumpResult::ThreadDumpResult() : _num_threads(0), _num_snapshots(0), _snapshots(NULL), _next(NULL), _last(NULL) {
    1.25  
    1.26    // Create a new ThreadDumpResult object and append to the list.
    1.27 -  // If GC happens before this function returns, methodOop
    1.28 +  // If GC happens before this function returns, Method*
    1.29    // in the stack trace will be visited.
    1.30    ThreadService::add_thread_dump(this);
    1.31  }
    1.32 @@ -448,7 +448,6 @@
    1.33  }
    1.34  
    1.35  void StackFrameInfo::oops_do(OopClosure* f) {
    1.36 -  f->do_oop((oop*) &_method);
    1.37    if (_locked_monitors != NULL) {
    1.38      int length = _locked_monitors->length();
    1.39      for (int i = 0; i < length; i++) {
    1.40 @@ -463,7 +462,7 @@
    1.41    int len = (_locked_monitors != NULL ? _locked_monitors->length() : 0);
    1.42    for (int i = 0; i < len; i++) {
    1.43      oop o = _locked_monitors->at(i);
    1.44 -    instanceKlass* ik = instanceKlass::cast(o->klass());
    1.45 +    InstanceKlass* ik = InstanceKlass::cast(o->klass());
    1.46      st->print_cr("\t- locked <" INTPTR_FORMAT "> (a %s)", (address)o, ik->external_name());
    1.47    }
    1.48  
    1.49 @@ -564,7 +563,7 @@
    1.50  }
    1.51  
    1.52  Handle ThreadStackTrace::allocate_fill_stack_trace_element_array(TRAPS) {
    1.53 -  klassOop k = SystemDictionary::StackTraceElement_klass();
    1.54 +  Klass* k = SystemDictionary::StackTraceElement_klass();
    1.55    assert(k != NULL, "must be loaded in 1.4+");
    1.56    instanceKlassHandle ik(THREAD, k);
    1.57  
    1.58 @@ -681,7 +680,7 @@
    1.59  
    1.60    for (int i = 0; i < locks->length(); i++) {
    1.61      instanceOop obj = locks->at(i);
    1.62 -    instanceKlass* ik = instanceKlass::cast(obj->klass());
    1.63 +    InstanceKlass* ik = InstanceKlass::cast(obj->klass());
    1.64      st->print_cr("\t- <" INTPTR_FORMAT "> (a %s)", (address)obj, ik->external_name());
    1.65    }
    1.66    st->cr();
    1.67 @@ -832,7 +831,7 @@
    1.68        oop obj = (oop)waitingToLockMonitor->object();
    1.69        if (obj != NULL) {
    1.70          st->print(" (object "INTPTR_FORMAT ", a %s)", (address)obj,
    1.71 -                   (instanceKlass::cast(obj->klass()))->external_name());
    1.72 +                   (InstanceKlass::cast(obj->klass()))->external_name());
    1.73  
    1.74          if (!currentThread->current_pending_monitor_is_from_java()) {
    1.75            owner_desc = "\n  in JNI, which is held by";
    1.76 @@ -846,7 +845,7 @@
    1.77      } else {
    1.78        st->print("  waiting for ownable synchronizer " INTPTR_FORMAT ", (a %s)",
    1.79                  (address)waitingToLockBlocker,
    1.80 -                (instanceKlass::cast(waitingToLockBlocker->klass()))->external_name());
    1.81 +                (InstanceKlass::cast(waitingToLockBlocker->klass()))->external_name());
    1.82        assert(waitingToLockBlocker->is_a(SystemDictionary::abstract_ownable_synchronizer_klass()),
    1.83               "Must be an AbstractOwnableSynchronizer");
    1.84        oop ownerObj = java_util_concurrent_locks_AbstractOwnableSynchronizer::get_owner_threadObj(waitingToLockBlocker);

mercurial