Merge "Fix Old JIT Disassembler"
diff --git a/bcinfo/Android.mk b/bcinfo/Android.mk
index a91d9be..68be85f 100644
--- a/bcinfo/Android.mk
+++ b/bcinfo/Android.mk
@@ -21,6 +21,14 @@
LOCAL_PATH := $(call my-dir)
+libbcinfo_SRC_FILES := bcinfo.cpp
+libbcinfo_C_INCLUDES := $(LOCAL_PATH)/../include
+libbcinfo_STATIC_LIBRARIES := \
+ libLLVMBitReader \
+ libLLVMBitWriter \
+ libLLVMCore \
+ libLLVMSupport \
+
LLVM_ROOT_PATH := external/llvm
include $(CLEAR_VARS)
@@ -30,20 +38,36 @@
LOCAL_MODULE_TAGS := optional
intermediates := $(local-intermediates-dir)
-LOCAL_SRC_FILES := bcinfo.cpp
+LOCAL_SRC_FILES := $(libbcinfo_SRC_FILES)
LOCAL_CFLAGS += $(local_cflags_for_libbcinfo)
-LOCAL_C_INCLUDES := \
- $(LOCAL_PATH)/../include
+LOCAL_C_INCLUDES := $(libbcinfo_C_INCLUDES)
-LOCAL_STATIC_LIBRARIES += \
- libLLVMBitReader \
- libLLVMBitWriter \
- libLLVMCore \
- libLLVMSupport \
-
+LOCAL_STATIC_LIBRARIES := $(libbcinfo_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES := libcutils libstlport
include $(LLVM_ROOT_PATH)/llvm-device-build.mk
include $(BUILD_SHARED_LIBRARY)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libbcinfo
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_TAGS := optional
+LOCAL_IS_HOST_MODULE := true
+
+LOCAL_SRC_FILES := $(libbcinfo_SRC_FILES)
+
+LOCAL_CFLAGS += $(local_cflags_for_libbcinfo)
+
+LOCAL_C_INCLUDES := $(libbcinfo_C_INCLUDES)
+
+LOCAL_STATIC_LIBRARIES += $(libbcinfo_STATIC_LIBRARIES)
+LOCAL_STATIC_LIBRARIES += libcutils
+
+LOCAL_LDLIBS := -ldl -lpthread
+
+include $(LLVM_ROOT_PATH)/llvm-host-build.mk
+include $(BUILD_HOST_SHARED_LIBRARY)
+
diff --git a/include/bcc/bcc.h b/include/bcc/bcc.h
index b357cf3..3e3a59e 100644
--- a/include/bcc/bcc.h
+++ b/include/bcc/bcc.h
@@ -26,18 +26,6 @@
typedef struct BCCOpaqueScript *BCCScriptRef;
-/* Function information struct */
-struct BCCFuncInfo {
- char const *name;
- void *addr;
- size_t size;
-};
-
-#if !defined(__cplusplus)
-typedef struct BCCFuncInfo BCCFuncInfo;
-#endif
-
-
/* Symbol lookup function type */
typedef void *(*BCCSymbolLookupFn)(void *context, char const *symbolName);
@@ -119,39 +107,14 @@
void *bccGetFuncAddr(BCCScriptRef script, char const *funcname);
-
-
-size_t bccGetExportVarCount(BCCScriptRef script);
-
void bccGetExportVarList(BCCScriptRef script,
size_t varListSize,
void **varList);
-size_t bccGetExportFuncCount(BCCScriptRef script);
-
void bccGetExportFuncList(BCCScriptRef script,
size_t funcListSize,
void **funcList);
-size_t bccGetPragmaCount(BCCScriptRef script);
-
-void bccGetPragmaList(BCCScriptRef script,
- size_t pragmaListSize,
- char const **keyList,
- char const **valueList);
-
-size_t bccGetFuncCount(BCCScriptRef script);
-
-void bccGetFuncInfoList(BCCScriptRef script,
- size_t funcInfoListSize,
- BCCFuncInfo *funcInfoList);
-
-size_t bccGetObjectSlotCount(BCCScriptRef script);
-
-void bccGetObjectSlotList(BCCScriptRef script,
- size_t objectSlotListSize,
- uint32_t *objectSlotList);
-
char const *bccGetBuildTime();
char const *bccGetBuildRev();
diff --git a/lib/ExecutionEngine/bcc.cpp b/lib/ExecutionEngine/bcc.cpp
index fef4ce8..1d2bc8f 100644
--- a/lib/ExecutionEngine/bcc.cpp
+++ b/lib/ExecutionEngine/bcc.cpp
@@ -152,12 +152,6 @@
}
-extern "C" size_t bccGetExportVarCount(BCCScriptRef script) {
- BCC_FUNC_LOGGER();
- return unwrap(script)->getExportVarCount();
-}
-
-
extern "C" void bccGetExportVarList(BCCScriptRef script,
size_t varListSize,
void **varList) {
@@ -182,12 +176,6 @@
}
-extern "C" size_t bccGetExportFuncCount(BCCScriptRef script) {
- BCC_FUNC_LOGGER();
- return unwrap(script)->getExportFuncCount();
-}
-
-
extern "C" void bccGetExportFuncList(BCCScriptRef script,
size_t funcListSize,
void **funcList) {
@@ -211,79 +199,3 @@
}
}
-
-extern "C" size_t bccGetPragmaCount(BCCScriptRef script) {
- BCC_FUNC_LOGGER();
- return unwrap(script)->getPragmaCount();
-}
-
-
-extern "C" void bccGetPragmaList(BCCScriptRef script,
- size_t pragmaListSize,
- const char **keyList,
- const char **valueList) {
- BCC_FUNC_LOGGER();
- unwrap(script)->getPragmaList(pragmaListSize, keyList, valueList);
-
-#if DEBUG_BCC_REFLECT
- if (keyList && valueList) {
- size_t count = unwrap(script)->getPragmaCount();
- LOGD("PragmaCount = %lu\n", (unsigned long)count);
-
- if (count > pragmaListSize) {
- count = pragmaListSize;
- }
-
- for (size_t i = 0; i < count; ++i) {
- LOGD("Pragma[%lu] = (%s , %s)\n",
- (unsigned long)i, keyList[i], valueList[i]);
- }
- }
-#endif
-}
-
-
-extern "C" size_t bccGetFuncCount(BCCScriptRef script) {
- BCC_FUNC_LOGGER();
- return unwrap(script)->getFuncCount();
-}
-
-
-extern "C" void bccGetFuncInfoList(BCCScriptRef script,
- size_t funcInfoListSize,
- BCCFuncInfo *funcInfoList) {
- BCC_FUNC_LOGGER();
-
- if (funcInfoList) {
- unwrap(script)->getFuncInfoList(funcInfoListSize, funcInfoList);
- }
-}
-
-
-extern "C" size_t bccGetObjectSlotCount(BCCScriptRef script) {
- BCC_FUNC_LOGGER();
- return unwrap(script)->getObjectSlotCount();
-}
-
-
-extern "C" void bccGetObjectSlotList(BCCScriptRef script,
- size_t objectSlotListSize,
- uint32_t *objectSlotList) {
- BCC_FUNC_LOGGER();
-
- if (objectSlotList) {
- unwrap(script)->getObjectSlotList(objectSlotListSize, objectSlotList);
-#if DEBUG_BCC_REFLECT
- size_t count = unwrap(script)->getObjectSlotCount();
- LOGD("ObjectSlotCount = %lu\n", (unsigned long)count);
-
- if (count > objectSlotListSize) {
- count = objectSlotListSize;
- }
-
- for (size_t i = 0; i < count; ++i) {
- LOGD("ObjectSlotList[%lu] = %d\n", (unsigned long)i, objectSlotList[i]);
- }
-#endif
- }
-}
diff --git a/lib/ExecutionEngine/bcc_internal.h b/lib/ExecutionEngine/bcc_internal.h
index af1b647..d0f5766 100644
--- a/lib/ExecutionEngine/bcc_internal.h
+++ b/lib/ExecutionEngine/bcc_internal.h
@@ -37,8 +37,12 @@
namespace bcc {
class Script;
- // Alias BCCFuncInfo to bcc::FuncInfo
- typedef struct BCCFuncInfo FuncInfo;
+ /* Function information struct */
+ struct FuncInfo {
+ char const *name;
+ void *addr;
+ size_t size;
+ };
BCC_OPAQUE_TYPE_CONVERSION(bcc::Script *, BCCScriptRef);
BCC_OPAQUE_TYPE_CONVERSION(llvm::Module *, LLVMModuleRef);
diff --git a/tests/Android.mk b/tests/Android.mk
index 01475d7..5696469 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -47,7 +47,7 @@
main.cpp \
disassem.cpp
-LOCAL_SHARED_LIBRARIES := libdl libstlport libbcc
+LOCAL_SHARED_LIBRARIES := libdl libstlport libbcinfo libbcc
LOCAL_C_INCLUDES := \
bionic \
diff --git a/tests/main.cpp b/tests/main.cpp
index cb228ca..eddeaa1 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -73,6 +73,7 @@
}
static int disassemble(BCCScriptRef script, FILE* out) {
+ /* Removed by srhines
disasmOut = out;
disasm_interface_t di;
di.di_readword = disassemble_readword;
@@ -101,6 +102,7 @@
}
delete [] infos;
}
+ */
return 1;
}
@@ -209,6 +211,7 @@
}
static void printPragma(BCCScriptRef script) {
+/* Removed by srhines
size_t numPragma = bccGetPragmaCount(script);
if (numPragma) {
char const ** keyList = new char const *[numPragma];
@@ -222,6 +225,7 @@
delete [] keyList;
delete [] valueList;
}
+*/
}
static int runMain(BCCScriptRef script, int argc, char** argv) {