Bug 1314169: Blacklist WasmFaultHandler from ASan on Windows. r=luke
authorDavid Major <dmajor@mozilla.com>
Mon, 31 Oct 2016 20:09:25 -0500
changeset 347234 d34efa945a2005cada2706318a44dbc804e7861b
parent 347233 aba9bfae0d98e344149e370b7b2d13fcbaa6b546
child 347235 50e030bdef66720a25c976f0066a9ab2ee86c101
push id10298
push userraliiev@mozilla.com
push dateMon, 14 Nov 2016 12:33:03 +0000
treeherdermozilla-aurora@7e29173b1641 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersluke
bugs1314169
milestone52.0a1
Bug 1314169: Blacklist WasmFaultHandler from ASan on Windows. r=luke
js/src/asmjs/WasmSignalHandlers.cpp
--- a/js/src/asmjs/WasmSignalHandlers.cpp
+++ b/js/src/asmjs/WasmSignalHandlers.cpp
@@ -772,17 +772,17 @@ IsHeapAccessAddress(const Instance &inst
 
     return instance.metadata().usesMemory() &&
            faultingAddress >= instance.memoryBase() &&
            faultingAddress < instance.memoryBase() + accessLimit;
 }
 
 #if defined(XP_WIN)
 
-static bool
+MOZ_ASAN_BLACKLIST static bool
 HandleFault(PEXCEPTION_POINTERS exception)
 {
     EXCEPTION_RECORD* record = exception->ExceptionRecord;
     CONTEXT* context = exception->ContextRecord;
 
     if (record->ExceptionCode != EXCEPTION_ACCESS_VIOLATION)
         return false;
 
@@ -826,17 +826,17 @@ HandleFault(PEXCEPTION_POINTERS exceptio
         return pc == instance->codeSegment().interruptCode() &&
                instance->codeSegment().containsFunctionPC(activation->resumePC());
     }
 
     HandleMemoryAccess(context, pc, faultingAddress, *instance, ppc);
     return true;
 }
 
-static LONG WINAPI
+MOZ_ASAN_BLACKLIST static LONG WINAPI
 WasmFaultHandler(LPEXCEPTION_POINTERS exception)
 {
     if (HandleFault(exception))
         return EXCEPTION_CONTINUE_EXECUTION;
 
     // No need to worry about calling other handlers, the OS does this for us.
     return EXCEPTION_CONTINUE_SEARCH;
 }