< prev index next >

src/hotspot/share/oops/oop.cpp

Print this page

        

*** 92,102 **** // slow case; we have to acquire the micro lock in order to locate the header Thread* THREAD = Thread::current(); ResetNoHandleMark rnm; // Might be called from LEAF/QUICK ENTRY HandleMark hm(THREAD); Handle object(THREAD, this); ! return ObjectSynchronizer::identity_hash_value_for(object); } // used only for asserts and guarantees bool oopDesc::is_oop(oop obj, bool ignore_mark_word) { if (!Universe::heap()->is_oop(obj)) { --- 92,102 ---- // slow case; we have to acquire the micro lock in order to locate the header Thread* THREAD = Thread::current(); ResetNoHandleMark rnm; // Might be called from LEAF/QUICK ENTRY HandleMark hm(THREAD); Handle object(THREAD, this); ! return ObjectSynchronizer::FastHashCode(THREAD, object()); } // used only for asserts and guarantees bool oopDesc::is_oop(oop obj, bool ignore_mark_word) { if (!Universe::heap()->is_oop(obj)) {
*** 111,121 **** return true; } if (obj->mark_raw() != NULL) { return true; } ! return !SafepointSynchronize::is_at_safepoint(); } // used only for asserts and guarantees bool oopDesc::is_oop_or_null(oop obj, bool ignore_mark_word) { return obj == NULL ? true : is_oop(obj, ignore_mark_word); --- 111,121 ---- return true; } if (obj->mark_raw() != NULL) { return true; } ! return !SafepointSynchronize::is_at_safepoint() ; } // used only for asserts and guarantees bool oopDesc::is_oop_or_null(oop obj, bool ignore_mark_word) { return obj == NULL ? true : is_oop(obj, ignore_mark_word);
*** 148,157 **** --- 148,159 ---- // type test operations that doesn't require inclusion of oop.inline.hpp. bool oopDesc::is_instance_noinline() const { return is_instance(); } bool oopDesc::is_array_noinline() const { return is_array(); } bool oopDesc::is_objArray_noinline() const { return is_objArray(); } bool oopDesc::is_typeArray_noinline() const { return is_typeArray(); } + bool oopDesc::is_value_noinline() const { return is_value(); } + bool oopDesc::is_valueArray_noinline() const { return is_valueArray(); } bool oopDesc::has_klass_gap() { // Only has a klass gap when compressed class pointers are used. return UseCompressedClassPointers; }
< prev index next >