Introduce DISABLE_ASAN macro to disable AddressSanitizer instrumentation for given functions.

Disable AddressSanitizer instrumentation for StackTracer::Trace.

R=danno@chromium.org
BUG=chromium:134722

Review URL: https://chromiumcodereview.appspot.com/10834430

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
vegorov@chromium.org 2012-08-21 14:21:53 +00:00
parent 3209f3bf87
commit 1a6cd523c8
2 changed files with 15 additions and 1 deletions

View File

@ -360,6 +360,20 @@ F FUNCTION_CAST(Address addr) {
#define MUST_USE_RESULT
#endif
// Define DISABLE_ASAN macros.
#if defined(__has_feature)
#if __has_feature(address_sanitizer)
#define DISABLE_ASAN __attribute__((no_address_safety_analysis))
#endif
#endif
#ifndef DISABLE_ASAN
#define DISABLE_ASAN
#endif
// -----------------------------------------------------------------------------
// Forward declarations for frequently used classes
// (sorted alphabetically)

View File

@ -145,7 +145,7 @@ class Profiler: public Thread {
//
// StackTracer implementation
//
void StackTracer::Trace(Isolate* isolate, TickSample* sample) {
DISABLE_ASAN void StackTracer::Trace(Isolate* isolate, TickSample* sample) {
ASSERT(isolate->IsInitialized());
// Avoid collecting traces while doing GC.