Add thumb target, implement xtensa invokeNative asm code and update makefiles (#151)

This commit is contained in:
wenyongh
2019-12-24 11:09:54 +08:00
committed by GitHub
parent 5875a37f34
commit 2b12e2c957
21 changed files with 372 additions and 131 deletions

View File

@ -9,19 +9,24 @@
#if !defined(BUILD_TARGET_X86_64) \
&& !defined(BUILD_TARGET_AMD_64) \
&& !defined(BUILD_TARGET_X86_32) \
&& !defined(BUILD_TARGET_ARM_32) \
&& !defined(BUILD_TARGET_MIPS_32) \
&& !defined(BUILD_TARGET_XTENSA_32)
&& !defined(BUILD_TARGET_ARM) \
&& !defined(BUILD_TARGET_THUMB) \
&& !defined(BUILD_TARGET_MIPS) \
&& !defined(BUILD_TARGET_XTENSA)
#if defined(__x86_64__) || defined(__x86_64)
#define BUILD_TARGET_X86_64
#elif defined(__amd64__) || defined(__amd64)
#define BUILD_TARGET_AMD_64
#elif defined(__i386__) || defined(__i386) || defined(i386)
#define BUILD_TARGET_X86_32
#elif defined(__thumb__)
#define BUILD_TARGET_THUMB
#define BUILD_TARGET "THUMBV4T"
#elif defined(__arm__)
#define BUILD_TARGET_ARM_32
#define BUILD_TARGET_ARM
#define BUILD_TARGET "ARMV4T"
#elif defined(__mips__) || defined(__mips) || defined(mips)
#define BUILD_TARGET_MIPS_32
#define BUILD_TARGET_MIPS
#elif defined(__XTENSA__)
#define BUILD_TARGET_XTENSA
#else

View File

@ -199,7 +199,7 @@ static void vm_thread_cleanup(void)
while (head) {
bh_thread_wait_list next = head->next;
k_sem_give(&head->sem);
bh_free(head);
/* head will be freed by joining thread */
head = next;
}
thread_data->thread_wait_list = NULL;
@ -333,6 +333,8 @@ int _vm_thread_join(korp_tid thread, void **value_ptr, int mills)
/* Wait some time for the thread to be actually terminated */
k_sleep(100);
/* Destroy resource */
bh_free(node);
return BHT_OK;
}