diff --git a/src/nba/include/nba/common/punning.hpp b/src/nba/include/nba/common/punning.hpp index b929514..ea48cae 100644 --- a/src/nba/include/nba/common/punning.hpp +++ b/src/nba/include/nba/common/punning.hpp @@ -13,7 +13,7 @@ namespace nba { template -T read(void const* data, uint offset) { +inline T read(void const* data, uint offset) { T value; std::memcpy(&value, (u8*)data + offset, sizeof(T)); return value; diff --git a/src/nba/include/nba/scheduler.hpp b/src/nba/include/nba/scheduler.hpp index c79db49..0323186 100644 --- a/src/nba/include/nba/scheduler.hpp +++ b/src/nba/include/nba/scheduler.hpp @@ -249,6 +249,14 @@ private: static constexpr int LeftChild(int n) { return n * 2 + 1; } static constexpr int RightChild(int n) { return n * 2 + 2; } + void ALWAYS_INLINE Swap(int i, int j) { + auto tmp = heap[i]; + heap[i] = heap[j]; + heap[j] = tmp; + heap[i]->handle = i; + heap[j]->handle = j; + } + void Step(u64 timestamp_next) { while(heap[0]->timestamp <= timestamp_next && heap_size > 0) { auto event = heap[0]; @@ -273,14 +281,6 @@ private: } } - void Swap(int i, int j) { - auto tmp = heap[i]; - heap[i] = heap[j]; - heap[j] = tmp; - heap[i]->handle = i; - heap[j]->handle = j; - } - void Heapify(int n) { int l = LeftChild(n); int r = RightChild(n);