Refactoring type verification in Art.
Each type now has its own class instead of one class with enums.
Improved test cases for reg_type. Added test cases for testing precision, Merge,
Dump messages, etc.
Fixed bugs for:
1- Creating precise references in cache was ignoring the passed parameter
for reference types and only creating precise for final classes. Now creating
for final classes or if boolean set to true.
2- Precise constants were created if precise boolean passed as false ( and vice
versa ). Fixed.
Change-Id: Ia5450d6c732f848e6b94298e43e8cfb819897fc6
diff --git a/src/verifier/method_verifier.h b/src/verifier/method_verifier.h
index 49bc808..ae43162 100644
--- a/src/verifier/method_verifier.h
+++ b/src/verifier/method_verifier.h
@@ -29,7 +29,7 @@
#include "instruction_flags.h"
#include "mirror/object.h"
#include "reg_type.h"
-#include "reg_type_cache.h"
+#include "reg_type_cache-inl.h"
#include "register_line.h"
#include "safe_map.h"
#include "UniquePtr.h"
@@ -192,7 +192,7 @@
std::vector<uint32_t>& monitor_enter_dex_pcs)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
- static void Init();
+ static void Init() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
static void Shutdown();
static bool IsClassRejected(CompilerDriver::ClassReference ref)