Ensure 'modified' field of ArtClassDefinition is always initialized.
This field was not always being initialized due to the use of a
default constructor. This meant we would go down unintended code paths
in some circumstances.
Test: ./test.py --host -j40
Bug: 36602266
Change-Id: Iba3521d4a2fa752a7ba59dcbcbbd30e0c09869ff
diff --git a/runtime/openjdkjvmti/ti_class_definition.h b/runtime/openjdkjvmti/ti_class_definition.h
index 3c251d4..9ca1c07 100644
--- a/runtime/openjdkjvmti/ti_class_definition.h
+++ b/runtime/openjdkjvmti/ti_class_definition.h
@@ -49,7 +49,16 @@
JvmtiUniquePtr<unsigned char> dex_data;
art::ArraySlice<const unsigned char> original_dex_file;
- ArtClassDefinition() = default;
+ ArtClassDefinition()
+ : klass(nullptr),
+ loader(nullptr),
+ name(),
+ protection_domain(nullptr),
+ dex_len(0),
+ dex_data(nullptr),
+ original_dex_file(),
+ modified(false) {}
+
ArtClassDefinition(ArtClassDefinition&& o) = default;
void SetNewDexData(ArtJvmTiEnv* env, jint new_dex_len, unsigned char* new_dex_data) {