14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/MemoryAccessInfo.h"
17#include "arcane/utils/Iostream.h"
28static Byte MA_HasValue = 1 << 1;
29static Byte MA_IsSync = 1 << 2;
30static Byte MA_NeedSync = 1 << 3;
35void MemoryAccessInfo::
41void MemoryAccessInfo::
45 if (v & MA_HasValue) {
46 if ((v & MA_NeedSync) && !(v & MA_IsSync)) {
48 m_trace->notify(MAM_NotSyncRead, m_handle);
50 std::cerr <<
"Not Sync Read\n";
55 m_trace->notify(MAM_UnitializedMemoryRead, m_handle);
57 std::cerr <<
"Unitialized Memory Read\n";
60void MemoryAccessInfo::
64 *m_info |= MA_HasValue;
66 *m_info =
static_cast<Byte>(v & (~MA_IsSync));
69void MemoryAccessInfo::
70setWriteAndSync()
const
72 *m_info |= MA_HasValue;
76void MemoryAccessInfo::
84void MemoryAccessInfo::
85setNeedSync(
bool need_sync)
const
89 *m_info |= MA_NeedSync;
91 *m_info =
static_cast<Byte>(v & (~MA_NeedSync));
94void MemoryAccessInfo::
101 m_trace->notify(MAM_MayBeUnitializedMemoryRead, m_handle);
103 std::cerr <<
"Value may be used unitialized\n";
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
unsigned char Byte
Type of a byte.