Revert "Switch to use RSCompilerDriver."

This reverts commit fef9a1b0b772034b4f0894d1e2b29d1115617be0.

Conflicts:

	lib/ExecutionEngine/RSCompiler.cpp

Change-Id: Ic6f3a3643e286a20799e1c7f03dee5d6c3683fef
diff --git a/lib/ExecutionEngine/ScriptCompiled.cpp b/lib/ExecutionEngine/ScriptCompiled.cpp
new file mode 100644
index 0000000..4f2bb1b
--- /dev/null
+++ b/lib/ExecutionEngine/ScriptCompiled.cpp
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2010-2012, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "ScriptCompiled.h"
+
+#include "bcc_internal.h"
+#include "DebugHelper.h"
+
+namespace bcc {
+
+ScriptCompiled::~ScriptCompiled() {
+}
+
+void ScriptCompiled::getExportVarList(size_t varListSize, void **varList) {
+  if (varList) {
+    size_t varCount = getExportVarCount();
+
+    if (varCount > varListSize) {
+      varCount = varListSize;
+    }
+
+    for (ExportVarList::const_iterator
+         I = mExportVars.begin(), E = mExportVars.end();
+         I != E && varCount > 0; ++I, --varCount) {
+      *varList++ = *I;
+    }
+  }
+}
+
+void ScriptCompiled::getExportVarNameList(std::vector<std::string> &varList) {
+  varList = mExportVarsName;
+}
+
+
+void ScriptCompiled::getExportFuncNameList(std::vector<std::string> &funcList) {
+  funcList = mExportFuncsName;
+}
+
+
+void ScriptCompiled::getExportForEachNameList(std::vector<std::string> &forEachList) {
+  forEachList = mExportForEachName;
+}
+
+
+void ScriptCompiled::getExportFuncList(size_t funcListSize, void **funcList) {
+  if (funcList) {
+    size_t funcCount = getExportFuncCount();
+
+    if (funcCount > funcListSize) {
+      funcCount = funcListSize;
+    }
+
+    for (ExportFuncList::const_iterator
+         I = mExportFuncs.begin(), E = mExportFuncs.end();
+         I != E && funcCount > 0; ++I, --funcCount) {
+      *funcList++ = *I;
+    }
+  }
+}
+
+
+void ScriptCompiled::getExportForEachList(size_t forEachListSize,
+                                          void **forEachList) {
+  if (forEachList) {
+    size_t forEachCount = getExportForEachCount();
+
+    if (forEachCount > forEachListSize) {
+      forEachCount = forEachListSize;
+    }
+
+    for (ExportForEachList::const_iterator
+         I = mExportForEach.begin(), E = mExportForEach.end();
+         I != E && forEachCount > 0; ++I, --forEachCount) {
+      *forEachList++ = *I;
+    }
+  }
+}
+
+
+void ScriptCompiled::getPragmaList(size_t pragmaListSize,
+                                   char const **keyList,
+                                   char const **valueList) {
+  size_t pragmaCount = getPragmaCount();
+
+  if (pragmaCount > pragmaListSize) {
+    pragmaCount = pragmaListSize;
+  }
+
+  for (PragmaList::const_iterator
+       I = mPragmas.begin(), E = mPragmas.end();
+       I != E && pragmaCount > 0; ++I, --pragmaCount) {
+    if (keyList) { *keyList++ = I->first.c_str(); }
+    if (valueList) { *valueList++ = I->second.c_str(); }
+  }
+}
+
+
+void *ScriptCompiled::lookup(const char *name) {
+  return mCompiler.getSymbolAddress(name);
+}
+
+
+void ScriptCompiled::getFuncInfoList(size_t funcInfoListSize,
+                                     FuncInfo *funcInfoList) {
+  if (funcInfoList) {
+    size_t funcCount = getFuncCount();
+
+    if (funcCount > funcInfoListSize) {
+      funcCount = funcInfoListSize;
+    }
+
+    FuncInfo *info = funcInfoList;
+    for (FuncInfoMap::const_iterator
+         I = mEmittedFunctions.begin(), E = mEmittedFunctions.end();
+         I != E && funcCount > 0; ++I, ++info, --funcCount) {
+      info->name = I->first.c_str();
+      info->addr = I->second->addr;
+      info->size = I->second->size;
+    }
+  }
+}
+
+void ScriptCompiled::getObjectSlotList(size_t objectSlotListSize,
+                                       uint32_t *objectSlotList) {
+  if (objectSlotList) {
+    size_t objectSlotCount = getObjectSlotCount();
+
+    if (objectSlotCount > objectSlotListSize) {
+      objectSlotCount = objectSlotListSize;
+    }
+
+    for (ObjectSlotList::const_iterator
+         I = mObjectSlots.begin(), E = mObjectSlots.end();
+         I != E && objectSlotCount > 0; ++I, --objectSlotCount) {
+      *objectSlotList++ = *I;
+    }
+  }
+
+}
+
+} // namespace bcc