1 // Copyright 2013 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // MemorySanitizer support. 6 7 #ifndef V8_MSAN_H_ 8 #define V8_MSAN_H_ 9 10 #include "src/globals.h" 11 12 #ifndef __has_feature 13 # define __has_feature(x) 0 14 #endif 15 16 #if __has_feature(memory_sanitizer) && !defined(MEMORY_SANITIZER) 17 # define MEMORY_SANITIZER 18 #endif 19 20 #if defined(MEMORY_SANITIZER) && !defined(USE_SIMULATOR) 21 # include <sanitizer/msan_interface.h> // NOLINT 22 // Marks a memory range as fully initialized. 23 # define MSAN_MEMORY_IS_INITIALIZED_IN_JIT(p, s) __msan_unpoison((p), (s)) 24 #else 25 # define MSAN_MEMORY_IS_INITIALIZED_IN_JIT(p, s) 26 #endif 27 28 #endif // V8_MSAN_H_ 29