Using gcmap instead of shadow frame.

Fix misuse of TBAAJRuntime & TBAARuntimeInfo. Now, the TBAAJRuntime is
only for runtime support function.

Update DexPC before lock object and suspend.

Change-Id: I40fa37f4863fe6e127328a8413285ee3c62e8505
diff --git a/src/verifier/method_verifier.cc b/src/verifier/method_verifier.cc
index d6cd665dd..b96989d 100644
--- a/src/verifier/method_verifier.cc
+++ b/src/verifier/method_verifier.cc
@@ -979,7 +979,6 @@
   return true;
 }
 
-#if !defined(ART_USE_LLVM_COMPILER)
 static const std::vector<uint8_t>* CreateLengthPrefixedDexGcMap(const std::vector<uint8_t>& gc_map) {
   std::vector<uint8_t>* length_prefixed_gc_map = new std::vector<uint8_t>;
   length_prefixed_gc_map->push_back((gc_map.size() & 0xff000000) >> 24);
@@ -997,7 +996,6 @@
                                 (length_prefixed_gc_map->at(3) << 0)));
   return length_prefixed_gc_map;
 }
-#endif
 
 bool MethodVerifier::VerifyCodeFlow() {
   uint16_t registers_size = code_item_->registers_size_;
@@ -1029,7 +1027,6 @@
 
   Compiler::MethodReference ref(dex_file_, dex_method_idx_);
 
-#if !defined(ART_USE_LLVM_COMPILER)
 
   /* Generate a register map and add it to the method. */
   UniquePtr<const std::vector<uint8_t> > map(GenerateGcMap());
@@ -1043,13 +1040,13 @@
   const std::vector<uint8_t>* dex_gc_map = CreateLengthPrefixedDexGcMap(*(map.get()));
   verifier::MethodVerifier::SetDexGcMap(ref, *dex_gc_map);
 
-#else  // defined(ART_USE_LLVM_COMPILER)
+#if defined(ART_USE_LLVM_COMPILER)
   /* Generate Inferred Register Category for LLVM-based Code Generator */
   const InferredRegCategoryMap* table = GenerateInferredRegCategoryMap();
   verifier::MethodVerifier::SetInferredRegCategoryMap(ref, *table);
-
 #endif
 
+
   return true;
 }
 
@@ -3498,17 +3495,6 @@
   for (size_t i = 0; i < insns_size; ++i) {
     if (RegisterLine* line = reg_table_.GetLine(i)) {
       const Instruction* inst = Instruction::At(code_item_->insns_ + i);
-
-      // GC points
-      if (inst->IsBranch() || inst->IsInvoke()) {
-        for (size_t r = 0; r < regs_size; ++r) {
-          const RegType &rt = line->GetRegisterType(r);
-          if (rt.IsNonZeroReferenceTypes()) {
-            table->SetRegCanBeObject(r);
-          }
-        }
-      }
-
       /* We only use InferredRegCategoryMap in one case */
       if (inst->IsBranch()) {
         for (size_t r = 0; r < regs_size; ++r) {