OSDN Git Service

Revert "ART: Add Mterp export pc poison testing mode"
authorBill Buzbee <buzbee@google.com>
Wed, 6 Jul 2016 23:28:26 +0000 (23:28 +0000)
committerBill Buzbee <buzbee@google.com>
Wed, 6 Jul 2016 23:28:26 +0000 (23:28 +0000)
This reverts commit e664cfef4d373a037dcf18637bea6b41e0624302.

Change-Id: I521dfccd6c829946c93290163bf817b8a2c368e9

16 files changed:
runtime/interpreter/interpreter_common.h
runtime/interpreter/mterp/arm/alt_stub.S
runtime/interpreter/mterp/arm64/alt_stub.S
runtime/interpreter/mterp/mips/alt_stub.S
runtime/interpreter/mterp/mips64/alt_stub.S
runtime/interpreter/mterp/mterp.cc
runtime/interpreter/mterp/mterp.h
runtime/interpreter/mterp/out/mterp_arm.S
runtime/interpreter/mterp/out/mterp_arm64.S
runtime/interpreter/mterp/out/mterp_mips.S
runtime/interpreter/mterp/out/mterp_mips64.S
runtime/interpreter/mterp/out/mterp_x86.S
runtime/interpreter/mterp/out/mterp_x86_64.S
runtime/interpreter/mterp/x86/alt_stub.S
runtime/interpreter/mterp/x86_64/alt_stub.S
runtime/stack.h

