diff options
Diffstat (limited to 'src/zencore/iobuffer.cpp')
| -rw-r--r-- | src/zencore/iobuffer.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/zencore/iobuffer.cpp b/src/zencore/iobuffer.cpp index 73600a09e..09cd0a000 100644 --- a/src/zencore/iobuffer.cpp +++ b/src/zencore/iobuffer.cpp @@ -10,6 +10,7 @@ #include <zencore/memory.h> #include <zencore/testing.h> #include <zencore/thread.h> +#include <zencore/trace.h> #include <memory.h> #include <system_error> @@ -154,6 +155,7 @@ IoBufferCore::MakeOwned(bool Immutable) { if (!IsOwned()) { + ZEN_TRACE_CPU("IoBufferCore::MakeOwned"); const void* OldDataPtr = m_DataPtr; AllocateBuffer(m_DataBytes, sizeof(void*)); memcpy(const_cast<void*>(m_DataPtr), OldDataPtr, m_DataBytes); @@ -275,6 +277,8 @@ IoBufferExtendedCore::Materialize() const if (m_Flags.load(std::memory_order_acquire) & kIsMaterialized) return; + ZEN_TRACE_CPU("IoBufferExtendedCore::Materialize"); + RwLock::ExclusiveLockScope _(MappingLockForInstance(this)); // Someone could have gotten here first @@ -296,6 +300,8 @@ IoBufferExtendedCore::Materialize() const if (m_DataBytes < DisableMMapSizeLimit) { + ZEN_TRACE_CPU("IoBufferExtendedCore::Materialize::Read"); + AllocateBuffer(m_DataBytes, sizeof(void*)); NewFlags |= kIsOwnedByThis; int32_t Error = 0; @@ -351,6 +357,8 @@ IoBufferExtendedCore::Materialize() const return; } + ZEN_TRACE_CPU("IoBufferExtendedCore::Materialize::MMap"); + void* NewMmapHandle; const uint64_t MapOffset = m_FileOffset & ~0xffffull; @@ -572,12 +580,16 @@ IoBufferBuilder::ReadFromFileMaybe(IoBuffer& InBuffer) IoBuffer IoBufferBuilder::MakeFromFileHandle(void* FileHandle, uint64_t Offset, uint64_t Size) { + ZEN_TRACE_CPU("IoBufferBuilder::MakeFromFileHandle"); + return IoBuffer(IoBuffer::BorrowedFile, FileHandle, Offset, Size); } IoBuffer IoBufferBuilder::MakeFromFile(const std::filesystem::path& FileName, uint64_t Offset, uint64_t Size) { + ZEN_TRACE_CPU("IoBufferBuilder::MakeFromFile"); + uint64_t FileSize; #if ZEN_PLATFORM_WINDOWS @@ -640,6 +652,8 @@ IoBufferBuilder::MakeFromFile(const std::filesystem::path& FileName, uint64_t Of IoBuffer IoBufferBuilder::MakeFromTemporaryFile(const std::filesystem::path& FileName) { + ZEN_TRACE_CPU("IoBufferBuilder::MakeFromTemporaryFile"); + uint64_t FileSize; void* Handle; |