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);