Redesign libbcc api.
diff --git a/lib/bcc/ScriptCompiled.h b/lib/bcc/ScriptCompiled.h
index a160b78..01af974 100644
--- a/lib/bcc/ScriptCompiled.h
+++ b/lib/bcc/ScriptCompiled.h
@@ -32,7 +32,6 @@
}
namespace bcc {
- class EmittedFuncInfo;
class Script;
class ScriptCompiled {
@@ -43,7 +42,7 @@
typedef std::list<std::pair<std::string, std::string> > PragmaList;
typedef std::list<void*> ExportVarList;
typedef std::list<void*> ExportFuncList;
- typedef std::map<std::string, EmittedFuncInfo *> EmittedFunctionsMapTy;
+ typedef std::map<std::string, FuncInfo *> FuncInfoMap;
private:
Script *mpOwner;
@@ -54,7 +53,7 @@
ExportFuncList mExportFuncs;
PragmaList mPragmas;
- EmittedFunctionsMapTy mEmittedFunctions;
+ FuncInfoMap mEmittedFunctions;
char *mContext; // Context of BCC script (code and data)
@@ -65,14 +64,23 @@
~ScriptCompiled();
- int readBC(const char *bitcode,
+ int readBC(char const *resName,
+ char const *bitcode,
size_t bitcodeSize,
- const BCCchar *resName,
- const BCCchar *cacheDir) {
- return mCompiler.readBC(bitcode, bitcodeSize, resName, cacheDir);
+ unsigned long flags) {
+ return mCompiler.readBC(bitcode, bitcodeSize);
}
- int linkBC(const char *bitcode, size_t bitcodeSize) {
+ int readModule(char const *resName,
+ llvm::Module *module,
+ unsigned long flags) {
+ return mCompiler.readModule(module);
+ }
+
+ int linkBC(char const *resName,
+ char const *bitcode,
+ size_t bitcodeSize,
+ unsigned long flags) {
return mCompiler.linkBC(bitcode, bitcodeSize);
}
@@ -112,23 +120,16 @@
char const **keyList,
char const **valueList);
- void getFuncNameList(size_t funcNameListSize, char const **funcNameList);
-
- void getFuncBinary(char const *function,
- void **base,
- size_t *length);
+ void getFuncInfoList(size_t funcInfoListSize,
+ FuncInfo *funcInfoList);
char *getContext() {
return mContext;
}
- void registerSymbolCallback(BCCSymbolLookupFn pFn, BCCvoid *pContext) {
+ void registerSymbolCallback(BCCSymbolLookupFn pFn, void *pContext) {
mCompiler.registerSymbolCallback(pFn, pContext);
}
-
- int readModule(llvm::Module *module) {
- return mCompiler.readModule(module);
- }
};
} // namespace bcc