mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
8014294: Assert in ThreadTimesClosure::do_thread() due to use of naked oop instead of handle
Assert in ThreadTimesClosure::do_thread() due to use of naked oop instead of handle Reviewed-by: coleenp, sspitsyn
This commit is contained in:
parent
fd111e0d53
commit
00b23c2eb8
1 changed files with 5 additions and 5 deletions
|
@ -1831,13 +1831,13 @@ class ThreadTimesClosure: public ThreadClosure {
|
||||||
private:
|
private:
|
||||||
objArrayHandle _names_strings;
|
objArrayHandle _names_strings;
|
||||||
char **_names_chars;
|
char **_names_chars;
|
||||||
typeArrayOop _times;
|
typeArrayHandle _times;
|
||||||
int _names_len;
|
int _names_len;
|
||||||
int _times_len;
|
int _times_len;
|
||||||
int _count;
|
int _count;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ThreadTimesClosure(objArrayHandle names, typeArrayOop times);
|
ThreadTimesClosure(objArrayHandle names, typeArrayHandle times);
|
||||||
~ThreadTimesClosure();
|
~ThreadTimesClosure();
|
||||||
virtual void do_thread(Thread* thread);
|
virtual void do_thread(Thread* thread);
|
||||||
void do_unlocked();
|
void do_unlocked();
|
||||||
|
@ -1845,9 +1845,9 @@ class ThreadTimesClosure: public ThreadClosure {
|
||||||
};
|
};
|
||||||
|
|
||||||
ThreadTimesClosure::ThreadTimesClosure(objArrayHandle names,
|
ThreadTimesClosure::ThreadTimesClosure(objArrayHandle names,
|
||||||
typeArrayOop times) {
|
typeArrayHandle times) {
|
||||||
assert(names() != NULL, "names was NULL");
|
assert(names() != NULL, "names was NULL");
|
||||||
assert(times != NULL, "times was NULL");
|
assert(times() != NULL, "times was NULL");
|
||||||
_names_strings = names;
|
_names_strings = names;
|
||||||
_names_len = names->length();
|
_names_len = names->length();
|
||||||
_names_chars = NEW_C_HEAP_ARRAY(char*, _names_len, mtInternal);
|
_names_chars = NEW_C_HEAP_ARRAY(char*, _names_len, mtInternal);
|
||||||
|
@ -1925,7 +1925,7 @@ JVM_ENTRY(jint, jmm_GetInternalThreadTimes(JNIEnv *env,
|
||||||
typeArrayOop ta = typeArrayOop(JNIHandles::resolve_non_null(times));
|
typeArrayOop ta = typeArrayOop(JNIHandles::resolve_non_null(times));
|
||||||
typeArrayHandle times_ah(THREAD, ta);
|
typeArrayHandle times_ah(THREAD, ta);
|
||||||
|
|
||||||
ThreadTimesClosure ttc(names_ah, times_ah());
|
ThreadTimesClosure ttc(names_ah, times_ah);
|
||||||
{
|
{
|
||||||
MutexLockerEx ml(Threads_lock);
|
MutexLockerEx ml(Threads_lock);
|
||||||
Threads::threads_do(&ttc);
|
Threads::threads_do(&ttc);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue