namespace mirror { classClass; class Object;
} // namespace mirror
namespace gc {
namespace space { class Space;
} // namespace space
class Heap;
class Verification { public: explicit Verification(gc::Heap* heap) : heap_(heap) {}
// Dump some debugging-relevant info about an object.
std::string DumpObjectInfo(constvoid* obj, constchar* tag) const
REQUIRES_SHARED(Locks::mutator_lock_);
// Don't use ObjPtr for things that might not be aligned like the invalid reference.
EXPORT void LogHeapCorruption(ObjPtr<mirror::Object> holder,
MemberOffset offset,
mirror::Object* ref, bool fatal) const REQUIRES_SHARED(Locks::mutator_lock_);
// Return true if the klass is likely to be a valid mirror::Class. // Returns true if the class is a valid mirror::Class or possibly spuriously. template <ReadBarrierOption kReadBarrierOption = kWithoutReadBarrier> bool IsValidClassUnchecked(mirror::Class* klass) const
REQUIRES_SHARED(Locks::mutator_lock_); // Return true if the klass is likely to be a valid mirror::Class. template <ReadBarrierOption kReadBarrierOption = kWithoutReadBarrier> bool IsValidClass(mirror::Class* klass) const REQUIRES_SHARED(Locks::mutator_lock_); // Return true if the obj is likely to be a valid obj with valid mirror::Class. template <ReadBarrierOption kReadBarrierOption = kWithoutReadBarrier> bool IsValidObject(mirror::Object* obj) const REQUIRES_SHARED(Locks::mutator_lock_);
// Does not allow null, checks alignment. bool IsValidHeapObjectAddress(constvoid* addr, space::Space** out_space = nullptr) const
REQUIRES_SHARED(Locks::mutator_lock_);
// Find the first path to the target from the root set. Should be called while paused since // visiting roots is not safe otherwise.
EXPORT std::string FirstPathFromRootSet(ObjPtr<mirror::Object> target) const
REQUIRES_SHARED(Locks::mutator_lock_);
// Does not check alignment, used by DumpRAMAroundAddress. bool IsAddressInHeapSpace(constvoid* addr, space::Space** out_space = nullptr) const
REQUIRES_SHARED(Locks::mutator_lock_);
// Dump bytes of RAM before and after an address.
std::string DumpRAMAroundAddress(uintptr_t addr, uintptr_t bytes) const
REQUIRES_SHARED(Locks::mutator_lock_);
private:
gc::Heap* const heap_;
class BFSFindReachable; class CollectRootVisitor;
};
} // namespace gc
} // namespace art
#endif// ART_RUNTIME_GC_VERIFICATION_H_
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.