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/invoke_arg_array_builder.h b/src/invoke_arg_array_builder.h
index 5d4fa5a..16eedfe 100644
--- a/src/invoke_arg_array_builder.h
+++ b/src/invoke_arg_array_builder.h
@@ -148,7 +148,7 @@
           arg_array_[i - 1].SetF(shadow_frame.GetVRegFloat(range_start + offset));
           break;
         case 'L':
-          arg_array_[i - 1].SetL(shadow_frame.GetReference(range_start + offset));
+          arg_array_[i - 1].SetL(shadow_frame.GetVRegReference(range_start + offset));
           break;
         case 'D':
           arg_array_[i - 1].SetD(shadow_frame.GetVRegDouble(range_start + offset));
@@ -185,7 +185,7 @@
           arg_array_[i - 1].SetF(shadow_frame.GetVRegFloat(arg_regs[offset]));
           break;
         case 'L':
-          arg_array_[i - 1].SetL(shadow_frame.GetReference(arg_regs[offset]));
+          arg_array_[i - 1].SetL(shadow_frame.GetVRegReference(arg_regs[offset]));
           break;
         case 'D':
           arg_array_[i - 1].SetD(shadow_frame.GetVRegDouble(arg_regs[offset]));