index 7dfa6e2..3750b7a 100644 (file)
@@ -979,13 +979,15 @@ NO_RETURN void UnexpectedOpcode(const Instruction* inst, const ShadowFrame& shad
   __attribute__((cold))
   SHARED_REQUIRES(Locks::mutator_lock_);
 
-// Set true if you want TraceExecution invocation before each bytecode execution.
-constexpr bool kTraceExecutionEnabled = false;
+static inline bool TraceExecutionEnabled() {
+  // Return true if you want TraceExecution invocation before each bytecode execution.
+  return false;
+}
 
 static inline void TraceExecution(const ShadowFrame& shadow_frame, const Instruction* inst,
                                   const uint32_t dex_pc)
     SHARED_REQUIRES(Locks::mutator_lock_) {
-  if (kTraceExecutionEnabled) {
+  if (TraceExecutionEnabled()) {
 #define TRACE_LOG std::cerr
     std::ostringstream oss;
     oss << PrettyMethod(shadow_frame.GetMethod())
index 9db5bf7..92ae0c6 100644 (file)
@@ -4,9 +4,9 @@
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (${opnum} * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
index 3a463fe..9b8b16d 100644 (file)
@@ -4,9 +4,9 @@
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (${opnum} * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
index fde438b..4598061 100644 (file)
@@ -4,10 +4,10 @@
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (${opnum} * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
index a8e67d8..bd76a1b 100644 (file)
@@ -4,11 +4,11 @@
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (${opnum} * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
index 8aa87b1..bd1af04 100644 (file)
@@ -46,7 +46,7 @@ void CheckMterpAsmConstants() {
 void InitMterpTls(Thread* self) {
   self->SetMterpDefaultIBase(artMterpAsmInstructionStart);
   self->SetMterpAltIBase(artMterpAsmAltInstructionStart);
-  self->SetMterpCurrentIBase((kTraceExecutionEnabled || kTestExportPC) ?
+  self->SetMterpCurrentIBase(TraceExecutionEnabled() ?
                              artMterpAsmAltInstructionStart :
                              artMterpAsmInstructionStart);
 }
@@ -430,23 +430,16 @@ extern "C" bool MterpHandleException(Thread* self, ShadowFrame* shadow_frame)
   return true;
 }
 
-extern "C" void MterpCheckBefore(Thread* self, ShadowFrame* shadow_frame, uint16_t* dex_pc_ptr)
+extern "C" void MterpCheckBefore(Thread* self, ShadowFrame* shadow_frame)
     SHARED_REQUIRES(Locks::mutator_lock_) {
-  const Instruction* inst = Instruction::At(dex_pc_ptr);
+  const Instruction* inst = Instruction::At(shadow_frame->GetDexPCPtr());
   uint16_t inst_data = inst->Fetch16(0);
   if (inst->Opcode(inst_data) == Instruction::MOVE_EXCEPTION) {
     self->AssertPendingException();
   } else {
     self->AssertNoPendingException();
   }
-  if (kTraceExecutionEnabled) {
-    uint32_t dex_pc = dex_pc_ptr - shadow_frame->GetCodeItem()->insns_;
-    TraceExecution(*shadow_frame, inst, dex_pc);
-  }
-  if (kTestExportPC) {
-    // Save invalid dex pc to force segfault if improperly used.
-    shadow_frame->SetDexPCPtr(reinterpret_cast<uint16_t*>(kExportPCPoison));
-  }
+  TraceExecution(*shadow_frame, inst, shadow_frame->GetDexPC());
 }
 
 extern "C" void MterpLogDivideByZeroException(Thread* self, ShadowFrame* shadow_frame)
index 88e17bc..8d24641 100644 (file)
@@ -32,13 +32,6 @@ void InitMterpTls(Thread* self);
 void CheckMterpAsmConstants();
 extern "C" bool MterpShouldSwitchInterpreters();
 
-// Poison value for TestExportPC.  If we segfault with this value, it means that a mterp
-// handler for a recent opcode failed to export the Dalvik PC prior to a possible exit from
-// the mterp environment.
-constexpr uintptr_t kExportPCPoison = 0xdead00ff;
-// Set true to enable poison testing of ExportPC.  Uses Alt interpreter.
-constexpr bool kTestExportPC = false;
-
 }  // namespace interpreter
 }  // namespace art
 
index df25767..a38a87b 100644 (file)
@@ -7441,12 +7441,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (0 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7458,12 +7458,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (1 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7475,12 +7475,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (2 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7492,12 +7492,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (3 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7509,12 +7509,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (4 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7526,12 +7526,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (5 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7543,12 +7543,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (6 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7560,12 +7560,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (7 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7577,12 +7577,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (8 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7594,12 +7594,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (9 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7611,12 +7611,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (10 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7628,12 +7628,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (11 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7645,12 +7645,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (12 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7662,12 +7662,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (13 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7679,12 +7679,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (14 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7696,12 +7696,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (15 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7713,12 +7713,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (16 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7730,12 +7730,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (17 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7747,12 +7747,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (18 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7764,12 +7764,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (19 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7781,12 +7781,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (20 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7798,12 +7798,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (21 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7815,12 +7815,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (22 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7832,12 +7832,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (23 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7849,12 +7849,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (24 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7866,12 +7866,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (25 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7883,12 +7883,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (26 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7900,12 +7900,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (27 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7917,12 +7917,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (28 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7934,12 +7934,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (29 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7951,12 +7951,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (30 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7968,12 +7968,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (31 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7985,12 +7985,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (32 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8002,12 +8002,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (33 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8019,12 +8019,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (34 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8036,12 +8036,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (35 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8053,12 +8053,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (36 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8070,12 +8070,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (37 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8087,12 +8087,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (38 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8104,12 +8104,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (39 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8121,12 +8121,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (40 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8138,12 +8138,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (41 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8155,12 +8155,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (42 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8172,12 +8172,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (43 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8189,12 +8189,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (44 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8206,12 +8206,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (45 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8223,12 +8223,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (46 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8240,12 +8240,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (47 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8257,12 +8257,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (48 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8274,12 +8274,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (49 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8291,12 +8291,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (50 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8308,12 +8308,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (51 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8325,12 +8325,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (52 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8342,12 +8342,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (53 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8359,12 +8359,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (54 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8376,12 +8376,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (55 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8393,12 +8393,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (56 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8410,12 +8410,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (57 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8427,12 +8427,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (58 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8444,12 +8444,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (59 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8461,12 +8461,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (60 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8478,12 +8478,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (61 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8495,12 +8495,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (62 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8512,12 +8512,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (63 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8529,12 +8529,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (64 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8546,12 +8546,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (65 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8563,12 +8563,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (66 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8580,12 +8580,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (67 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8597,12 +8597,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (68 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8614,12 +8614,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (69 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8631,12 +8631,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (70 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8648,12 +8648,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (71 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8665,12 +8665,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (72 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8682,12 +8682,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (73 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8699,12 +8699,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (74 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8716,12 +8716,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (75 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8733,12 +8733,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (76 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8750,12 +8750,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (77 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8767,12 +8767,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (78 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8784,12 +8784,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (79 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8801,12 +8801,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (80 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8818,12 +8818,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (81 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8835,12 +8835,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (82 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8852,12 +8852,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (83 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8869,12 +8869,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (84 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8886,12 +8886,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (85 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8903,12 +8903,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (86 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8920,12 +8920,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (87 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8937,12 +8937,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (88 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8954,12 +8954,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (89 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8971,12 +8971,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (90 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8988,12 +8988,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (91 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9005,12 +9005,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (92 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9022,12 +9022,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (93 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9039,12 +9039,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (94 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9056,12 +9056,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (95 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9073,12 +9073,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (96 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9090,12 +9090,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (97 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9107,12 +9107,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (98 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9124,12 +9124,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (99 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9141,12 +9141,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (100 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9158,12 +9158,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (101 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9175,12 +9175,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (102 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9192,12 +9192,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (103 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9209,12 +9209,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (104 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9226,12 +9226,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (105 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9243,12 +9243,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (106 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9260,12 +9260,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (107 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9277,12 +9277,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (108 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9294,12 +9294,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (109 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9311,12 +9311,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (110 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9328,12 +9328,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (111 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9345,12 +9345,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (112 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9362,12 +9362,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (113 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9379,12 +9379,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (114 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9396,12 +9396,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (115 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9413,12 +9413,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (116 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9430,12 +9430,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (117 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9447,12 +9447,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (118 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9464,12 +9464,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (119 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9481,12 +9481,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (120 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9498,12 +9498,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (121 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9515,12 +9515,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (122 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9532,12 +9532,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (123 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9549,12 +9549,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (124 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9566,12 +9566,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (125 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9583,12 +9583,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (126 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9600,12 +9600,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (127 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9617,12 +9617,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (128 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9634,12 +9634,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (129 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9651,12 +9651,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (130 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9668,12 +9668,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (131 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9685,12 +9685,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (132 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9702,12 +9702,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (133 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9719,12 +9719,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (134 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9736,12 +9736,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (135 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9753,12 +9753,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (136 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9770,12 +9770,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (137 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9787,12 +9787,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (138 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9804,12 +9804,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (139 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9821,12 +9821,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (140 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9838,12 +9838,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (141 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9855,12 +9855,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (142 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9872,12 +9872,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (143 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9889,12 +9889,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (144 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9906,12 +9906,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (145 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9923,12 +9923,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (146 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9940,12 +9940,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (147 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9957,12 +9957,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (148 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9974,12 +9974,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (149 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9991,12 +9991,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (150 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10008,12 +10008,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (151 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10025,12 +10025,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (152 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10042,12 +10042,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (153 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10059,12 +10059,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (154 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10076,12 +10076,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (155 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10093,12 +10093,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (156 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10110,12 +10110,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (157 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10127,12 +10127,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (158 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10144,12 +10144,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (159 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10161,12 +10161,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (160 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10178,12 +10178,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (161 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10195,12 +10195,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (162 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10212,12 +10212,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (163 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10229,12 +10229,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (164 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10246,12 +10246,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (165 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10263,12 +10263,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (166 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10280,12 +10280,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (167 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10297,12 +10297,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (168 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10314,12 +10314,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (169 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10331,12 +10331,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (170 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10348,12 +10348,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (171 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10365,12 +10365,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (172 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10382,12 +10382,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (173 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10399,12 +10399,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (174 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10416,12 +10416,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (175 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10433,12 +10433,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (176 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10450,12 +10450,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (177 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10467,12 +10467,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (178 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10484,12 +10484,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (179 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10501,12 +10501,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (180 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10518,12 +10518,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (181 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10535,12 +10535,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (182 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10552,12 +10552,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (183 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10569,12 +10569,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (184 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10586,12 +10586,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (185 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10603,12 +10603,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (186 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10620,12 +10620,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (187 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10637,12 +10637,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (188 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10654,12 +10654,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (189 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10671,12 +10671,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (190 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10688,12 +10688,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (191 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10705,12 +10705,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (192 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10722,12 +10722,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (193 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10739,12 +10739,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (194 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10756,12 +10756,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (195 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10773,12 +10773,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (196 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10790,12 +10790,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (197 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10807,12 +10807,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (198 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10824,12 +10824,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (199 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10841,12 +10841,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (200 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10858,12 +10858,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (201 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10875,12 +10875,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (202 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10892,12 +10892,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (203 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10909,12 +10909,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (204 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10926,12 +10926,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (205 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10943,12 +10943,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (206 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10960,12 +10960,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (207 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10977,12 +10977,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (208 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10994,12 +10994,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (209 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11011,12 +11011,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (210 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11028,12 +11028,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (211 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11045,12 +11045,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (212 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11062,12 +11062,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (213 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11079,12 +11079,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (214 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11096,12 +11096,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (215 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11113,12 +11113,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (216 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11130,12 +11130,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (217 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11147,12 +11147,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (218 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11164,12 +11164,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (219 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11181,12 +11181,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (220 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11198,12 +11198,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (221 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11215,12 +11215,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (222 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11232,12 +11232,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (223 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11249,12 +11249,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (224 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11266,12 +11266,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (225 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11283,12 +11283,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (226 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11300,12 +11300,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (227 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11317,12 +11317,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (228 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11334,12 +11334,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (229 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11351,12 +11351,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (230 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11368,12 +11368,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (231 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11385,12 +11385,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (232 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11402,12 +11402,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (233 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11419,12 +11419,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (234 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11436,12 +11436,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (235 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11453,12 +11453,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (236 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11470,12 +11470,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (237 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11487,12 +11487,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (238 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11504,12 +11504,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (239 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11521,12 +11521,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (240 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11538,12 +11538,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (241 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11555,12 +11555,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (242 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11572,12 +11572,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (243 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11589,12 +11589,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (244 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11606,12 +11606,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (245 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11623,12 +11623,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (246 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11640,12 +11640,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (247 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11657,12 +11657,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (248 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11674,12 +11674,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (249 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11691,12 +11691,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (250 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11708,12 +11708,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (251 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11725,12 +11725,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (252 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11742,12 +11742,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (253 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11759,12 +11759,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (254 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11776,12 +11776,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET]            @ refresh IBASE.
     adrl   lr, artMterpAsmInstructionStart + (255 * 128)       @ Addr of primary handler.
     mov    r0, rSELF
     add    r1, rFP, #OFF_FP_SHADOWFRAME
-    mov    r2, rPC
-    b      MterpCheckBefore     @ (self, shadow_frame, dex_pc_ptr)  @ Tail call.
+    b      MterpCheckBefore     @ (self, shadow_frame)              @ Tail call.
 
     .balign 128
     .size   artMterpAsmAltInstructionStart, .-artMterpAsmAltInstructionStart
index df0b686..55797e6 100644 (file)
@@ -6938,12 +6938,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (0 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -6955,12 +6955,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (1 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -6972,12 +6972,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (2 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -6989,12 +6989,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (3 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7006,12 +7006,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (4 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7023,12 +7023,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (5 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7040,12 +7040,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (6 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7057,12 +7057,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (7 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7074,12 +7074,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (8 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7091,12 +7091,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (9 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7108,12 +7108,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (10 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7125,12 +7125,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (11 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7142,12 +7142,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (12 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7159,12 +7159,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (13 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7176,12 +7176,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (14 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7193,12 +7193,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (15 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7210,12 +7210,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (16 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7227,12 +7227,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (17 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7244,12 +7244,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (18 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7261,12 +7261,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (19 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7278,12 +7278,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (20 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7295,12 +7295,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (21 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7312,12 +7312,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (22 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7329,12 +7329,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (23 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7346,12 +7346,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (24 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7363,12 +7363,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (25 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7380,12 +7380,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (26 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7397,12 +7397,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (27 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7414,12 +7414,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (28 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7431,12 +7431,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (29 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7448,12 +7448,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (30 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7465,12 +7465,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (31 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7482,12 +7482,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (32 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7499,12 +7499,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (33 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7516,12 +7516,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (34 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7533,12 +7533,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (35 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7550,12 +7550,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (36 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7567,12 +7567,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (37 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7584,12 +7584,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (38 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7601,12 +7601,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (39 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7618,12 +7618,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (40 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7635,12 +7635,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (41 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7652,12 +7652,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (42 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7669,12 +7669,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (43 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7686,12 +7686,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (44 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7703,12 +7703,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (45 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7720,12 +7720,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (46 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7737,12 +7737,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (47 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7754,12 +7754,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (48 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7771,12 +7771,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (49 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7788,12 +7788,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (50 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7805,12 +7805,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (51 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7822,12 +7822,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (52 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7839,12 +7839,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (53 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7856,12 +7856,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (54 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7873,12 +7873,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (55 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7890,12 +7890,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (56 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7907,12 +7907,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (57 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7924,12 +7924,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (58 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7941,12 +7941,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (59 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7958,12 +7958,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (60 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7975,12 +7975,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (61 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7992,12 +7992,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (62 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8009,12 +8009,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (63 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8026,12 +8026,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (64 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8043,12 +8043,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (65 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8060,12 +8060,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (66 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8077,12 +8077,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (67 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8094,12 +8094,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (68 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8111,12 +8111,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (69 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8128,12 +8128,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (70 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8145,12 +8145,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (71 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8162,12 +8162,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (72 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8179,12 +8179,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (73 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8196,12 +8196,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (74 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8213,12 +8213,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (75 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8230,12 +8230,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (76 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8247,12 +8247,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (77 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8264,12 +8264,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (78 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8281,12 +8281,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (79 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8298,12 +8298,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (80 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8315,12 +8315,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (81 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8332,12 +8332,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (82 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8349,12 +8349,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (83 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8366,12 +8366,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (84 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8383,12 +8383,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (85 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8400,12 +8400,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (86 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8417,12 +8417,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (87 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8434,12 +8434,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (88 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8451,12 +8451,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (89 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8468,12 +8468,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (90 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8485,12 +8485,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (91 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8502,12 +8502,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (92 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8519,12 +8519,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (93 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8536,12 +8536,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (94 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8553,12 +8553,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (95 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8570,12 +8570,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (96 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8587,12 +8587,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (97 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8604,12 +8604,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (98 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8621,12 +8621,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (99 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8638,12 +8638,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (100 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8655,12 +8655,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (101 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8672,12 +8672,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (102 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8689,12 +8689,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (103 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8706,12 +8706,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (104 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8723,12 +8723,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (105 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8740,12 +8740,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (106 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8757,12 +8757,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (107 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8774,12 +8774,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (108 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8791,12 +8791,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (109 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8808,12 +8808,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (110 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8825,12 +8825,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (111 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8842,12 +8842,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (112 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8859,12 +8859,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (113 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8876,12 +8876,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (114 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8893,12 +8893,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (115 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8910,12 +8910,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (116 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8927,12 +8927,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (117 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8944,12 +8944,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (118 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8961,12 +8961,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (119 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8978,12 +8978,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (120 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8995,12 +8995,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (121 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9012,12 +9012,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (122 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9029,12 +9029,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (123 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9046,12 +9046,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (124 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9063,12 +9063,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (125 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9080,12 +9080,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (126 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9097,12 +9097,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (127 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9114,12 +9114,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (128 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9131,12 +9131,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (129 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9148,12 +9148,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (130 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9165,12 +9165,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (131 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9182,12 +9182,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (132 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9199,12 +9199,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (133 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9216,12 +9216,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (134 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9233,12 +9233,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (135 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9250,12 +9250,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (136 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9267,12 +9267,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (137 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9284,12 +9284,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (138 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9301,12 +9301,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (139 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9318,12 +9318,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (140 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9335,12 +9335,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (141 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9352,12 +9352,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (142 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9369,12 +9369,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (143 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9386,12 +9386,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (144 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9403,12 +9403,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (145 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9420,12 +9420,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (146 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9437,12 +9437,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (147 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9454,12 +9454,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (148 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9471,12 +9471,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (149 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9488,12 +9488,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (150 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9505,12 +9505,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (151 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9522,12 +9522,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (152 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9539,12 +9539,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (153 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9556,12 +9556,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (154 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9573,12 +9573,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (155 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9590,12 +9590,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (156 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9607,12 +9607,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (157 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9624,12 +9624,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (158 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9641,12 +9641,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (159 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9658,12 +9658,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (160 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9675,12 +9675,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (161 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9692,12 +9692,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (162 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9709,12 +9709,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (163 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9726,12 +9726,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (164 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9743,12 +9743,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (165 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9760,12 +9760,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (166 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9777,12 +9777,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (167 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9794,12 +9794,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (168 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9811,12 +9811,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (169 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9828,12 +9828,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (170 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9845,12 +9845,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (171 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9862,12 +9862,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (172 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9879,12 +9879,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (173 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9896,12 +9896,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (174 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9913,12 +9913,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (175 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9930,12 +9930,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (176 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9947,12 +9947,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (177 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9964,12 +9964,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (178 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9981,12 +9981,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (179 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9998,12 +9998,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (180 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10015,12 +10015,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (181 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10032,12 +10032,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (182 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10049,12 +10049,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (183 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10066,12 +10066,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (184 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10083,12 +10083,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (185 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10100,12 +10100,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (186 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10117,12 +10117,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (187 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10134,12 +10134,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (188 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10151,12 +10151,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (189 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10168,12 +10168,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (190 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10185,12 +10185,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (191 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10202,12 +10202,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (192 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10219,12 +10219,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (193 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10236,12 +10236,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (194 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10253,12 +10253,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (195 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10270,12 +10270,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (196 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10287,12 +10287,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (197 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10304,12 +10304,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (198 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10321,12 +10321,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (199 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10338,12 +10338,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (200 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10355,12 +10355,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (201 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10372,12 +10372,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (202 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10389,12 +10389,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (203 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10406,12 +10406,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (204 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10423,12 +10423,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (205 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10440,12 +10440,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (206 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10457,12 +10457,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (207 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10474,12 +10474,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (208 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10491,12 +10491,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (209 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10508,12 +10508,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (210 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10525,12 +10525,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (211 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10542,12 +10542,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (212 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10559,12 +10559,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (213 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10576,12 +10576,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (214 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10593,12 +10593,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (215 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10610,12 +10610,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (216 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10627,12 +10627,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (217 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10644,12 +10644,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (218 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10661,12 +10661,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (219 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10678,12 +10678,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (220 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10695,12 +10695,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (221 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10712,12 +10712,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (222 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10729,12 +10729,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (223 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10746,12 +10746,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (224 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10763,12 +10763,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (225 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10780,12 +10780,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (226 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10797,12 +10797,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (227 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10814,12 +10814,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (228 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10831,12 +10831,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (229 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10848,12 +10848,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (230 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10865,12 +10865,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (231 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10882,12 +10882,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (232 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10899,12 +10899,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (233 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10916,12 +10916,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (234 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10933,12 +10933,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (235 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10950,12 +10950,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (236 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10967,12 +10967,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (237 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10984,12 +10984,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (238 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11001,12 +11001,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (239 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11018,12 +11018,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (240 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11035,12 +11035,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (241 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11052,12 +11052,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (242 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11069,12 +11069,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (243 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11086,12 +11086,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (244 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11103,12 +11103,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (245 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11120,12 +11120,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (246 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11137,12 +11137,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (247 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11154,12 +11154,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (248 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11171,12 +11171,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (249 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11188,12 +11188,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (250 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11205,12 +11205,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (251 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11222,12 +11222,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (252 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11239,12 +11239,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (253 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11256,12 +11256,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (254 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11273,12 +11273,12 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     ldr    xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET]            // refresh IBASE.
     adr    lr, artMterpAsmInstructionStart + (255 * 128)       // Addr of primary handler.
     mov    x0, xSELF
     add    x1, xFP, #OFF_FP_SHADOWFRAME
-    mov    x2, xPC
-    b      MterpCheckBefore     // (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    b      MterpCheckBefore     // (self, shadow_frame) Note: tail call.
 
     .balign 128
     .size   artMterpAsmAltInstructionStart, .-artMterpAsmAltInstructionStart
index fa1d5fb..daa6f2a 100644 (file)
@@ -8015,13 +8015,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (0 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8033,13 +8033,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (1 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8051,13 +8051,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (2 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8069,13 +8069,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (3 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8087,13 +8087,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (4 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8105,13 +8105,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (5 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8123,13 +8123,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (6 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8141,13 +8141,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (7 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8159,13 +8159,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (8 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8177,13 +8177,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (9 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8195,13 +8195,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (10 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8213,13 +8213,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (11 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8231,13 +8231,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (12 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8249,13 +8249,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (13 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8267,13 +8267,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (14 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8285,13 +8285,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (15 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8303,13 +8303,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (16 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8321,13 +8321,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (17 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8339,13 +8339,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (18 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8357,13 +8357,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (19 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8375,13 +8375,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (20 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8393,13 +8393,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (21 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8411,13 +8411,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (22 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8429,13 +8429,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (23 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8447,13 +8447,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (24 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8465,13 +8465,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (25 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8483,13 +8483,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (26 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8501,13 +8501,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (27 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8519,13 +8519,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (28 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8537,13 +8537,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (29 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8555,13 +8555,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (30 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8573,13 +8573,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (31 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8591,13 +8591,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (32 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8609,13 +8609,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (33 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8627,13 +8627,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (34 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8645,13 +8645,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (35 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8663,13 +8663,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (36 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8681,13 +8681,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (37 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8699,13 +8699,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (38 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8717,13 +8717,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (39 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8735,13 +8735,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (40 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8753,13 +8753,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (41 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8771,13 +8771,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (42 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8789,13 +8789,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (43 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8807,13 +8807,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (44 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8825,13 +8825,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (45 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8843,13 +8843,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (46 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8861,13 +8861,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (47 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8879,13 +8879,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (48 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8897,13 +8897,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (49 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8915,13 +8915,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (50 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8933,13 +8933,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (51 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8951,13 +8951,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (52 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8969,13 +8969,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (53 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -8987,13 +8987,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (54 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9005,13 +9005,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (55 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9023,13 +9023,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (56 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9041,13 +9041,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (57 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9059,13 +9059,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (58 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9077,13 +9077,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (59 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9095,13 +9095,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (60 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9113,13 +9113,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (61 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9131,13 +9131,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (62 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9149,13 +9149,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (63 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9167,13 +9167,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (64 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9185,13 +9185,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (65 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9203,13 +9203,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (66 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9221,13 +9221,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (67 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9239,13 +9239,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (68 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9257,13 +9257,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (69 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9275,13 +9275,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (70 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9293,13 +9293,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (71 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9311,13 +9311,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (72 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9329,13 +9329,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (73 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9347,13 +9347,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (74 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9365,13 +9365,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (75 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9383,13 +9383,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (76 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9401,13 +9401,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (77 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9419,13 +9419,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (78 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9437,13 +9437,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (79 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9455,13 +9455,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (80 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9473,13 +9473,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (81 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9491,13 +9491,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (82 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9509,13 +9509,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (83 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9527,13 +9527,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (84 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9545,13 +9545,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (85 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9563,13 +9563,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (86 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9581,13 +9581,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (87 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9599,13 +9599,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (88 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9617,13 +9617,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (89 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9635,13 +9635,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (90 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9653,13 +9653,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (91 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9671,13 +9671,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (92 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9689,13 +9689,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (93 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9707,13 +9707,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (94 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9725,13 +9725,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (95 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9743,13 +9743,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (96 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9761,13 +9761,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (97 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9779,13 +9779,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (98 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9797,13 +9797,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (99 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9815,13 +9815,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (100 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9833,13 +9833,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (101 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9851,13 +9851,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (102 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9869,13 +9869,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (103 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9887,13 +9887,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (104 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9905,13 +9905,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (105 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9923,13 +9923,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (106 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9941,13 +9941,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (107 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9959,13 +9959,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (108 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9977,13 +9977,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (109 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -9995,13 +9995,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (110 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10013,13 +10013,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (111 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10031,13 +10031,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (112 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10049,13 +10049,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (113 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10067,13 +10067,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (114 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10085,13 +10085,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (115 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10103,13 +10103,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (116 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10121,13 +10121,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (117 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10139,13 +10139,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (118 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10157,13 +10157,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (119 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10175,13 +10175,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (120 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10193,13 +10193,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (121 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10211,13 +10211,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (122 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10229,13 +10229,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (123 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10247,13 +10247,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (124 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10265,13 +10265,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (125 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10283,13 +10283,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (126 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10301,13 +10301,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (127 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10319,13 +10319,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (128 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10337,13 +10337,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (129 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10355,13 +10355,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (130 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10373,13 +10373,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (131 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10391,13 +10391,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (132 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10409,13 +10409,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (133 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10427,13 +10427,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (134 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10445,13 +10445,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (135 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10463,13 +10463,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (136 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10481,13 +10481,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (137 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10499,13 +10499,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (138 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10517,13 +10517,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (139 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10535,13 +10535,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (140 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10553,13 +10553,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (141 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10571,13 +10571,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (142 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10589,13 +10589,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (143 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10607,13 +10607,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (144 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10625,13 +10625,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (145 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10643,13 +10643,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (146 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10661,13 +10661,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (147 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10679,13 +10679,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (148 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10697,13 +10697,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (149 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10715,13 +10715,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (150 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10733,13 +10733,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (151 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10751,13 +10751,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (152 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10769,13 +10769,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (153 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10787,13 +10787,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (154 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10805,13 +10805,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (155 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10823,13 +10823,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (156 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10841,13 +10841,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (157 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10859,13 +10859,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (158 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10877,13 +10877,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (159 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10895,13 +10895,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (160 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10913,13 +10913,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (161 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10931,13 +10931,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (162 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10949,13 +10949,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (163 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10967,13 +10967,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (164 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -10985,13 +10985,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (165 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11003,13 +11003,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (166 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11021,13 +11021,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (167 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11039,13 +11039,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (168 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11057,13 +11057,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (169 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11075,13 +11075,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (170 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11093,13 +11093,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (171 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11111,13 +11111,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (172 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11129,13 +11129,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (173 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11147,13 +11147,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (174 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11165,13 +11165,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (175 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11183,13 +11183,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (176 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11201,13 +11201,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (177 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11219,13 +11219,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (178 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11237,13 +11237,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (179 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11255,13 +11255,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (180 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11273,13 +11273,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (181 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11291,13 +11291,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (182 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11309,13 +11309,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (183 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11327,13 +11327,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (184 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11345,13 +11345,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (185 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11363,13 +11363,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (186 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11381,13 +11381,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (187 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11399,13 +11399,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (188 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11417,13 +11417,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (189 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11435,13 +11435,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (190 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11453,13 +11453,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (191 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11471,13 +11471,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (192 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11489,13 +11489,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (193 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11507,13 +11507,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (194 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11525,13 +11525,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (195 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11543,13 +11543,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (196 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11561,13 +11561,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (197 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11579,13 +11579,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (198 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11597,13 +11597,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (199 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11615,13 +11615,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (200 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11633,13 +11633,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (201 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11651,13 +11651,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (202 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11669,13 +11669,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (203 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11687,13 +11687,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (204 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11705,13 +11705,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (205 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11723,13 +11723,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (206 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11741,13 +11741,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (207 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11759,13 +11759,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (208 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11777,13 +11777,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (209 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11795,13 +11795,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (210 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11813,13 +11813,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (211 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11831,13 +11831,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (212 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11849,13 +11849,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (213 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11867,13 +11867,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (214 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11885,13 +11885,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (215 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11903,13 +11903,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (216 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11921,13 +11921,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (217 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11939,13 +11939,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (218 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11957,13 +11957,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (219 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11975,13 +11975,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (220 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -11993,13 +11993,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (221 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12011,13 +12011,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (222 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12029,13 +12029,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (223 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12047,13 +12047,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (224 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12065,13 +12065,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (225 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12083,13 +12083,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (226 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12101,13 +12101,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (227 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12119,13 +12119,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (228 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12137,13 +12137,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (229 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12155,13 +12155,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (230 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12173,13 +12173,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (231 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12191,13 +12191,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (232 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12209,13 +12209,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (233 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12227,13 +12227,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (234 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12245,13 +12245,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (235 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12263,13 +12263,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (236 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12281,13 +12281,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (237 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12299,13 +12299,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (238 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12317,13 +12317,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (239 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12335,13 +12335,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (240 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12353,13 +12353,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (241 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12371,13 +12371,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (242 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12389,13 +12389,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (243 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12407,13 +12407,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (244 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12425,13 +12425,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (245 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12443,13 +12443,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (246 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12461,13 +12461,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (247 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12479,13 +12479,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (248 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12497,13 +12497,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (249 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12515,13 +12515,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (250 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12533,13 +12533,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (251 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12551,13 +12551,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (252 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12569,13 +12569,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (253 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12587,13 +12587,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (254 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
 /* ------------------------------ */
     .balign 128
@@ -12605,13 +12605,13 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.    Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC()
     la     ra, artMterpAsmInstructionStart + (255 * 128)   # Addr of primary handler
     lw     rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF)           # refresh IBASE
     move   a0, rSELF                    # arg0
     addu   a1, rFP, OFF_FP_SHADOWFRAME  # arg1
-    mov    a2, rPC
-    la     t9, MterpCheckBefore
-    jalr   zero, t9                     # Tail call to Mterp(self, shadow_frame, dex_pc_ptr)
+    la     a2, MterpCheckBefore
+    jalr   zero, a2                     # Tail call to Mterp(self, shadow_frame)
 
     .balign 128
     .size   artMterpAsmAltInstructionStart, .-artMterpAsmAltInstructionStart
index c493d14..29a12bf 100644 (file)
@@ -7190,14 +7190,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (0 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7209,14 +7209,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (1 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7228,14 +7228,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (2 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7247,14 +7247,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (3 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7266,14 +7266,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (4 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7285,14 +7285,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (5 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7304,14 +7304,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (6 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7323,14 +7323,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (7 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7342,14 +7342,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (8 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7361,14 +7361,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (9 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7380,14 +7380,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (10 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7399,14 +7399,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (11 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7418,14 +7418,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (12 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7437,14 +7437,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (13 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7456,14 +7456,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (14 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7475,14 +7475,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (15 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7494,14 +7494,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (16 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7513,14 +7513,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (17 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7532,14 +7532,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (18 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7551,14 +7551,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (19 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7570,14 +7570,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (20 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7589,14 +7589,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (21 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7608,14 +7608,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (22 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7627,14 +7627,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (23 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7646,14 +7646,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (24 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7665,14 +7665,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (25 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7684,14 +7684,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (26 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7703,14 +7703,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (27 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7722,14 +7722,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (28 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7741,14 +7741,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (29 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7760,14 +7760,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (30 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7779,14 +7779,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (31 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7798,14 +7798,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (32 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7817,14 +7817,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (33 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7836,14 +7836,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (34 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7855,14 +7855,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (35 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7874,14 +7874,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (36 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7893,14 +7893,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (37 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7912,14 +7912,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (38 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7931,14 +7931,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (39 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7950,14 +7950,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (40 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7969,14 +7969,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (41 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -7988,14 +7988,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (42 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8007,14 +8007,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (43 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8026,14 +8026,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (44 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8045,14 +8045,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (45 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8064,14 +8064,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (46 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8083,14 +8083,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (47 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8102,14 +8102,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (48 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8121,14 +8121,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (49 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8140,14 +8140,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (50 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8159,14 +8159,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (51 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8178,14 +8178,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (52 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8197,14 +8197,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (53 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8216,14 +8216,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (54 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8235,14 +8235,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (55 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8254,14 +8254,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (56 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8273,14 +8273,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (57 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8292,14 +8292,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (58 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8311,14 +8311,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (59 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8330,14 +8330,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (60 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8349,14 +8349,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (61 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8368,14 +8368,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (62 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8387,14 +8387,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (63 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8406,14 +8406,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (64 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8425,14 +8425,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (65 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8444,14 +8444,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (66 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8463,14 +8463,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (67 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8482,14 +8482,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (68 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8501,14 +8501,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (69 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8520,14 +8520,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (70 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8539,14 +8539,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (71 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8558,14 +8558,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (72 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8577,14 +8577,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (73 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8596,14 +8596,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (74 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8615,14 +8615,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (75 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8634,14 +8634,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (76 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8653,14 +8653,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (77 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8672,14 +8672,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (78 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8691,14 +8691,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (79 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8710,14 +8710,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (80 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8729,14 +8729,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (81 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8748,14 +8748,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (82 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8767,14 +8767,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (83 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8786,14 +8786,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (84 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8805,14 +8805,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (85 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8824,14 +8824,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (86 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8843,14 +8843,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (87 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8862,14 +8862,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (88 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8881,14 +8881,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (89 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8900,14 +8900,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (90 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8919,14 +8919,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (91 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8938,14 +8938,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (92 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8957,14 +8957,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (93 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8976,14 +8976,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (94 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -8995,14 +8995,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (95 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9014,14 +9014,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (96 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9033,14 +9033,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (97 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9052,14 +9052,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (98 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9071,14 +9071,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (99 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9090,14 +9090,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (100 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9109,14 +9109,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (101 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9128,14 +9128,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (102 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9147,14 +9147,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (103 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9166,14 +9166,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (104 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9185,14 +9185,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (105 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9204,14 +9204,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (106 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9223,14 +9223,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (107 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9242,14 +9242,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (108 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9261,14 +9261,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (109 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9280,14 +9280,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (110 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9299,14 +9299,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (111 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9318,14 +9318,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (112 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9337,14 +9337,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (113 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9356,14 +9356,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (114 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9375,14 +9375,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (115 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9394,14 +9394,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (116 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9413,14 +9413,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (117 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9432,14 +9432,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (118 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9451,14 +9451,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (119 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9470,14 +9470,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (120 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9489,14 +9489,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (121 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9508,14 +9508,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (122 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9527,14 +9527,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (123 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9546,14 +9546,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (124 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9565,14 +9565,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (125 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9584,14 +9584,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (126 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9603,14 +9603,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (127 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9622,14 +9622,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (128 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9641,14 +9641,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (129 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9660,14 +9660,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (130 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9679,14 +9679,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (131 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9698,14 +9698,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (132 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9717,14 +9717,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (133 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9736,14 +9736,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (134 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9755,14 +9755,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (135 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9774,14 +9774,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (136 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9793,14 +9793,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (137 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9812,14 +9812,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (138 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9831,14 +9831,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (139 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9850,14 +9850,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (140 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9869,14 +9869,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (141 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9888,14 +9888,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (142 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9907,14 +9907,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (143 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9926,14 +9926,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (144 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9945,14 +9945,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (145 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9964,14 +9964,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (146 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -9983,14 +9983,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (147 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10002,14 +10002,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (148 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10021,14 +10021,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (149 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10040,14 +10040,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (150 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10059,14 +10059,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (151 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10078,14 +10078,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (152 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10097,14 +10097,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (153 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10116,14 +10116,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (154 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10135,14 +10135,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (155 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10154,14 +10154,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (156 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10173,14 +10173,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (157 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10192,14 +10192,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (158 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10211,14 +10211,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (159 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10230,14 +10230,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (160 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10249,14 +10249,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (161 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10268,14 +10268,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (162 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10287,14 +10287,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (163 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10306,14 +10306,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (164 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10325,14 +10325,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (165 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10344,14 +10344,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (166 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10363,14 +10363,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (167 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10382,14 +10382,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (168 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10401,14 +10401,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (169 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10420,14 +10420,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (170 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10439,14 +10439,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (171 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10458,14 +10458,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (172 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10477,14 +10477,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (173 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10496,14 +10496,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (174 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10515,14 +10515,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (175 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10534,14 +10534,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (176 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10553,14 +10553,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (177 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10572,14 +10572,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (178 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10591,14 +10591,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (179 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10610,14 +10610,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (180 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10629,14 +10629,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (181 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10648,14 +10648,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (182 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10667,14 +10667,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (183 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10686,14 +10686,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (184 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10705,14 +10705,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (185 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10724,14 +10724,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (186 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10743,14 +10743,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (187 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10762,14 +10762,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (188 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10781,14 +10781,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (189 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10800,14 +10800,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (190 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10819,14 +10819,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (191 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10838,14 +10838,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (192 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10857,14 +10857,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (193 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10876,14 +10876,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (194 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10895,14 +10895,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (195 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10914,14 +10914,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (196 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10933,14 +10933,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (197 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10952,14 +10952,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (198 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10971,14 +10971,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (199 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -10990,14 +10990,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (200 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11009,14 +11009,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (201 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11028,14 +11028,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (202 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11047,14 +11047,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (203 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11066,14 +11066,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (204 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11085,14 +11085,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (205 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11104,14 +11104,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (206 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11123,14 +11123,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (207 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11142,14 +11142,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (208 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11161,14 +11161,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (209 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11180,14 +11180,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (210 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11199,14 +11199,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (211 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11218,14 +11218,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (212 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11237,14 +11237,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (213 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11256,14 +11256,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (214 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11275,14 +11275,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (215 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11294,14 +11294,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (216 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11313,14 +11313,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (217 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11332,14 +11332,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (218 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11351,14 +11351,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (219 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11370,14 +11370,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (220 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11389,14 +11389,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (221 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11408,14 +11408,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (222 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11427,14 +11427,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (223 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11446,14 +11446,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (224 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11465,14 +11465,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (225 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11484,14 +11484,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (226 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11503,14 +11503,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (227 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11522,14 +11522,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (228 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11541,14 +11541,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (229 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11560,14 +11560,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (230 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11579,14 +11579,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (231 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11598,14 +11598,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (232 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11617,14 +11617,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (233 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11636,14 +11636,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (234 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11655,14 +11655,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (235 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11674,14 +11674,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (236 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11693,14 +11693,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (237 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11712,14 +11712,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (238 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11731,14 +11731,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (239 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11750,14 +11750,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (240 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11769,14 +11769,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (241 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11788,14 +11788,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (242 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11807,14 +11807,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (243 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11826,14 +11826,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (244 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11845,14 +11845,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (245 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11864,14 +11864,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (246 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11883,14 +11883,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (247 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11902,14 +11902,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (248 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11921,14 +11921,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (249 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11940,14 +11940,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (250 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11959,14 +11959,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (251 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11978,14 +11978,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (252 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -11997,14 +11997,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (253 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -12016,14 +12016,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (254 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
 /* ------------------------------ */
     .balign 128
@@ -12035,14 +12035,14 @@ artMterpAsmAltInstructionStart = .L_ALT_op_nop
  * handler.  Note that the call to MterpCheckBefore is done as a tail call.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     dla     ra, artMterpAsmInstructionStart
     dla     t9, MterpCheckBefore
     move    a0, rSELF
     daddu   a1, rFP, OFF_FP_SHADOWFRAME
-    mov     a2, rPC
     daddu   ra, ra, (255 * 128)            # Addr of primary handler.
-    jalr    zero, t9                            # (self, shadow_frame, dex_pc_ptr) Note: tail call.
+    jalr    zero, t9                            # (self, shadow_frame) Note: tail call.
 
     .balign 128
     .size   artMterpAsmAltInstructionStart, .-artMterpAsmAltInstructionStart
index 5caaa80..f78e1bc 100644 (file)
@@ -6359,12 +6359,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(0*128)
 
@@ -6383,12 +6384,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(1*128)
 
@@ -6407,12 +6409,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(2*128)
 
@@ -6431,12 +6434,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(3*128)
 
@@ -6455,12 +6459,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(4*128)
 
@@ -6479,12 +6484,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(5*128)
 
@@ -6503,12 +6509,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(6*128)
 
@@ -6527,12 +6534,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(7*128)
 
@@ -6551,12 +6559,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(8*128)
 
@@ -6575,12 +6584,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(9*128)
 
@@ -6599,12 +6609,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(10*128)
 
@@ -6623,12 +6634,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(11*128)
 
@@ -6647,12 +6659,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(12*128)
 
@@ -6671,12 +6684,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(13*128)
 
@@ -6695,12 +6709,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(14*128)
 
@@ -6719,12 +6734,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(15*128)
 
@@ -6743,12 +6759,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(16*128)
 
@@ -6767,12 +6784,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(17*128)
 
@@ -6791,12 +6809,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(18*128)
 
@@ -6815,12 +6834,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(19*128)
 
@@ -6839,12 +6859,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(20*128)
 
@@ -6863,12 +6884,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(21*128)
 
@@ -6887,12 +6909,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(22*128)
 
@@ -6911,12 +6934,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(23*128)
 
@@ -6935,12 +6959,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(24*128)
 
@@ -6959,12 +6984,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(25*128)
 
@@ -6983,12 +7009,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(26*128)
 
@@ -7007,12 +7034,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(27*128)
 
@@ -7031,12 +7059,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(28*128)
 
@@ -7055,12 +7084,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(29*128)
 
@@ -7079,12 +7109,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(30*128)
 
@@ -7103,12 +7134,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(31*128)
 
@@ -7127,12 +7159,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(32*128)
 
@@ -7151,12 +7184,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(33*128)
 
@@ -7175,12 +7209,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(34*128)
 
@@ -7199,12 +7234,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(35*128)
 
@@ -7223,12 +7259,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(36*128)
 
@@ -7247,12 +7284,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(37*128)
 
@@ -7271,12 +7309,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(38*128)
 
@@ -7295,12 +7334,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(39*128)
 
@@ -7319,12 +7359,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(40*128)
 
@@ -7343,12 +7384,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(41*128)
 
@@ -7367,12 +7409,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(42*128)
 
@@ -7391,12 +7434,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(43*128)
 
@@ -7415,12 +7459,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(44*128)
 
@@ -7439,12 +7484,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(45*128)
 
@@ -7463,12 +7509,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(46*128)
 
@@ -7487,12 +7534,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(47*128)
 
@@ -7511,12 +7559,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(48*128)
 
@@ -7535,12 +7584,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(49*128)
 
@@ -7559,12 +7609,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(50*128)
 
@@ -7583,12 +7634,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(51*128)
 
@@ -7607,12 +7659,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(52*128)
 
@@ -7631,12 +7684,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(53*128)
 
@@ -7655,12 +7709,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(54*128)
 
@@ -7679,12 +7734,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(55*128)
 
@@ -7703,12 +7759,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(56*128)
 
@@ -7727,12 +7784,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(57*128)
 
@@ -7751,12 +7809,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(58*128)
 
@@ -7775,12 +7834,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(59*128)
 
@@ -7799,12 +7859,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(60*128)
 
@@ -7823,12 +7884,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(61*128)
 
@@ -7847,12 +7909,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(62*128)
 
@@ -7871,12 +7934,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(63*128)
 
@@ -7895,12 +7959,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(64*128)
 
@@ -7919,12 +7984,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(65*128)
 
@@ -7943,12 +8009,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(66*128)
 
@@ -7967,12 +8034,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(67*128)
 
@@ -7991,12 +8059,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(68*128)
 
@@ -8015,12 +8084,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(69*128)
 
@@ -8039,12 +8109,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(70*128)
 
@@ -8063,12 +8134,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(71*128)
 
@@ -8087,12 +8159,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(72*128)
 
@@ -8111,12 +8184,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(73*128)
 
@@ -8135,12 +8209,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(74*128)
 
@@ -8159,12 +8234,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(75*128)
 
@@ -8183,12 +8259,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(76*128)
 
@@ -8207,12 +8284,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(77*128)
 
@@ -8231,12 +8309,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(78*128)
 
@@ -8255,12 +8334,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(79*128)
 
@@ -8279,12 +8359,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(80*128)
 
@@ -8303,12 +8384,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(81*128)
 
@@ -8327,12 +8409,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(82*128)
 
@@ -8351,12 +8434,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(83*128)
 
@@ -8375,12 +8459,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(84*128)
 
@@ -8399,12 +8484,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(85*128)
 
@@ -8423,12 +8509,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(86*128)
 
@@ -8447,12 +8534,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(87*128)
 
@@ -8471,12 +8559,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(88*128)
 
@@ -8495,12 +8584,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(89*128)
 
@@ -8519,12 +8609,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(90*128)
 
@@ -8543,12 +8634,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(91*128)
 
@@ -8567,12 +8659,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(92*128)
 
@@ -8591,12 +8684,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(93*128)
 
@@ -8615,12 +8709,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(94*128)
 
@@ -8639,12 +8734,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(95*128)
 
@@ -8663,12 +8759,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(96*128)
 
@@ -8687,12 +8784,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(97*128)
 
@@ -8711,12 +8809,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(98*128)
 
@@ -8735,12 +8834,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(99*128)
 
@@ -8759,12 +8859,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(100*128)
 
@@ -8783,12 +8884,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(101*128)
 
@@ -8807,12 +8909,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(102*128)
 
@@ -8831,12 +8934,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(103*128)
 
@@ -8855,12 +8959,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(104*128)
 
@@ -8879,12 +8984,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(105*128)
 
@@ -8903,12 +9009,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(106*128)
 
@@ -8927,12 +9034,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(107*128)
 
@@ -8951,12 +9059,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(108*128)
 
@@ -8975,12 +9084,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(109*128)
 
@@ -8999,12 +9109,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(110*128)
 
@@ -9023,12 +9134,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(111*128)
 
@@ -9047,12 +9159,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(112*128)
 
@@ -9071,12 +9184,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(113*128)
 
@@ -9095,12 +9209,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(114*128)
 
@@ -9119,12 +9234,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(115*128)
 
@@ -9143,12 +9259,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(116*128)
 
@@ -9167,12 +9284,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(117*128)
 
@@ -9191,12 +9309,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(118*128)
 
@@ -9215,12 +9334,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(119*128)
 
@@ -9239,12 +9359,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(120*128)
 
@@ -9263,12 +9384,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(121*128)
 
@@ -9287,12 +9409,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(122*128)
 
@@ -9311,12 +9434,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(123*128)
 
@@ -9335,12 +9459,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(124*128)
 
@@ -9359,12 +9484,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(125*128)
 
@@ -9383,12 +9509,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(126*128)
 
@@ -9407,12 +9534,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(127*128)
 
@@ -9431,12 +9559,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(128*128)
 
@@ -9455,12 +9584,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(129*128)
 
@@ -9479,12 +9609,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(130*128)
 
@@ -9503,12 +9634,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(131*128)
 
@@ -9527,12 +9659,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(132*128)
 
@@ -9551,12 +9684,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(133*128)
 
@@ -9575,12 +9709,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(134*128)
 
@@ -9599,12 +9734,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(135*128)
 
@@ -9623,12 +9759,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(136*128)
 
@@ -9647,12 +9784,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(137*128)
 
@@ -9671,12 +9809,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(138*128)
 
@@ -9695,12 +9834,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(139*128)
 
@@ -9719,12 +9859,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(140*128)
 
@@ -9743,12 +9884,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(141*128)
 
@@ -9767,12 +9909,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(142*128)
 
@@ -9791,12 +9934,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(143*128)
 
@@ -9815,12 +9959,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(144*128)
 
@@ -9839,12 +9984,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(145*128)
 
@@ -9863,12 +10009,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(146*128)
 
@@ -9887,12 +10034,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(147*128)
 
@@ -9911,12 +10059,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(148*128)
 
@@ -9935,12 +10084,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(149*128)
 
@@ -9959,12 +10109,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(150*128)
 
@@ -9983,12 +10134,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(151*128)
 
@@ -10007,12 +10159,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(152*128)
 
@@ -10031,12 +10184,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(153*128)
 
@@ -10055,12 +10209,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(154*128)
 
@@ -10079,12 +10234,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(155*128)
 
@@ -10103,12 +10259,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(156*128)
 
@@ -10127,12 +10284,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(157*128)
 
@@ -10151,12 +10309,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(158*128)
 
@@ -10175,12 +10334,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(159*128)
 
@@ -10199,12 +10359,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(160*128)
 
@@ -10223,12 +10384,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(161*128)
 
@@ -10247,12 +10409,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(162*128)
 
@@ -10271,12 +10434,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(163*128)
 
@@ -10295,12 +10459,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(164*128)
 
@@ -10319,12 +10484,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(165*128)
 
@@ -10343,12 +10509,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(166*128)
 
@@ -10367,12 +10534,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(167*128)
 
@@ -10391,12 +10559,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(168*128)
 
@@ -10415,12 +10584,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(169*128)
 
@@ -10439,12 +10609,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(170*128)
 
@@ -10463,12 +10634,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(171*128)
 
@@ -10487,12 +10659,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(172*128)
 
@@ -10511,12 +10684,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(173*128)
 
@@ -10535,12 +10709,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(174*128)
 
@@ -10559,12 +10734,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(175*128)
 
@@ -10583,12 +10759,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(176*128)
 
@@ -10607,12 +10784,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(177*128)
 
@@ -10631,12 +10809,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(178*128)
 
@@ -10655,12 +10834,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(179*128)
 
@@ -10679,12 +10859,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(180*128)
 
@@ -10703,12 +10884,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(181*128)
 
@@ -10727,12 +10909,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(182*128)
 
@@ -10751,12 +10934,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(183*128)
 
@@ -10775,12 +10959,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(184*128)
 
@@ -10799,12 +10984,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(185*128)
 
@@ -10823,12 +11009,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(186*128)
 
@@ -10847,12 +11034,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(187*128)
 
@@ -10871,12 +11059,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(188*128)
 
@@ -10895,12 +11084,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(189*128)
 
@@ -10919,12 +11109,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(190*128)
 
@@ -10943,12 +11134,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(191*128)
 
@@ -10967,12 +11159,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(192*128)
 
@@ -10991,12 +11184,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(193*128)
 
@@ -11015,12 +11209,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(194*128)
 
@@ -11039,12 +11234,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(195*128)
 
@@ -11063,12 +11259,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(196*128)
 
@@ -11087,12 +11284,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(197*128)
 
@@ -11111,12 +11309,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(198*128)
 
@@ -11135,12 +11334,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(199*128)
 
@@ -11159,12 +11359,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(200*128)
 
@@ -11183,12 +11384,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(201*128)
 
@@ -11207,12 +11409,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(202*128)
 
@@ -11231,12 +11434,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(203*128)
 
@@ -11255,12 +11459,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(204*128)
 
@@ -11279,12 +11484,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(205*128)
 
@@ -11303,12 +11509,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(206*128)
 
@@ -11327,12 +11534,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(207*128)
 
@@ -11351,12 +11559,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(208*128)
 
@@ -11375,12 +11584,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(209*128)
 
@@ -11399,12 +11609,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(210*128)
 
@@ -11423,12 +11634,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(211*128)
 
@@ -11447,12 +11659,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(212*128)
 
@@ -11471,12 +11684,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(213*128)
 
@@ -11495,12 +11709,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(214*128)
 
@@ -11519,12 +11734,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(215*128)
 
@@ -11543,12 +11759,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(216*128)
 
@@ -11567,12 +11784,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(217*128)
 
@@ -11591,12 +11809,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(218*128)
 
@@ -11615,12 +11834,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(219*128)
 
@@ -11639,12 +11859,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(220*128)
 
@@ -11663,12 +11884,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(221*128)
 
@@ -11687,12 +11909,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(222*128)
 
@@ -11711,12 +11934,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(223*128)
 
@@ -11735,12 +11959,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(224*128)
 
@@ -11759,12 +11984,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(225*128)
 
@@ -11783,12 +12009,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(226*128)
 
@@ -11807,12 +12034,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(227*128)
 
@@ -11831,12 +12059,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(228*128)
 
@@ -11855,12 +12084,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(229*128)
 
@@ -11879,12 +12109,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(230*128)
 
@@ -11903,12 +12134,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(231*128)
 
@@ -11927,12 +12159,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(232*128)
 
@@ -11951,12 +12184,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(233*128)
 
@@ -11975,12 +12209,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(234*128)
 
@@ -11999,12 +12234,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(235*128)
 
@@ -12023,12 +12259,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(236*128)
 
@@ -12047,12 +12284,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(237*128)
 
@@ -12071,12 +12309,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(238*128)
 
@@ -12095,12 +12334,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(239*128)
 
@@ -12119,12 +12359,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(240*128)
 
@@ -12143,12 +12384,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(241*128)
 
@@ -12167,12 +12409,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(242*128)
 
@@ -12191,12 +12434,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(243*128)
 
@@ -12215,12 +12459,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(244*128)
 
@@ -12239,12 +12484,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(245*128)
 
@@ -12263,12 +12509,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(246*128)
 
@@ -12287,12 +12534,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(247*128)
 
@@ -12311,12 +12559,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(248*128)
 
@@ -12335,12 +12584,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(249*128)
 
@@ -12359,12 +12609,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(250*128)
 
@@ -12383,12 +12634,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(251*128)
 
@@ -12407,12 +12659,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(252*128)
 
@@ -12431,12 +12684,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(253*128)
 
@@ -12455,12 +12709,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(254*128)
 
@@ -12479,12 +12734,13 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(255*128)
 
index 9e2dcea..031cec8 100644 (file)
@@ -6124,11 +6124,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(0*128)
 
 /* ------------------------------ */
@@ -6146,11 +6146,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(1*128)
 
 /* ------------------------------ */
@@ -6168,11 +6168,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(2*128)
 
 /* ------------------------------ */
@@ -6190,11 +6190,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(3*128)
 
 /* ------------------------------ */
@@ -6212,11 +6212,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(4*128)
 
 /* ------------------------------ */
@@ -6234,11 +6234,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(5*128)
 
 /* ------------------------------ */
@@ -6256,11 +6256,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(6*128)
 
 /* ------------------------------ */
@@ -6278,11 +6278,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(7*128)
 
 /* ------------------------------ */
@@ -6300,11 +6300,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(8*128)
 
 /* ------------------------------ */
@@ -6322,11 +6322,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(9*128)
 
 /* ------------------------------ */
@@ -6344,11 +6344,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(10*128)
 
 /* ------------------------------ */
@@ -6366,11 +6366,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(11*128)
 
 /* ------------------------------ */
@@ -6388,11 +6388,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(12*128)
 
 /* ------------------------------ */
@@ -6410,11 +6410,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(13*128)
 
 /* ------------------------------ */
@@ -6432,11 +6432,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(14*128)
 
 /* ------------------------------ */
@@ -6454,11 +6454,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(15*128)
 
 /* ------------------------------ */
@@ -6476,11 +6476,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(16*128)
 
 /* ------------------------------ */
@@ -6498,11 +6498,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(17*128)
 
 /* ------------------------------ */
@@ -6520,11 +6520,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(18*128)
 
 /* ------------------------------ */
@@ -6542,11 +6542,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(19*128)
 
 /* ------------------------------ */
@@ -6564,11 +6564,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(20*128)
 
 /* ------------------------------ */
@@ -6586,11 +6586,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(21*128)
 
 /* ------------------------------ */
@@ -6608,11 +6608,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(22*128)
 
 /* ------------------------------ */
@@ -6630,11 +6630,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(23*128)
 
 /* ------------------------------ */
@@ -6652,11 +6652,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(24*128)
 
 /* ------------------------------ */
@@ -6674,11 +6674,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(25*128)
 
 /* ------------------------------ */
@@ -6696,11 +6696,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(26*128)
 
 /* ------------------------------ */
@@ -6718,11 +6718,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(27*128)
 
 /* ------------------------------ */
@@ -6740,11 +6740,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(28*128)
 
 /* ------------------------------ */
@@ -6762,11 +6762,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(29*128)
 
 /* ------------------------------ */
@@ -6784,11 +6784,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(30*128)
 
 /* ------------------------------ */
@@ -6806,11 +6806,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(31*128)
 
 /* ------------------------------ */
@@ -6828,11 +6828,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(32*128)
 
 /* ------------------------------ */
@@ -6850,11 +6850,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(33*128)
 
 /* ------------------------------ */
@@ -6872,11 +6872,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(34*128)
 
 /* ------------------------------ */
@@ -6894,11 +6894,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(35*128)
 
 /* ------------------------------ */
@@ -6916,11 +6916,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(36*128)
 
 /* ------------------------------ */
@@ -6938,11 +6938,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(37*128)
 
 /* ------------------------------ */
@@ -6960,11 +6960,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(38*128)
 
 /* ------------------------------ */
@@ -6982,11 +6982,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(39*128)
 
 /* ------------------------------ */
@@ -7004,11 +7004,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(40*128)
 
 /* ------------------------------ */
@@ -7026,11 +7026,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(41*128)
 
 /* ------------------------------ */
@@ -7048,11 +7048,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(42*128)
 
 /* ------------------------------ */
@@ -7070,11 +7070,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(43*128)
 
 /* ------------------------------ */
@@ -7092,11 +7092,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(44*128)
 
 /* ------------------------------ */
@@ -7114,11 +7114,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(45*128)
 
 /* ------------------------------ */
@@ -7136,11 +7136,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(46*128)
 
 /* ------------------------------ */
@@ -7158,11 +7158,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(47*128)
 
 /* ------------------------------ */
@@ -7180,11 +7180,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(48*128)
 
 /* ------------------------------ */
@@ -7202,11 +7202,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(49*128)
 
 /* ------------------------------ */
@@ -7224,11 +7224,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(50*128)
 
 /* ------------------------------ */
@@ -7246,11 +7246,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(51*128)
 
 /* ------------------------------ */
@@ -7268,11 +7268,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(52*128)
 
 /* ------------------------------ */
@@ -7290,11 +7290,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(53*128)
 
 /* ------------------------------ */
@@ -7312,11 +7312,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(54*128)
 
 /* ------------------------------ */
@@ -7334,11 +7334,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(55*128)
 
 /* ------------------------------ */
@@ -7356,11 +7356,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(56*128)
 
 /* ------------------------------ */
@@ -7378,11 +7378,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(57*128)
 
 /* ------------------------------ */
@@ -7400,11 +7400,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(58*128)
 
 /* ------------------------------ */
@@ -7422,11 +7422,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(59*128)
 
 /* ------------------------------ */
@@ -7444,11 +7444,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(60*128)
 
 /* ------------------------------ */
@@ -7466,11 +7466,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(61*128)
 
 /* ------------------------------ */
@@ -7488,11 +7488,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(62*128)
 
 /* ------------------------------ */
@@ -7510,11 +7510,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(63*128)
 
 /* ------------------------------ */
@@ -7532,11 +7532,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(64*128)
 
 /* ------------------------------ */
@@ -7554,11 +7554,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(65*128)
 
 /* ------------------------------ */
@@ -7576,11 +7576,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(66*128)
 
 /* ------------------------------ */
@@ -7598,11 +7598,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(67*128)
 
 /* ------------------------------ */
@@ -7620,11 +7620,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(68*128)
 
 /* ------------------------------ */
@@ -7642,11 +7642,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(69*128)
 
 /* ------------------------------ */
@@ -7664,11 +7664,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(70*128)
 
 /* ------------------------------ */
@@ -7686,11 +7686,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(71*128)
 
 /* ------------------------------ */
@@ -7708,11 +7708,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(72*128)
 
 /* ------------------------------ */
@@ -7730,11 +7730,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(73*128)
 
 /* ------------------------------ */
@@ -7752,11 +7752,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(74*128)
 
 /* ------------------------------ */
@@ -7774,11 +7774,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(75*128)
 
 /* ------------------------------ */
@@ -7796,11 +7796,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(76*128)
 
 /* ------------------------------ */
@@ -7818,11 +7818,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(77*128)
 
 /* ------------------------------ */
@@ -7840,11 +7840,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(78*128)
 
 /* ------------------------------ */
@@ -7862,11 +7862,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(79*128)
 
 /* ------------------------------ */
@@ -7884,11 +7884,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(80*128)
 
 /* ------------------------------ */
@@ -7906,11 +7906,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(81*128)
 
 /* ------------------------------ */
@@ -7928,11 +7928,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(82*128)
 
 /* ------------------------------ */
@@ -7950,11 +7950,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(83*128)
 
 /* ------------------------------ */
@@ -7972,11 +7972,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(84*128)
 
 /* ------------------------------ */
@@ -7994,11 +7994,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(85*128)
 
 /* ------------------------------ */
@@ -8016,11 +8016,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(86*128)
 
 /* ------------------------------ */
@@ -8038,11 +8038,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(87*128)
 
 /* ------------------------------ */
@@ -8060,11 +8060,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(88*128)
 
 /* ------------------------------ */
@@ -8082,11 +8082,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(89*128)
 
 /* ------------------------------ */
@@ -8104,11 +8104,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(90*128)
 
 /* ------------------------------ */
@@ -8126,11 +8126,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(91*128)
 
 /* ------------------------------ */
@@ -8148,11 +8148,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(92*128)
 
 /* ------------------------------ */
@@ -8170,11 +8170,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(93*128)
 
 /* ------------------------------ */
@@ -8192,11 +8192,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(94*128)
 
 /* ------------------------------ */
@@ -8214,11 +8214,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(95*128)
 
 /* ------------------------------ */
@@ -8236,11 +8236,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(96*128)
 
 /* ------------------------------ */
@@ -8258,11 +8258,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(97*128)
 
 /* ------------------------------ */
@@ -8280,11 +8280,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(98*128)
 
 /* ------------------------------ */
@@ -8302,11 +8302,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(99*128)
 
 /* ------------------------------ */
@@ -8324,11 +8324,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(100*128)
 
 /* ------------------------------ */
@@ -8346,11 +8346,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(101*128)
 
 /* ------------------------------ */
@@ -8368,11 +8368,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(102*128)
 
 /* ------------------------------ */
@@ -8390,11 +8390,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(103*128)
 
 /* ------------------------------ */
@@ -8412,11 +8412,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(104*128)
 
 /* ------------------------------ */
@@ -8434,11 +8434,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(105*128)
 
 /* ------------------------------ */
@@ -8456,11 +8456,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(106*128)
 
 /* ------------------------------ */
@@ -8478,11 +8478,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(107*128)
 
 /* ------------------------------ */
@@ -8500,11 +8500,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(108*128)
 
 /* ------------------------------ */
@@ -8522,11 +8522,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(109*128)
 
 /* ------------------------------ */
@@ -8544,11 +8544,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(110*128)
 
 /* ------------------------------ */
@@ -8566,11 +8566,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(111*128)
 
 /* ------------------------------ */
@@ -8588,11 +8588,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(112*128)
 
 /* ------------------------------ */
@@ -8610,11 +8610,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(113*128)
 
 /* ------------------------------ */
@@ -8632,11 +8632,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(114*128)
 
 /* ------------------------------ */
@@ -8654,11 +8654,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(115*128)
 
 /* ------------------------------ */
@@ -8676,11 +8676,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(116*128)
 
 /* ------------------------------ */
@@ -8698,11 +8698,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(117*128)
 
 /* ------------------------------ */
@@ -8720,11 +8720,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(118*128)
 
 /* ------------------------------ */
@@ -8742,11 +8742,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(119*128)
 
 /* ------------------------------ */
@@ -8764,11 +8764,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(120*128)
 
 /* ------------------------------ */
@@ -8786,11 +8786,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(121*128)
 
 /* ------------------------------ */
@@ -8808,11 +8808,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(122*128)
 
 /* ------------------------------ */
@@ -8830,11 +8830,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(123*128)
 
 /* ------------------------------ */
@@ -8852,11 +8852,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(124*128)
 
 /* ------------------------------ */
@@ -8874,11 +8874,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(125*128)
 
 /* ------------------------------ */
@@ -8896,11 +8896,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(126*128)
 
 /* ------------------------------ */
@@ -8918,11 +8918,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(127*128)
 
 /* ------------------------------ */
@@ -8940,11 +8940,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(128*128)
 
 /* ------------------------------ */
@@ -8962,11 +8962,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(129*128)
 
 /* ------------------------------ */
@@ -8984,11 +8984,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(130*128)
 
 /* ------------------------------ */
@@ -9006,11 +9006,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(131*128)
 
 /* ------------------------------ */
@@ -9028,11 +9028,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(132*128)
 
 /* ------------------------------ */
@@ -9050,11 +9050,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(133*128)
 
 /* ------------------------------ */
@@ -9072,11 +9072,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(134*128)
 
 /* ------------------------------ */
@@ -9094,11 +9094,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(135*128)
 
 /* ------------------------------ */
@@ -9116,11 +9116,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(136*128)
 
 /* ------------------------------ */
@@ -9138,11 +9138,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(137*128)
 
 /* ------------------------------ */
@@ -9160,11 +9160,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(138*128)
 
 /* ------------------------------ */
@@ -9182,11 +9182,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(139*128)
 
 /* ------------------------------ */
@@ -9204,11 +9204,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(140*128)
 
 /* ------------------------------ */
@@ -9226,11 +9226,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(141*128)
 
 /* ------------------------------ */
@@ -9248,11 +9248,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(142*128)
 
 /* ------------------------------ */
@@ -9270,11 +9270,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(143*128)
 
 /* ------------------------------ */
@@ -9292,11 +9292,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(144*128)
 
 /* ------------------------------ */
@@ -9314,11 +9314,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(145*128)
 
 /* ------------------------------ */
@@ -9336,11 +9336,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(146*128)
 
 /* ------------------------------ */
@@ -9358,11 +9358,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(147*128)
 
 /* ------------------------------ */
@@ -9380,11 +9380,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(148*128)
 
 /* ------------------------------ */
@@ -9402,11 +9402,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(149*128)
 
 /* ------------------------------ */
@@ -9424,11 +9424,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(150*128)
 
 /* ------------------------------ */
@@ -9446,11 +9446,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(151*128)
 
 /* ------------------------------ */
@@ -9468,11 +9468,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(152*128)
 
 /* ------------------------------ */
@@ -9490,11 +9490,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(153*128)
 
 /* ------------------------------ */
@@ -9512,11 +9512,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(154*128)
 
 /* ------------------------------ */
@@ -9534,11 +9534,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(155*128)
 
 /* ------------------------------ */
@@ -9556,11 +9556,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(156*128)
 
 /* ------------------------------ */
@@ -9578,11 +9578,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(157*128)
 
 /* ------------------------------ */
@@ -9600,11 +9600,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(158*128)
 
 /* ------------------------------ */
@@ -9622,11 +9622,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(159*128)
 
 /* ------------------------------ */
@@ -9644,11 +9644,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(160*128)
 
 /* ------------------------------ */
@@ -9666,11 +9666,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(161*128)
 
 /* ------------------------------ */
@@ -9688,11 +9688,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(162*128)
 
 /* ------------------------------ */
@@ -9710,11 +9710,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(163*128)
 
 /* ------------------------------ */
@@ -9732,11 +9732,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(164*128)
 
 /* ------------------------------ */
@@ -9754,11 +9754,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(165*128)
 
 /* ------------------------------ */
@@ -9776,11 +9776,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(166*128)
 
 /* ------------------------------ */
@@ -9798,11 +9798,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(167*128)
 
 /* ------------------------------ */
@@ -9820,11 +9820,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(168*128)
 
 /* ------------------------------ */
@@ -9842,11 +9842,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(169*128)
 
 /* ------------------------------ */
@@ -9864,11 +9864,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(170*128)
 
 /* ------------------------------ */
@@ -9886,11 +9886,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(171*128)
 
 /* ------------------------------ */
@@ -9908,11 +9908,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(172*128)
 
 /* ------------------------------ */
@@ -9930,11 +9930,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(173*128)
 
 /* ------------------------------ */
@@ -9952,11 +9952,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(174*128)
 
 /* ------------------------------ */
@@ -9974,11 +9974,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(175*128)
 
 /* ------------------------------ */
@@ -9996,11 +9996,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(176*128)
 
 /* ------------------------------ */
@@ -10018,11 +10018,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(177*128)
 
 /* ------------------------------ */
@@ -10040,11 +10040,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(178*128)
 
 /* ------------------------------ */
@@ -10062,11 +10062,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(179*128)
 
 /* ------------------------------ */
@@ -10084,11 +10084,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(180*128)
 
 /* ------------------------------ */
@@ -10106,11 +10106,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(181*128)
 
 /* ------------------------------ */
@@ -10128,11 +10128,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(182*128)
 
 /* ------------------------------ */
@@ -10150,11 +10150,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(183*128)
 
 /* ------------------------------ */
@@ -10172,11 +10172,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(184*128)
 
 /* ------------------------------ */
@@ -10194,11 +10194,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(185*128)
 
 /* ------------------------------ */
@@ -10216,11 +10216,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(186*128)
 
 /* ------------------------------ */
@@ -10238,11 +10238,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(187*128)
 
 /* ------------------------------ */
@@ -10260,11 +10260,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(188*128)
 
 /* ------------------------------ */
@@ -10282,11 +10282,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(189*128)
 
 /* ------------------------------ */
@@ -10304,11 +10304,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(190*128)
 
 /* ------------------------------ */
@@ -10326,11 +10326,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(191*128)
 
 /* ------------------------------ */
@@ -10348,11 +10348,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(192*128)
 
 /* ------------------------------ */
@@ -10370,11 +10370,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(193*128)
 
 /* ------------------------------ */
@@ -10392,11 +10392,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(194*128)
 
 /* ------------------------------ */
@@ -10414,11 +10414,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(195*128)
 
 /* ------------------------------ */
@@ -10436,11 +10436,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(196*128)
 
 /* ------------------------------ */
@@ -10458,11 +10458,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(197*128)
 
 /* ------------------------------ */
@@ -10480,11 +10480,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(198*128)
 
 /* ------------------------------ */
@@ -10502,11 +10502,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(199*128)
 
 /* ------------------------------ */
@@ -10524,11 +10524,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(200*128)
 
 /* ------------------------------ */
@@ -10546,11 +10546,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(201*128)
 
 /* ------------------------------ */
@@ -10568,11 +10568,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(202*128)
 
 /* ------------------------------ */
@@ -10590,11 +10590,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(203*128)
 
 /* ------------------------------ */
@@ -10612,11 +10612,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(204*128)
 
 /* ------------------------------ */
@@ -10634,11 +10634,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(205*128)
 
 /* ------------------------------ */
@@ -10656,11 +10656,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(206*128)
 
 /* ------------------------------ */
@@ -10678,11 +10678,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(207*128)
 
 /* ------------------------------ */
@@ -10700,11 +10700,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(208*128)
 
 /* ------------------------------ */
@@ -10722,11 +10722,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(209*128)
 
 /* ------------------------------ */
@@ -10744,11 +10744,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(210*128)
 
 /* ------------------------------ */
@@ -10766,11 +10766,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(211*128)
 
 /* ------------------------------ */
@@ -10788,11 +10788,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(212*128)
 
 /* ------------------------------ */
@@ -10810,11 +10810,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(213*128)
 
 /* ------------------------------ */
@@ -10832,11 +10832,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(214*128)
 
 /* ------------------------------ */
@@ -10854,11 +10854,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(215*128)
 
 /* ------------------------------ */
@@ -10876,11 +10876,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(216*128)
 
 /* ------------------------------ */
@@ -10898,11 +10898,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(217*128)
 
 /* ------------------------------ */
@@ -10920,11 +10920,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(218*128)
 
 /* ------------------------------ */
@@ -10942,11 +10942,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(219*128)
 
 /* ------------------------------ */
@@ -10964,11 +10964,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(220*128)
 
 /* ------------------------------ */
@@ -10986,11 +10986,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(221*128)
 
 /* ------------------------------ */
@@ -11008,11 +11008,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(222*128)
 
 /* ------------------------------ */
@@ -11030,11 +11030,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(223*128)
 
 /* ------------------------------ */
@@ -11052,11 +11052,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(224*128)
 
 /* ------------------------------ */
@@ -11074,11 +11074,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(225*128)
 
 /* ------------------------------ */
@@ -11096,11 +11096,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(226*128)
 
 /* ------------------------------ */
@@ -11118,11 +11118,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(227*128)
 
 /* ------------------------------ */
@@ -11140,11 +11140,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(228*128)
 
 /* ------------------------------ */
@@ -11162,11 +11162,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(229*128)
 
 /* ------------------------------ */
@@ -11184,11 +11184,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(230*128)
 
 /* ------------------------------ */
@@ -11206,11 +11206,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(231*128)
 
 /* ------------------------------ */
@@ -11228,11 +11228,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(232*128)
 
 /* ------------------------------ */
@@ -11250,11 +11250,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(233*128)
 
 /* ------------------------------ */
@@ -11272,11 +11272,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(234*128)
 
 /* ------------------------------ */
@@ -11294,11 +11294,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(235*128)
 
 /* ------------------------------ */
@@ -11316,11 +11316,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(236*128)
 
 /* ------------------------------ */
@@ -11338,11 +11338,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(237*128)
 
 /* ------------------------------ */
@@ -11360,11 +11360,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(238*128)
 
 /* ------------------------------ */
@@ -11382,11 +11382,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(239*128)
 
 /* ------------------------------ */
@@ -11404,11 +11404,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(240*128)
 
 /* ------------------------------ */
@@ -11426,11 +11426,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(241*128)
 
 /* ------------------------------ */
@@ -11448,11 +11448,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(242*128)
 
 /* ------------------------------ */
@@ -11470,11 +11470,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(243*128)
 
 /* ------------------------------ */
@@ -11492,11 +11492,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(244*128)
 
 /* ------------------------------ */
@@ -11514,11 +11514,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(245*128)
 
 /* ------------------------------ */
@@ -11536,11 +11536,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(246*128)
 
 /* ------------------------------ */
@@ -11558,11 +11558,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(247*128)
 
 /* ------------------------------ */
@@ -11580,11 +11580,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(248*128)
 
 /* ------------------------------ */
@@ -11602,11 +11602,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(249*128)
 
 /* ------------------------------ */
@@ -11624,11 +11624,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(250*128)
 
 /* ------------------------------ */
@@ -11646,11 +11646,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(251*128)
 
 /* ------------------------------ */
@@ -11668,11 +11668,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(252*128)
 
 /* ------------------------------ */
@@ -11690,11 +11690,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(253*128)
 
 /* ------------------------------ */
@@ -11712,11 +11712,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(254*128)
 
 /* ------------------------------ */
@@ -11734,11 +11734,11 @@ SYMBOL(artMterpAsmAltInstructionStart) = .L_ALT_op_nop
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(255*128)
 
     .balign 128
index a5b39b8..5a91167 100644 (file)
@@ -9,11 +9,12 @@
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
+
     movl    rSELF, %ecx
     movl    %ecx, OUT_ARG0(%esp)
     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     movl    %eax, OUT_ARG1(%esp)
-    movl    rPC, OUT_ARG2(%esp)
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     REFRESH_IBASE
     jmp     .L_op_nop+(${opnum}*${handler_size_bytes})
index 24cd1a8..6fcebbb 100644 (file)
@@ -9,9 +9,9 @@
  * return.
  */
     .extern MterpCheckBefore
+    EXPORT_PC
     REFRESH_IBASE
     movq    rSELF, OUT_ARG0
     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
-    movq    rPC, OUT_ARG2
-    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame, dex_pc_ptr)
+    call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     jmp     .L_op_nop+(${opnum}*${handler_size_bytes})
index bf48cc4..e77ab46 100644 (file)
@@ -210,10 +210,6 @@ class ShadowFrame {
     code_item_ = code_item;
   }
 
-  const DexFile::CodeItem* GetCodeItem() const {
-    return code_item_;
-  }
-
   float GetVRegFloat(size_t i) const {
     DCHECK_LT(i, NumberOfVRegs());
     // NOTE: Strict-aliasing?
@@ -411,10 +407,6 @@ class ShadowFrame {
     return dex_pc_ptr_;
   }
 
-  void SetDexPCPtr(uint16_t* dex_pc_ptr) {
-    dex_pc_ptr_ = dex_pc_ptr;
-  }
-
   JValue* GetResultRegister() {
     return result_register_;
   }