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,