// A struct that stores data needed for redefining/transforming classes. This structure should only // even be accessed from a single thread and must not survive past the completion of the // redefinition/retransformation function that created it. class ArtClassDefinition { public:
ArtClassDefinition()
: klass_(nullptr),
loader_(nullptr),
name_(),
protection_domain_(nullptr),
dex_data_memory_(),
dex_data_(),
current_dex_memory_(),
current_dex_file_(),
redefined_(false),
initialized_(false),
structural_transform_update_(false) {}
// A unique_ptr to the current dex_data if it needs to be cleaned up.
std::vector<unsignedchar> dex_data_memory_;
// A ref to the current dex data. This is either dex_data_memory_, or current_dex_file_. This is // what the dex file will be turned into.
art::ArrayRef<constunsignedchar> dex_data_;
// This is only used if we failed to create a mmap to store the dequickened data
std::vector<unsignedchar> current_dex_memory_;
// This is a dequickened version of what is loaded right now. It is either current_dex_memory_ (if // no other redefinition has ever happened to this) or the current dex_file_ directly (if this // class has been redefined, thus it cannot have any quickened stuff).
art::ArrayRef<constunsignedchar> current_dex_file_;
bool redefined_;
bool initialized_;
// Set if we had a new dex from the given transform type. bool structural_transform_update_;
DISALLOW_COPY_AND_ASSIGN(ArtClassDefinition);
};
} // namespace openjdkjvmti
#endif// ART_OPENJDKJVMTI_TI_CLASS_DEFINITION_H_
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 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.