From d3401278c919a32168d6b8dc553f46370aa23cab Mon Sep 17 00:00:00 2001 From: Alex Light Date: Wed, 28 Jun 2017 20:07:31 -0700 Subject: 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 --- runtime/interpreter/interpreter_switch_impl.cc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'runtime/interpreter/interpreter_switch_impl.cc') diff --git a/runtime/interpreter/interpreter_switch_impl.cc b/runtime/interpreter/interpreter_switch_impl.cc index a7a2d1264f..de8c44e304 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 @@ namespace interpreter { // 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, -- cgit v1.2.3-59-g8ed1b