14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/MemoryAccessInfo.h"
17#include "arcane/utils/Iostream.h"
27static Byte MA_HasValue = 1 << 1;
28static Byte MA_IsSync = 1 << 2;
29static Byte MA_NeedSync = 1 << 3;
34void MemoryAccessInfo::
40void MemoryAccessInfo::
45 if ( (v & MA_NeedSync) && !(v & MA_IsSync) ){
47 m_trace->notify(MAM_NotSyncRead,m_handle);
49 std::cerr <<
"Not Sync Read\n";
54 m_trace->notify(MAM_UnitializedMemoryRead,m_handle);
56 std::cerr <<
"Unitialized Memory Read\n";
59void MemoryAccessInfo::
63 *m_info |= MA_HasValue;
65 *m_info =
static_cast<Byte>(v & (~MA_IsSync));
68void MemoryAccessInfo::
69setWriteAndSync()
const
71 *m_info |= MA_HasValue;
75void MemoryAccessInfo::
83void MemoryAccessInfo::
84setNeedSync(
bool need_sync)
const
88 *m_info |= MA_NeedSync;
90 *m_info =
static_cast<Byte>(v & (~MA_NeedSync));
93void MemoryAccessInfo::
100 m_trace->notify(MAM_MayBeUnitializedMemoryRead,m_handle);
102 std::cerr <<
"Value may be used unitialized\n";
unsigned char Byte
Type d'un octet.