Home | History | Annotate | Download | only in src
      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