# This file contains suppressions for the Dr.Memory tool, see
# http://dev.chromium.org/developers/how-tos/using-drmemory


# Intended alloc failure
WARNING
name=unittests:fxcrt.FX_AllocOverflow
drmemorylib.dll!replace_calloc
...
*!fxcrt_FX_*AllocOverflow*_Test::TestBody

# DrMem-i#471: simple floating register copy without meaningful usage
UNINITIALIZED READ
name=embeddertests:DrM-i#471
*!v8::internal::RegisterValues::GetDoubleRegister
*!v8::internal::FrameDescription::GetDoubleRegister
*!v8::internal::Deoptimizer::CopyDoubleRegisters
*!v8::internal::Deoptimizer::DoComputeCompiledStubFrame
*!v8::internal::Deoptimizer::DoComputeOutputFrames
*!v8::internal::Deoptimizer::ComputeOutputFrames
*!v8::internal::`anonymous namespace'::Invoke
*!v8::internal::Execution::Call
*!v8::internal::Bootstrapper::CompileNative
*!v8::internal::Bootstrapper::CompileExperimentalBuiltin
*!v8::internal::Genesis::InstallExperimentalNatives
*!v8::internal::Genesis::Genesis
*!v8::internal::Bootstrapper::CreateEnvironment
