CommonLibVR
Profiler.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
4 #include "RE/B/BSTHashMap.h"
5 #include "RE/I/IProfilePolicy.h"
6 
7 namespace RE
8 {
9  namespace SkyrimScript
10  {
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_SkyrimScript__Profiler;
15  inline static constexpr auto VTABLE = VTABLE_SkyrimScript__Profiler;
16 
17  ~Profiler() override; // 00
18 
19  // override (BSScript::IProfilePolicy)
20  void StackFramePushQueued(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSTSmartPointer<BSScript::Internal::IFuncCallQuery>& a_arg3) override; // 01
21  void StackFramePushed(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSScript::Variable& a_arg3, const BSFixedString& a_arg4, const BSFixedString& a_arg5, const BSFixedString& a_arg6) override; // 02
22  void StackFramePopQueued(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSScript::Variable& a_arg3, const BSFixedString& a_arg4, const BSFixedString& a_arg5, const BSFixedString& a_arg6) override; // 03
23  void StackFramePopped(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSScript::Variable& a_arg3, const BSFixedString& a_arg4, const BSFixedString& a_arg5, const BSFixedString& a_arg6) override; // 04
24 
25  // members
26  mutable BSSpinLock unk08; // 08
30  std::uint64_t unkA0; // A0
31  std::uint64_t unkA8; // A8
32  std::uint64_t unkB0; // B0
33  std::uint64_t unkB8; // B8
34  std::uint64_t unkC0; // C0
35  std::uint64_t unkC8; // C8
36  std::uint64_t unkD0; // D0
37  std::uint64_t unkD8; // D8
38  };
39  static_assert(sizeof(Profiler) == 0xE0);
40  }
41 }
Definition: IProfilePolicy.h:18
Definition: Variable.h:15
Definition: BSAtomic.h:92
Definition: BSTHashMap.h:21
Definition: BSTSmartPointer.h:37
Definition: Profiler.h:12
static constexpr auto VTABLE
Definition: Profiler.h:15
void StackFramePopped(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSScript::Variable &a_arg3, const BSFixedString &a_arg4, const BSFixedString &a_arg5, const BSFixedString &a_arg6) override
BSSpinLock unk08
Definition: Profiler.h:26
static constexpr auto RTTI
Definition: Profiler.h:14
void StackFramePushed(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSScript::Variable &a_arg3, const BSFixedString &a_arg4, const BSFixedString &a_arg5, const BSFixedString &a_arg6) override
std::uint64_t unkD0
Definition: Profiler.h:36
std::uint64_t unkA8
Definition: Profiler.h:31
void StackFramePushQueued(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSTSmartPointer< BSScript::Internal::IFuncCallQuery > &a_arg3) override
BSTHashMap< UnkKey, UnkValue > unk40
Definition: Profiler.h:28
std::uint64_t unkC0
Definition: Profiler.h:34
void StackFramePopQueued(std::uint32_t a_arg1, std::uint32_t a_arg2, const BSScript::Variable &a_arg3, const BSFixedString &a_arg4, const BSFixedString &a_arg5, const BSFixedString &a_arg6) override
std::uint64_t unkB0
Definition: Profiler.h:32
BSTHashMap< UnkKey, UnkValue > unk10
Definition: Profiler.h:27
std::uint64_t unkA0
Definition: Profiler.h:30
std::uint64_t unkB8
Definition: Profiler.h:33
std::uint64_t unkD8
Definition: Profiler.h:37
BSTHashMap< UnkKey, UnkValue > unk70
Definition: Profiler.h:29
std::uint64_t unkC8
Definition: Profiler.h:35
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_SkyrimScript__Profiler(static_cast< std::uint64_t >(689033))
constexpr std::array< REL::ID, 1 > VTABLE_SkyrimScript__Profiler
Definition: Offsets_VTABLE.h:12689