jint ConstantPool::name_and_type_at(int index JVM_TRAPS) const { int offset = offset_from_checked_index(index JVM_ZCHECK_0(offset)); cp_check_0(ConstantTag::is_name_and_type(tag_value_at(index))); int result = int_field(offset); GUARANTEE(result != 0, "sanity for JVM_ZCHECK"); return result; }
ReturnOop ConstantPool::resolved_klass_at(int index JVM_TRAPS) const { int offset = offset_from_checked_index(index JVM_ZCHECK_0(offset)); cp_check_0(ConstantTag::is_resolved_klass(tag_value_at(index))); return Universe::class_from_id(int_field(offset)); }
GUARANTEE(Synchronizer::is_locked_by(obj, thread), "Sanity check"); } static int local_rand() { static unsigned int state = 0x23451921; const unsigned int multiplier = 0xDEECE66DL; const unsigned int addend = 0xBL; state = state * multiplier + addend; return (int)state; } jint Synchronizer::hash_code(JavaOop* obj JVM_TRAPS) { if (obj->klass() == _interned_string_near_addr) { JavaOop::Raw new_obj = get_lock_object_ref(obj, Thread::current(), false JVM_ZCHECK_0(new_obj)); GUARANTEE(!obj->is_null(), "lock object is null!"); *obj = new_obj; } JavaNear::Raw java_near = obj->klass(); // Check if hash has been computed if (!java_near().has_hash()) { UsingFastOops fast_oops; bool is_locked = java_near().is_locked(); JavaClass::Fast c = java_near().klass(); // Create a new near. java_near = Universe::new_java_near(&c JVM_CHECK_0); // use a pseudo-random 32-bit number as the hash value jint new_hash;