Force DoDexPcMoveEvent to be NO_INLINE with ASAN

The function ExecuteSwitchImpl is made far larger then the limit when
we build with asan because of inlining this function.

Bug: 63118894
Test: make -j49 droid ASAN_OPTIONS=detect_leaks=0 SANITIZE_HOST=address

Follow up to: I70f76ba7a876bc57204d379295a6d75e5bcefb45

Change-Id: I25c143715386bee74e99358062eeb2404e029e32
diff --git a/runtime/interpreter/interpreter_switch_impl.cc b/runtime/interpreter/interpreter_switch_impl.cc
index a7a2d12..de8c44e 100644
--- a/runtime/interpreter/interpreter_switch_impl.cc
+++ b/runtime/interpreter/interpreter_switch_impl.cc
@@ -17,6 +17,7 @@
 #include "interpreter_switch_impl.h"
 
 #include "base/enums.h"
+#include "base/memory_tool.h"
 #include "experimental_flags.h"
 #include "interpreter_common.h"
 #include "jit/jit.h"
@@ -118,6 +119,9 @@
 // to detect exceptions thrown by the DexPcMovedEvent itself. These exceptions could be thrown by
 // jvmti-agents while handling breakpoint or single step events. We had to move this into its own
 // function because it was making ExecuteSwitchImpl have too large a stack.
+#ifdef ADDRESS_SANITIZER
+NO_INLINE
+#endif  // ADDRESS_SANITIZER
 static bool DoDexPcMoveEvent(Thread* self,
                              const DexFile::CodeItem* code_item,
                              const ShadowFrame& shadow_frame,