summaryrefslogtreecommitdiff
path: root/runtime/interpreter/interpreter_switch_impl.cc
diff options
context:
space:
mode:
author Alex Light <allight@google.com> 2018-10-05 23:11:42 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2018-10-05 23:11:42 +0000
commitbc550bbbf2fcd82b5b888683a4e3708a26d0efe6 (patch)
tree30f65424390be7e2b648f0e727bc555fc852aa88 /runtime/interpreter/interpreter_switch_impl.cc
parent0614de7055d009118e0687658687dcb55963de94 (diff)
parent6f22e06c0a4ca9bdcd1bb2df7352e3cca791a803 (diff)
Merge "Disable ASAN for ExecuteSwitchImplCpp"
Diffstat (limited to 'runtime/interpreter/interpreter_switch_impl.cc')
-rw-r--r--runtime/interpreter/interpreter_switch_impl.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/interpreter/interpreter_switch_impl.cc b/runtime/interpreter/interpreter_switch_impl.cc
index c4b03b2563..cb64ff402a 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 "base/quasi_atomic.h"
#include "dex/dex_file_types.h"
#include "experimental_flags.h"
@@ -256,8 +257,11 @@ NO_INLINE static bool SendMethodExitEvents(Thread* self,
}
}
+// TODO On ASAN builds this function gets a huge stack frame. Since normally we run in the mterp
+// this shouldn't cause any problems for stack overflow detection. Remove this once b/117341496 is
+// fixed.
template<bool do_access_check, bool transaction_active>
-void ExecuteSwitchImplCpp(SwitchImplContext* ctx) {
+ATTRIBUTE_NO_SANITIZE_ADDRESS void ExecuteSwitchImplCpp(SwitchImplContext* ctx) {
Thread* self = ctx->self;
const CodeItemDataAccessor& accessor = ctx->accessor;
ShadowFrame& shadow_frame = ctx->shadow_frame;