Lines Matching refs:klass

237   static SubtypeCheckInfo::State EnsureInitialized(ClassPtr klass)  in EnsureInitialized()
240 return InitializeOrAssign(klass, /*assign=*/false).GetState(); in EnsureInitialized()
250 static SubtypeCheckInfo::State EnsureAssigned(ClassPtr klass) in EnsureAssigned()
253 return InitializeOrAssign(klass, /*assign=*/true).GetState(); in EnsureAssigned()
265 static SubtypeCheckInfo::State ForceUninitialize(ClassPtr klass) in ForceUninitialize()
282 WriteSubtypeCheckBits(klass, scb_uninitialized); in ForceUninitialize()
294 static SubtypeCheckInfo::State GetState(ClassPtr klass) in GetState()
297 return GetSubtypeCheckInfo(klass).GetState(); in GetState()
306 static BitString::StorageType GetEncodedPathToRootForSource(ClassPtr klass) in GetEncodedPathToRootForSource()
309 DCHECK_NE(SubtypeCheckInfo::kUninitialized, GetSubtypeCheckInfo(klass).GetState()); in GetEncodedPathToRootForSource()
310 return GetSubtypeCheckInfo(klass).GetEncodedPathToRoot(); in GetEncodedPathToRootForSource()
319 static BitString::StorageType GetEncodedPathToRootForTarget(ClassPtr klass) in GetEncodedPathToRootForTarget()
322 SubtypeCheckInfo sci = GetSubtypeCheckInfo(klass); in GetEncodedPathToRootForTarget()
333 static BitString::StorageType GetEncodedPathToRootMask(ClassPtr klass) in GetEncodedPathToRootMask()
336 SubtypeCheckInfo sci = GetSubtypeCheckInfo(klass); in GetEncodedPathToRootMask()
362 static std::ostream& Dump(ClassPtr klass, std::ostream& os) in Dump()
364 return os << GetSubtypeCheckInfo(klass); in Dump()
367 static void WriteStatus(ClassPtr klass, ClassStatus status) in WriteStatus()
369 WriteStatusImpl(klass, status); in WriteStatus()
373 static ClassPtr GetParentClass(ClassPtr klass) in GetParentClass()
375 DCHECK(klass->HasSuperClass()); in GetParentClass()
376 return ClassPtr(klass->GetSuperClass()); in GetParentClass()
379 static SubtypeCheckInfo InitializeOrAssign(ClassPtr klass, bool assign) in InitializeOrAssign()
382 if (UNLIKELY(!klass->HasSuperClass())) { in InitializeOrAssign()
385 const SubtypeCheckInfo root_sci = GetSubtypeCheckInfo(klass); in InitializeOrAssign()
391 SetSubtypeCheckInfo(klass, new_root_sci); in InitializeOrAssign()
394 DCHECK_EQ(SubtypeCheckInfo::kAssigned, GetSubtypeCheckInfo(klass).GetState()) in InitializeOrAssign()
400 ClassPtr parent_klass = GetParentClass(klass); in InitializeOrAssign()
410 SubtypeCheckInfo sci = GetSubtypeCheckInfo(klass, parent_depth + 1u); in InitializeOrAssign()
440 SetSubtypeCheckInfo(klass, sci); // self in InitializeOrAssign()
446 static SubtypeCheckBitsAndStatus ReadField(ClassPtr klass) in ReadField()
450 int32_t int32_data = klass->GetField32Volatile(klass->StatusOffset()); in ReadField()
461 static void WriteSubtypeCheckBits(ClassPtr klass, const SubtypeCheckBits& new_bits) in WriteSubtypeCheckBits()
475 SubtypeCheckBitsAndStatus old_value = ReadField(klass); in WriteSubtypeCheckBits()
501 if (CasFieldWeakSequentiallyConsistent32(klass, in WriteSubtypeCheckBits()
502 klass->StatusOffset(), in WriteSubtypeCheckBits()
510 static void WriteStatusImpl(ClassPtr klass, ClassStatus status) in WriteStatusImpl()
519 SubtypeCheckBitsAndStatus old_value = ReadField(klass); in WriteStatusImpl()
530 if (CasFieldWeakSequentiallyConsistent32(klass, in WriteStatusImpl()
531 klass->StatusOffset(), in WriteStatusImpl()
539 static bool CasFieldWeakSequentiallyConsistent32(ClassPtr klass, in CasFieldWeakSequentiallyConsistent32()
545 return klass->template CasField32</*kTransactionActive=*/true>(offset, in CasFieldWeakSequentiallyConsistent32()
551 return klass->template CasField32</*kTransactionActive=*/false>(offset, in CasFieldWeakSequentiallyConsistent32()
563 static SubtypeCheckInfo GetSubtypeCheckInfo(ClassPtr klass) in GetSubtypeCheckInfo()
565 return GetSubtypeCheckInfo(klass, klass->Depth()); in GetSubtypeCheckInfo()
569 static SubtypeCheckInfo GetSubtypeCheckInfo(ClassPtr klass, size_t depth) in GetSubtypeCheckInfo()
571 DCHECK_EQ(depth, klass->Depth()); in GetSubtypeCheckInfo()
572 SubtypeCheckBitsAndStatus current_bits_and_status = ReadField(klass); in GetSubtypeCheckInfo()
579 static void SetSubtypeCheckInfo(ClassPtr klass, const SubtypeCheckInfo& new_sci) in SetSubtypeCheckInfo()
583 WriteSubtypeCheckBits(klass, new_bits); in SetSubtypeCheckInfo()