--- a/src/hotspot/share/prims/stackwalk.cpp Tue Apr 03 10:27:46 2018 +0200
+++ b/src/hotspot/share/prims/stackwalk.cpp Tue Apr 03 13:15:27 2018 +0200
@@ -48,7 +48,7 @@
bool BaseFrameStream::check_magic(objArrayHandle frames_array) {
oop m1 = frames_array->obj_at(magic_pos);
jlong m2 = _anchor;
- if (m1 == _thread->threadObj() && m2 == address_value()) return true;
+ if (oopDesc::equals(m1, _thread->threadObj()) && m2 == address_value()) return true;
return false;
}
@@ -79,7 +79,7 @@
{
assert(thread != NULL && thread->is_Java_thread(), "");
oop m1 = frames_array->obj_at(magic_pos);
- if (m1 != thread->threadObj()) return NULL;
+ if (!oopDesc::equals(m1, thread->threadObj())) return NULL;
if (magic == 0L) return NULL;
BaseFrameStream* stream = (BaseFrameStream*) (intptr_t) magic;
if (!stream->is_valid_in(thread, frames_array)) return NULL;