Fix lock order for jvmti kTaggingLockLevel
Add test for duplicate env free order.
Bug: 36648696
Test: ./test.py --host
Change-Id: I76fc8187b29f5e66cc29674320e887dbc508fe19
diff --git a/runtime/openjdkjvmti/jvmti_weak_table.h b/runtime/openjdkjvmti/jvmti_weak_table.h
index ae36122..eeea75a 100644
--- a/runtime/openjdkjvmti/jvmti_weak_table.h
+++ b/runtime/openjdkjvmti/jvmti_weak_table.h
@@ -53,7 +53,7 @@
class JvmtiWeakTable : public art::gc::SystemWeakHolder {
public:
JvmtiWeakTable()
- : art::gc::SystemWeakHolder(kTaggingLockLevel),
+ : art::gc::SystemWeakHolder(art::kTaggingLockLevel),
update_since_last_sweep_(false) {
}
@@ -200,10 +200,6 @@
}
};
- // The tag table is used when visiting roots. So it needs to have a low lock level.
- static constexpr art::LockLevel kTaggingLockLevel =
- static_cast<art::LockLevel>(art::LockLevel::kAbortLock + 1);
-
std::unordered_map<art::GcRoot<art::mirror::Object>,
T,
HashGcRoot,