From 137687e446bed146bef102ce4d99fc5e1281f6bd Mon Sep 17 00:00:00 2001 From: Victor Olin Date: Tue, 28 Feb 2023 18:44:07 +0100 Subject: [PATCH] Started working on a custom profiler --- src/GC/include/event.hpp | 48 ++++++++++++++++++ src/GC/include/heap.hpp | 4 +- src/GC/lib/event.cpp | 32 ++++++++++++ src/GC/lib/heap.cpp | 7 +-- src/GC/lib/profiler.cpp | 34 +++++++++++++ .../tests/h_test.out.dSYM/Contents/Info.plist | 20 -------- .../Contents/Resources/DWARF/h_test.out | Bin 204968 -> 0 bytes src/GC/tests/struct_test.cpp | 41 +++++++++++++++ 8 files changed, 158 insertions(+), 28 deletions(-) create mode 100644 src/GC/include/event.hpp create mode 100644 src/GC/lib/event.cpp create mode 100644 src/GC/lib/profiler.cpp delete mode 100644 src/GC/tests/h_test.out.dSYM/Contents/Info.plist delete mode 100644 src/GC/tests/h_test.out.dSYM/Contents/Resources/DWARF/h_test.out create mode 100644 src/GC/tests/struct_test.cpp diff --git a/src/GC/include/event.hpp b/src/GC/include/event.hpp new file mode 100644 index 0000000..cee4ded --- /dev/null +++ b/src/GC/include/event.hpp @@ -0,0 +1,48 @@ +#pragma once + +#include +#include +#include + +#include "chunk.hpp" + +using namespace std; + +namespace GC { + + enum GCEventType { + CollectStart, + MarkStart, + ChunkMarked, + ChunkSwept, + ChunkFreed + }; + + using TimeStamp = chrono::_V2::system_clock::time_point; + + class GCEvent { + private: + // make const + GCEventType m_type; + TimeStamp m_timestamp; + Chunk *m_chunk; + public: + GCEvent(GCEventType type) { + m_type = type; + m_timestamp = chrono::system_clock::now(); + } + + GCEvent(GCEventType type, Chunk *chunk) { + m_type = type; + m_timestamp = chrono::system_clock::now(); + m_chunk = chunk; + } + + GCEventType getType(); + TimeStamp getTimeStamp(); + Chunk *getChunk(); + + void printShort(); + void printFull(); + }; +} \ No newline at end of file diff --git a/src/GC/include/heap.hpp b/src/GC/include/heap.hpp index bfa167d..fc6cc9c 100644 --- a/src/GC/include/heap.hpp +++ b/src/GC/include/heap.hpp @@ -35,14 +35,14 @@ namespace GC { std::free((char *)m_heap); } - static inline Heap *the() { // TODO: make private + inline static Heap *the() { // TODO: make private if (m_instance) // if m_instance is not a nullptr return m_instance; m_instance = new Heap(); return m_instance; } - static inline Chunk *getAt(std::vector list, size_t n) { + inline static Chunk *getAt(std::vector list, size_t n) { auto iter = list.begin(); if (!n) return *iter; diff --git a/src/GC/lib/event.cpp b/src/GC/lib/event.cpp new file mode 100644 index 0000000..2936a27 --- /dev/null +++ b/src/GC/lib/event.cpp @@ -0,0 +1,32 @@ +#include +#include +#include + +#include "chunk.hpp" +#include "event.hpp" +#include "heap.hpp" + +using namespace std; + +namespace GC { + + GCEventType GCEvent::getType() { + return m_type; + } + + TimeStamp GCEvent::getTimeStamp() { + return m_timestamp; + } + + Chunk *GCEvent::getChunk() { + return m_chunk; + } + + void GCEvent::printShort() { + assert(false && "TODO: unimplemented"); + } + + void GCEvent::printFull() { + assert(false && "TODO: unimplemented"); + } +} \ No newline at end of file diff --git a/src/GC/lib/heap.cpp b/src/GC/lib/heap.cpp index bfd6f26..31f4b2e 100644 --- a/src/GC/lib/heap.cpp +++ b/src/GC/lib/heap.cpp @@ -141,12 +141,7 @@ namespace GC { // get current stack auto stack_bottom = reinterpret_cast(__builtin_frame_address(0)); - // fix this block, it's nästy - uintptr_t *stack_top; - if (heap->m_stack_top != nullptr) - stack_top = heap->m_stack_top; - else - stack_top = (uintptr_t *)0; // temporary + uintptr_t *stack_top = heap->m_stack_top != nullptr ? heap->m_stack_top : (uintptr_t *)0; auto work_list = heap->m_allocated_chunks; mark(stack_bottom, stack_top, work_list); diff --git a/src/GC/lib/profiler.cpp b/src/GC/lib/profiler.cpp new file mode 100644 index 0000000..6138a52 --- /dev/null +++ b/src/GC/lib/profiler.cpp @@ -0,0 +1,34 @@ +#include +#include + +#include "chunk.hpp" +#include "event.hpp" +#include "heap.hpp" +#include "profiler.hpp" + +namespace GC { + void Profiler::record(GCEventType type) { + auto event = new GCEvent(type); + auto profiler = Profiler::the(); + profiler->m_events.push_back(event); + } + + void Profiler::record(GCEventType type, Chunk *chunk) { + auto event = new GCEvent(type, chunk); + auto profiler = Profiler::the(); + profiler->m_events.push_back(event); + } + + void Profiler::printTrace(PrintTraceOptions opt) { + auto profiler = Profiler::the(); + auto start = profiler->m_events.begin(); + auto end = profiler->m_events.end(); + while (start != end) { + auto event = *start++; + if (opt == Short) + event->printShort(); + else + event->printFull(); + } + } +} \ No newline at end of file diff --git a/src/GC/tests/h_test.out.dSYM/Contents/Info.plist b/src/GC/tests/h_test.out.dSYM/Contents/Info.plist deleted file mode 100644 index 3db2218..0000000 --- a/src/GC/tests/h_test.out.dSYM/Contents/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleIdentifier - com.apple.xcode.dsym.h_test.out - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - dSYM - CFBundleSignature - ???? - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - diff --git a/src/GC/tests/h_test.out.dSYM/Contents/Resources/DWARF/h_test.out b/src/GC/tests/h_test.out.dSYM/Contents/Resources/DWARF/h_test.out deleted file mode 100644 index d3ad3e76a59e30d8544efb36f9e28d362fbec250..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204968 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 + +#include "heap.hpp" + +using namespace std; + +struct Node { + int value; + Node *left; + Node *right; +}; + +int getValue(); +Node *createNode(); +void insert(); + +int main() { + GC::Heap::init(); + Node *node = static_cast(GC::Heap::alloc(sizeof(Node))); + + return 0; +} + +int getValue() { + cout << "Enter a value to insert: "; + int value; + cin >> value; + return value; +} + +Node *createNode() { + Node *node = static_cast(GC::Heap::alloc(sizeof(Node))); + node->value = getValue(); + return node; +} + +void insert(Node *root) { + Node *node = createNode(); + Node *curr = root; + while (curr) +} \ No newline at end of file