mirror of
https://github.com/JakeHillion/object-introspection.git
synced 2024-11-12 21:56:54 +00:00
remove oil v1 leftovers
This commit is contained in:
parent
6f623e95a4
commit
6e1635ce1e
@ -1258,7 +1258,6 @@ void CodeGen::generate(
|
||||
FuncGen::DefineEncodeData(code);
|
||||
FuncGen::DefineEncodeDataSize(code);
|
||||
FuncGen::DefineStoreData(code);
|
||||
FuncGen::DefineAddData(code);
|
||||
}
|
||||
FuncGen::DeclareGetContainer(code);
|
||||
|
||||
|
@ -142,12 +142,6 @@ void FuncGen::DeclareGetSize(std::string& testCode, const std::string& type) {
|
||||
testCode.append(fmt.str());
|
||||
}
|
||||
|
||||
void FuncGen::DeclareTopLevelGetSize(std::string& testCode,
|
||||
const std::string& type) {
|
||||
boost::format fmt = boost::format("void getSizeType(const %1% &t);\n") % type;
|
||||
testCode.append(fmt.str());
|
||||
}
|
||||
|
||||
void FuncGen::DeclareExterns(std::string& code) {
|
||||
constexpr std::string_view vars = R"(
|
||||
extern uint8_t* dataBase;
|
||||
@ -202,9 +196,6 @@ void __jlogptr(uintptr_t ptr) {
|
||||
void FuncGen::DeclareStoreData(std::string& testCode) {
|
||||
testCode.append("void StoreData(uintptr_t data, size_t& dataSegOffset);\n");
|
||||
}
|
||||
void FuncGen::DeclareAddData(std::string& testCode) {
|
||||
testCode.append("void AddData(uint64_t data, size_t& dataSegOffset);\n");
|
||||
}
|
||||
void FuncGen::DeclareEncodeData(std::string& testCode) {
|
||||
testCode.append("size_t EncodeVarint(uint64_t val, uint8_t* buf);\n");
|
||||
}
|
||||
@ -260,33 +251,6 @@ void FuncGen::DefineStoreData(std::string& testCode) {
|
||||
testCode.append(func);
|
||||
}
|
||||
|
||||
void FuncGen::DefineAddData(std::string& testCode) {
|
||||
std::string func = R"(
|
||||
void AddData(uint64_t data, size_t& output) {
|
||||
output += data;
|
||||
}
|
||||
)";
|
||||
|
||||
testCode.append(func);
|
||||
}
|
||||
|
||||
void FuncGen::DefineTopLevelGetObjectSize(std::string& testCode,
|
||||
const std::string& rawType,
|
||||
const std::string& linkageName) {
|
||||
std::string func = R"(
|
||||
/* RawType: %1% */
|
||||
extern "C" int %2%(const OIInternal::__ROOT_TYPE__* ObjectAddr, size_t* ObjectSize)
|
||||
{
|
||||
*ObjectSize = 0;
|
||||
OIInternal::getSizeType(*ObjectAddr, *ObjectSize);
|
||||
return 0;
|
||||
}
|
||||
)";
|
||||
|
||||
boost::format fmt = boost::format(func) % rawType % linkageName;
|
||||
testCode.append(fmt.str());
|
||||
}
|
||||
|
||||
void FuncGen::DefineTopLevelIntrospect(std::string& code,
|
||||
const std::string& type) {
|
||||
std::string func = R"(
|
||||
@ -528,27 +492,6 @@ const std::array<std::string_view, )";
|
||||
code += "#pragma GCC diagnostic pop\n";
|
||||
}
|
||||
|
||||
void FuncGen::DefineTopLevelGetSizeRefRet(std::string& testCode,
|
||||
const std::string& rawType) {
|
||||
std::string func = R"(
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunknown-attributes"
|
||||
/* Raw Type: %1% */
|
||||
size_t __attribute__((used, retain)) getSize(const OIInternal::__ROOT_TYPE__& t)
|
||||
#pragma GCC diagnostic pop
|
||||
{
|
||||
pointers.initialize();
|
||||
size_t ret = 0;
|
||||
pointers.add((uintptr_t)&t);
|
||||
OIInternal::getSizeType(t, ret);
|
||||
return ret;
|
||||
}
|
||||
)";
|
||||
|
||||
boost::format fmt = boost::format(func) % rawType;
|
||||
testCode.append(fmt.str());
|
||||
}
|
||||
|
||||
void FuncGen::DefineTopLevelGetSizeSmartPtr(std::string& testCode,
|
||||
const std::string& rawType,
|
||||
FeatureSet features) {
|
||||
|
11
oi/FuncGen.h
11
oi/FuncGen.h
@ -35,9 +35,6 @@ class FuncGen {
|
||||
static void DeclareStoreData(std::string& testCode);
|
||||
static void DefineStoreData(std::string& testCode);
|
||||
|
||||
static void DeclareAddData(std::string& testCode);
|
||||
static void DefineAddData(std::string& testCode);
|
||||
|
||||
static void DeclareEncodeData(std::string& testCode);
|
||||
static void DefineEncodeData(std::string& testCode);
|
||||
|
||||
@ -55,11 +52,6 @@ class FuncGen {
|
||||
|
||||
static void DeclareGetSize(std::string& testCode, const std::string& type);
|
||||
|
||||
static void DeclareTopLevelGetSize(std::string& testCode,
|
||||
const std::string& type);
|
||||
static void DefineTopLevelGetObjectSize(std::string& testCode,
|
||||
const std::string& type,
|
||||
const std::string& linkageName);
|
||||
static void DefineTopLevelIntrospect(std::string& code,
|
||||
const std::string& type);
|
||||
static void DefineTopLevelIntrospectNamed(std::string& code,
|
||||
@ -80,9 +72,6 @@ class FuncGen {
|
||||
size_t exclusiveSize,
|
||||
std::span<const std::string_view> typeNames);
|
||||
|
||||
static void DefineTopLevelGetSizeRefRet(std::string& testCode,
|
||||
const std::string& type);
|
||||
|
||||
static void DefineTopLevelGetSizeSmartPtr(std::string& testCode,
|
||||
const std::string& rawType,
|
||||
FeatureSet features);
|
||||
|
@ -3025,20 +3025,11 @@ bool OICodeGen::generateJitCode(std::string& code) {
|
||||
code.append(">\n");
|
||||
}
|
||||
|
||||
code.append("// storage macro definitions -----\n");
|
||||
if (config.useDataSegment) {
|
||||
code.append(R"(
|
||||
#define SAVE_SIZE(val)
|
||||
#define SAVE_DATA(val) StoreData(val, returnArg)
|
||||
)");
|
||||
} else {
|
||||
code.append(R"(
|
||||
#define SAVE_SIZE(val) AddData(val, returnArg)
|
||||
#define SAVE_DATA(val)
|
||||
#define JLOG(str)
|
||||
#define JLOGPTR(ptr)
|
||||
)");
|
||||
}
|
||||
code.append(R"(
|
||||
// storage macro definitions -----
|
||||
#define SAVE_SIZE(val)
|
||||
#define SAVE_DATA(val) StoreData(val, returnArg)
|
||||
)");
|
||||
|
||||
FuncGen::DefineJitLog(code, config.features);
|
||||
|
||||
@ -3240,16 +3231,9 @@ bool OICodeGen::generateJitCode(std::string& code) {
|
||||
}
|
||||
}
|
||||
|
||||
if (config.useDataSegment || feature(Feature::ChaseRawPointers)) {
|
||||
funcGen.DeclareStoreData(functionsCode);
|
||||
}
|
||||
|
||||
if (config.useDataSegment) {
|
||||
funcGen.DeclareEncodeData(functionsCode);
|
||||
funcGen.DeclareEncodeDataSize(functionsCode);
|
||||
} else {
|
||||
funcGen.DeclareAddData(functionsCode);
|
||||
}
|
||||
funcGen.DeclareStoreData(functionsCode);
|
||||
funcGen.DeclareEncodeData(functionsCode);
|
||||
funcGen.DeclareEncodeDataSize(functionsCode);
|
||||
|
||||
if (!funcGen.DefineGetSizeFuncs(functionsCode, containerTypesFuncDef,
|
||||
config.features)) {
|
||||
@ -3296,13 +3280,9 @@ bool OICodeGen::generateJitCode(std::string& code) {
|
||||
}
|
||||
}
|
||||
|
||||
if (config.useDataSegment) {
|
||||
funcGen.DefineStoreData(functionsCode);
|
||||
funcGen.DefineEncodeData(functionsCode);
|
||||
funcGen.DefineEncodeDataSize(functionsCode);
|
||||
} else {
|
||||
funcGen.DefineAddData(functionsCode);
|
||||
}
|
||||
funcGen.DefineStoreData(functionsCode);
|
||||
funcGen.DefineEncodeData(functionsCode);
|
||||
funcGen.DefineEncodeDataSize(functionsCode);
|
||||
|
||||
for (auto& structType : structDefType) {
|
||||
// Don't generate member offset asserts for unions since we pad them out
|
||||
@ -3345,23 +3325,14 @@ bool OICodeGen::generateJitCode(std::string& code) {
|
||||
/* Start function definitions. First define top level func for root object
|
||||
*/
|
||||
auto rawTypeName = drgn_utils::typeToName(type);
|
||||
if (config.useDataSegment) {
|
||||
if (rootTypeStr.starts_with("unique_ptr") ||
|
||||
rootTypeStr.starts_with("LowPtr") ||
|
||||
rootTypeStr.starts_with("shared_ptr")) {
|
||||
funcGen.DefineTopLevelGetSizeSmartPtr(functionsCode, rawTypeName,
|
||||
config.features);
|
||||
} else {
|
||||
funcGen.DefineTopLevelGetSizeRef(functionsCode, rawTypeName,
|
||||
config.features);
|
||||
}
|
||||
if (rootTypeStr.starts_with("unique_ptr") ||
|
||||
rootTypeStr.starts_with("LowPtr") ||
|
||||
rootTypeStr.starts_with("shared_ptr")) {
|
||||
funcGen.DefineTopLevelGetSizeSmartPtr(functionsCode, rawTypeName,
|
||||
config.features);
|
||||
} else {
|
||||
if (linkageName.empty()) {
|
||||
funcGen.DefineTopLevelGetSizeRefRet(functionsCode, rawTypeName);
|
||||
} else {
|
||||
funcGen.DefineTopLevelGetObjectSize(functionsCode, rawTypeName,
|
||||
linkageName);
|
||||
}
|
||||
funcGen.DefineTopLevelGetSizeRef(functionsCode, rawTypeName,
|
||||
config.features);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,6 @@ class OICodeGen {
|
||||
bool topLevel = false;
|
||||
};
|
||||
|
||||
bool useDataSegment;
|
||||
FeatureSet features;
|
||||
std::set<std::filesystem::path> containerConfigPaths;
|
||||
std::set<std::string> defaultHeaders;
|
||||
@ -126,9 +125,6 @@ class OICodeGen {
|
||||
|
||||
drgn_qualified_type getRootType();
|
||||
void setRootType(drgn_qualified_type rt);
|
||||
void setLinkageName(std::string name) {
|
||||
linkageName = name;
|
||||
};
|
||||
TypeHierarchy getTypeHierarchy();
|
||||
std::map<std::string, PaddingInfo> getPaddingInfo();
|
||||
|
||||
@ -157,7 +153,6 @@ class OICodeGen {
|
||||
using SortedTypeDefMap = std::vector<std::pair<drgn_type*, drgn_type*>>;
|
||||
|
||||
std::string rootTypeStr;
|
||||
std::string linkageName;
|
||||
std::map<drgn_type*, std::string> unnamedUnion;
|
||||
std::map<std::string, size_t> sizeMap;
|
||||
std::map<drgn_type*, ContainerTypeMapEntry> containerTypeMapDrgn;
|
||||
|
@ -666,7 +666,6 @@ int main(int argc, char* argv[]) {
|
||||
OICompiler::Config compilerConfig{};
|
||||
|
||||
OICodeGen::Config codeGenConfig;
|
||||
codeGenConfig.useDataSegment = true;
|
||||
codeGenConfig.features = {}; // fill in after processing the config file
|
||||
|
||||
TreeBuilder::Config tbConfig{
|
||||
|
Loading…
Reference in New Issue
Block a user