< prev index next >

src/hotspot/share/oops/oop.cpp

Print this page
@@ -94,11 +94,11 @@
    // slow case; we have to acquire the micro lock in order to locate the header
    Thread* current = Thread::current();
    ResetNoHandleMark rnm; // Might be called from LEAF/QUICK ENTRY
    HandleMark hm(current);
    Handle object(current, this);
-   return ObjectSynchronizer::identity_hash_value_for(object);
+   return ObjectSynchronizer::FastHashCode(current, object());
  }
  
  // used only for asserts and guarantees
  bool oopDesc::is_oop(oop obj, bool ignore_mark_word) {
    if (!Universe::heap()->is_oop(obj)) {

@@ -113,11 +113,11 @@
      return true;
    }
    if (obj->mark().value() != 0) {
      return true;
    }
-   return !SafepointSynchronize::is_at_safepoint();
+   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);

@@ -136,10 +136,12 @@
  // 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_flatArray_noinline()         const { return is_flatArray();           }
+ bool oopDesc::is_null_free_array_noinline()   const { return is_null_free_array();     }
  
  bool oopDesc::has_klass_gap() {
    // Only has a klass gap when compressed class pointers are used.
    return UseCompressedClassPointers;
  }
< prev index next >