summaryrefslogtreecommitdiff
path: root/Runtime/LuaBind/LuaBindVM.h
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/LuaBind/LuaBindVM.h')
-rw-r--r--Runtime/LuaBind/LuaBindVM.h58
1 files changed, 0 insertions, 58 deletions
diff --git a/Runtime/LuaBind/LuaBindVM.h b/Runtime/LuaBind/LuaBindVM.h
deleted file mode 100644
index 3bfe899..0000000
--- a/Runtime/LuaBind/LuaBindVM.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef __LUA_BIND_CONTEXT_H__
-#define __LUA_BIND_CONTEXT_H__
-
-#include <map>
-#include <unordered_set>
-
-#include "LuaBindRef.h"
-#include "LuaBindConfig.h"
-#include "LuaBindState.h"
-#include "LuaBindGlobalState.h"
-
-namespace LuaBind
-{
-
- // 单个lua_state相关的context。是一系列代理的集合,拷贝也没关系,主要是为了节约内存。
- class VM
- {
- public:
-
- // 根据global_State拿到虚拟机。
- static VM* TryGetVM(global_State* gState);
- static VM* TryGetVM(lua_State* state);
-
- VM();
- ~VM();
-
- // 创建虚拟机后,需要手动调用Setup函数,初始化一些虚拟机状态。
- void Setup();
- void OpenLibs();
-
- lua_State* GetMainThread();
- lua_State* CreateThread();
- State GetMainState();
-
- RefTable& GetStrongRefTable();
- RefTable& GetWeakRefTable();
-
- private:
-
- typedef std::map<global_State*, VM*> VMap;
-
- static VMap VMs; // 通过global_State索引虚拟机,为了方便
-
- RefTable mStrongRefTable; // GAMELAB_UNIVERSAL_STRONG_REFERENCE_TABLE
- RefTable mWeakRefTable; // GAMELAB_UNIVERSAL_WEAK_REFERENCE_TABLE
-
- global_State* mGlobalState; // 虚拟机的global_State,由当前虚拟机的所有线程共享
- lua_State* mMainThread; // 主线程
-
-#if LUA_BIND_PROFILER
- size_t mObjectCount; // 统计所有在此虚拟机中创建的实例
-#endif
-
- };
-
-}
-
-#endif \ No newline at end of file