aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2012-08-07 14:23:15 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-08-07 14:23:15 -0700
commiteb76bc4cad531ee2c1bec8532dc99c920730ace1 (patch)
tree2e64c5c45e931fb103cafbb41f87b45378bcd1d4
parent1d81bd907f3fe7c642ed45f18049236305ed1e3f (diff)
parent131bcb0ff83cba14d18682ad940ac9999b40ab03 (diff)
downloadlibbcc-eb76bc4cad531ee2c1bec8532dc99c920730ace1.tar.gz
am 131bcb0f: Merge "Revert "Remove unnecessary metadata duplication in Script*.""
* commit '131bcb0ff83cba14d18682ad940ac9999b40ab03': Revert "Remove unnecessary metadata duplication in Script*."
-rw-r--r--lib/ExecutionEngine/Script.cpp2
-rw-r--r--lib/ExecutionEngine/Script.h14
-rw-r--r--lib/ExecutionEngine/ScriptCompiled.h8
3 files changed, 23 insertions, 1 deletions
diff --git a/lib/ExecutionEngine/Script.cpp b/lib/ExecutionEngine/Script.cpp
index 0c3c7a5..d6205b3 100644
--- a/lib/ExecutionEngine/Script.cpp
+++ b/lib/ExecutionEngine/Script.cpp
@@ -103,6 +103,8 @@ int Script::addSourceBC(size_t idx,
}
bcinfo::BitcodeWrapper wrapper(bitcode, bitcodeSize);
+ mCompilerVersion = wrapper.getCompilerVersion();
+ mOptimizationLevel = wrapper.getOptimizationLevel();
mSourceList[idx] = SourceInfo::createFromBuffer(resName,
bitcode, bitcodeSize,
diff --git a/lib/ExecutionEngine/Script.h b/lib/ExecutionEngine/Script.h
index e95cf8a..0560f55 100644
--- a/lib/ExecutionEngine/Script.h
+++ b/lib/ExecutionEngine/Script.h
@@ -98,11 +98,15 @@ namespace bcc {
BCCSymbolLookupFn mpExtSymbolLookupFn;
void *mpExtSymbolLookupFnContext;
+ uint32_t mCompilerVersion;
+ uint32_t mOptimizationLevel;
+
public:
Script() : mErrorCode(BCC_NO_ERROR), mStatus(ScriptStatus::Unknown),
mObjectType(ScriptObject::Unknown),
mIsContextSlotNotAvail(false),
- mpExtSymbolLookupFn(NULL), mpExtSymbolLookupFnContext(NULL) {
+ mpExtSymbolLookupFn(NULL), mpExtSymbolLookupFnContext(NULL),
+ mCompilerVersion(0), mOptimizationLevel(3) {
Compiler::GlobalInitialization();
mSourceList[0] = NULL;
@@ -165,6 +169,14 @@ namespace bcc {
void *lookup(const char *name);
+ uint32_t getCompilerVersion() const {
+ return mCompilerVersion;
+ }
+
+ uint32_t getOptimizationLevel() const {
+ return mOptimizationLevel;
+ }
+
size_t getExportVarCount() const;
size_t getExportFuncCount() const;
diff --git a/lib/ExecutionEngine/ScriptCompiled.h b/lib/ExecutionEngine/ScriptCompiled.h
index 7b7b62a..5c442c7 100644
--- a/lib/ExecutionEngine/ScriptCompiled.h
+++ b/lib/ExecutionEngine/ScriptCompiled.h
@@ -91,6 +91,14 @@ namespace bcc {
void *lookup(const char *name);
+ uint32_t getCompilerVersion() const {
+ return mpOwner->getCompilerVersion();
+ }
+
+ uint32_t getOptimizationLevel() const {
+ return mpOwner->getOptimizationLevel();
+ }
+
size_t getExportVarCount() const {
return mExportVars.size();
}