Migrated engine to using dlmalloc through eng::

This commit is contained in:
2022-02-24 02:17:41 -05:00
parent acc00289fb
commit f467944095
61 changed files with 631 additions and 590 deletions

View File

@@ -55,11 +55,11 @@ lua_Number LuaStack::cknumber(LuaSlot s) const {
return lua_tonumber(L_, s);
}
std::string LuaStack::ckstring(LuaSlot s) const {
eng::string LuaStack::ckstring(LuaSlot s) const {
luaL_checktype(L_, s, LUA_TSTRING);
size_t len;
const char *str = lua_tolstring(L_, s, &len);
return std::string(str, len);
return eng::string(str, len);
}
lua_State *LuaStack::ckthread(LuaSlot s) const {
@@ -154,7 +154,7 @@ lua_State *LuaStack::newthread(LuaSlot target) const {
return result;
}
bool LuaStack::validclassname(const std::string &cname) {
bool LuaStack::validclassname(const eng::string &cname) {
if (cname.empty()) return false;
if (cname == "_G") return false;
return true;
@@ -165,8 +165,8 @@ bool LuaStack::validclassname(LuaSlot slot) const {
return validclassname(ckstring(slot));
}
std::string LuaStack::classname(LuaSlot tab) const {
std::string result;
eng::string LuaStack::classname(LuaSlot tab) const {
eng::string result;
if (istable(tab)) {
lua_pushstring(L_, "__class");
lua_rawget(L_, tab);
@@ -177,7 +177,7 @@ std::string LuaStack::classname(LuaSlot tab) const {
if (lua_rawequal(L_, -1, tab)) {
size_t len;
const char *s = lua_tolstring(L_, -3, &len);
result = std::string(s, len);
result = eng::string(s, len);
if (!validclassname(result)) {
result = "";
}
@@ -190,7 +190,7 @@ std::string LuaStack::classname(LuaSlot tab) const {
return result;
}
std::string LuaStack::getclass(LuaSlot classtab, LuaSlot classname) const {
eng::string LuaStack::getclass(LuaSlot classtab, LuaSlot classname) const {
lua_checkstack(L_, 20);
LuaVar globtab, cname;
LuaStack LS(L_, globtab, cname);
@@ -198,19 +198,19 @@ std::string LuaStack::getclass(LuaSlot classtab, LuaSlot classname) const {
if (LS.isstring(classname)) {
if (!validclassname(LS.ckstring(classname))) {
std::string err = "invalid class name: " + LS.ckstring(classname);
eng::string err = "invalid class name: " + LS.ckstring(classname);
LS.result();
return err;
}
LS.rawget(classtab, globtab, classname);
if (!LS.istable(classtab)) {
std::string err = "not a class: " + LS.ckstring(classname);
eng::string err = "not a class: " + LS.ckstring(classname);
LS.result();
return err;
}
LS.rawget(cname, classtab, "__class");
if (!LS.rawequal(cname, classname)) {
std::string err = "not a valid class: " + LS.ckstring(classname);
eng::string err = "not a valid class: " + LS.ckstring(classname);
LS.result();
return err;
}
@@ -219,42 +219,42 @@ std::string LuaStack::getclass(LuaSlot classtab, LuaSlot classname) const {
} else if (LS.istable(classname)) {
LS.rawget(cname, classname, "__class");
if (!LS.isstring(cname)) {
std::string err = "table is not a class.";
eng::string err = "table is not a class.";
LS.result();
return err;
}
if (!validclassname(LS.ckstring(cname))) {
std::string err = "invalid class name: " + LS.ckstring(cname);
eng::string err = "invalid class name: " + LS.ckstring(cname);
LS.result();
return err;
}
LS.rawget(classtab, globtab, cname);
if (!LS.rawequal(classtab, classname)) {
std::string err = "not a valid class: " + LS.ckstring(cname);
eng::string err = "not a valid class: " + LS.ckstring(cname);
LS.result();
return err;
}
LS.result();
return "";
} else {
std::string err = "getclass expects a string or a classtab";
eng::string err = "getclass expects a string or a classtab";
LS.result();
return err;
}
}
std::string LuaStack::getclass(LuaSlot tab, const char *name) const {
eng::string LuaStack::getclass(LuaSlot tab, const char *name) const {
push_any_value(name);
LuaSpecial classname(lua_gettop(L_));
std::string err = getclass(tab, classname);
eng::string err = getclass(tab, classname);
lua_pop(L_, 1);
return err;
}
std::string LuaStack::getclass(LuaSlot tab, const std::string &name) const {
eng::string LuaStack::getclass(LuaSlot tab, const eng::string &name) const {
push_any_value(name);
LuaSpecial classname(lua_gettop(L_));
std::string err = getclass(tab, classname);
eng::string err = getclass(tab, classname);
lua_pop(L_, 1);
return err;
}
@@ -295,7 +295,7 @@ void LuaStack::makeclass(LuaSlot tab, const char *name) const {
lua_pop(L_, 1);
}
void LuaStack::makeclass(LuaSlot tab, const std::string &name) const {
void LuaStack::makeclass(LuaSlot tab, const eng::string &name) const {
push_any_value(name);
LuaSpecial classname(lua_gettop(L_));
makeclass(tab, classname);