From af77eac8e4d36fa5d869548c30b1f5b6717e9f96 Mon Sep 17 00:00:00 2001 From: Ruben Ayrapetyan Date: Wed, 11 Feb 2015 21:33:45 +0300 Subject: [PATCH] Move Jerry's libc to jerry-libc directory. --- CMakeLists.txt | 27 +++-- {src/jrt => jerry-libc}/jerry-libc-printf.cpp | 0 {src/jrt => jerry-libc}/jerry-libc.cpp | 0 {src/jrt => jerry-libc}/jerry-libc.h | 0 .../jrt => jerry-libc}/target/linux/asm_arm.h | 0 .../jrt => jerry-libc}/target/linux/asm_x64.h | 0 .../jrt => jerry-libc}/target/linux/asm_x86.h | 0 .../target/linux/jerry-asm.S | 0 .../target/linux/jerry-libc.cpp | 0 .../target/stm32f3/jerry-libc.cpp | 0 .../target/stm32f4/jerry-libc.cpp | 0 src/jrt/target/stm32f3/abi.S | 103 ------------------ src/jrt/target/stm32f4/abi.S | 103 ------------------ 13 files changed, 16 insertions(+), 217 deletions(-) rename {src/jrt => jerry-libc}/jerry-libc-printf.cpp (100%) rename {src/jrt => jerry-libc}/jerry-libc.cpp (100%) rename {src/jrt => jerry-libc}/jerry-libc.h (100%) rename {src/jrt => jerry-libc}/target/linux/asm_arm.h (100%) rename {src/jrt => jerry-libc}/target/linux/asm_x64.h (100%) rename {src/jrt => jerry-libc}/target/linux/asm_x86.h (100%) rename {src/jrt => jerry-libc}/target/linux/jerry-asm.S (100%) rename {src/jrt => jerry-libc}/target/linux/jerry-libc.cpp (100%) rename {src/jrt => jerry-libc}/target/stm32f3/jerry-libc.cpp (100%) rename {src/jrt => jerry-libc}/target/stm32f4/jerry-libc.cpp (100%) delete mode 100644 src/jrt/target/stm32f3/abi.S delete mode 100644 src/jrt/target/stm32f4/abi.S diff --git a/CMakeLists.txt b/CMakeLists.txt index e48f1a5e3..bb1128f8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -257,20 +257,21 @@ project (Jerry CXX C ASM) src/ecma/operations src/parser/collections src/parser/js - plugins/lib-device-stm - src/jrt) + src/jrt + jerry-libc + plugins/lib-device-stm) # Platform-specific # Linux set(INCLUDE_CORE_LINUX - src/jrt/target/linux) + jerry-libc/target/linux) # MCU # STM32F3 set(INCLUDE_CORE_MCU_STM32F3 - src/jrt/target/stm32f3) + jerry-libc/target/stm32f3) # STM32F4 set(INCLUDE_CORE_MCU_STM32F4 - src/jrt/target/stm32f4) + jerry-libc/target/stm32f4) # Third-party # Valgrind @@ -307,6 +308,9 @@ project (Jerry CXX C ASM) file(GLOB SOURCE_CORE_PARSER_JS src/parser/js/*.cpp) file(GLOB SOURCE_CORE_JRT src/jrt/*.cpp) + # libc + file(GLOB SOURCE_JERRY_LIBC jerry-libc/*.cpp) + # Plugins file(GLOB SOURCE_PLUGINS_LIB_DEVICE_STM plugins/lib-device-stm/*.cpp) @@ -320,6 +324,7 @@ project (Jerry CXX C ASM) ${SOURCE_CORE_PARSER_COLLECTIONS} ${SOURCE_CORE_PARSER_JS} ${SOURCE_CORE_JRT} + ${SOURCE_JERRY_LIBC} ${SOURCE_PLUGINS_LIB_DEVICE_STM}) # Platform-specific @@ -327,15 +332,15 @@ project (Jerry CXX C ASM) # Jerry standalone set(SOURCE_JERRY_STANDALONE_MAIN_LINUX src/main_linux.cpp) - file(GLOB SOURCE_CORE_JRT_LINUX src/jrt/target/linux/*.cpp src/jrt/target/linux/*.S) + file(GLOB SOURCE_JERRY_LIBC_LINUX jerry-libc/target/linux/*.cpp jerry-libc/target/linux/*.S) # MCU # Jerry standalone set(SOURCE_JERRY_STANDALONE_MAIN_MCU src/main_mcu.cpp) # stm32f3 - file(GLOB SOURCE_CORE_JRT_STM32F3 src/jrt/target/stm32f3/*.cpp src/jrt/target/stm32f3/*.S) + file(GLOB SOURCE_JERRY_LIBC_STM32F3 jerry-libc/target/stm32f3/*.cpp jerry-libc/target/stm32f3/*.S) # stm32f4 - file(GLOB SOURCE_CORE_JRT_STM32F4 src/jrt/target/stm32f4/*.cpp src/jrt/target/stm32f4/*.S) + file(GLOB SOURCE_JERRY_LIBC_STM32F4 jerry-libc/target/stm32f4/*.cpp jerry-libc/target/stm32f4/*.S) # Third-party # Platform-specific @@ -410,7 +415,7 @@ project (Jerry CXX C ASM) set(INCLUDE_CORE ${INCLUDE_CORE} ${${MODIFIER_INCLUDE_${MODIFIER}}}) endforeach() - add_library(${TARGET_NAME}.lib STATIC ${SOURCE_CORE} ${SOURCE_CORE_JRT_LINUX}) + add_library(${TARGET_NAME}.lib STATIC ${SOURCE_CORE} ${SOURCE_JERRY_LIBC_LINUX}) target_compile_options(${TARGET_NAME}.lib PRIVATE ${CXX_FLAGS_JERRY} ${CXX_FLAGS_COMMON_ARCH} ${CXX_FLAGS_COMMON_${BUILD_MODE}}) target_compile_definitions(${TARGET_NAME}.lib PRIVATE ${DEFINES_JERRY}) target_include_directories(${TARGET_NAME}.lib PRIVATE ${INCLUDE_CORE}) @@ -451,7 +456,7 @@ project (Jerry CXX C ASM) # Unit tests declaration add_custom_target(unittests) - add_library(unit_tests.lib STATIC ${SOURCE_CORE} ${SOURCE_CORE_JRT_LINUX}) + add_library(unit_tests.lib STATIC ${SOURCE_CORE} ${SOURCE_JERRY_LIBC_LINUX}) target_compile_options(unit_tests.lib PRIVATE ${CXX_FLAGS_JERRY} ${CXX_FLAGS_COMMON_ARCH} ${CXX_FLAGS_UNIT_TEST}) target_compile_definitions(unit_tests.lib PRIVATE ${DEFINES_JERRY} ${DEFINES_UNIT_TEST}) target_include_directories(unit_tests.lib PRIVATE ${INCLUDE_CORE} ${INCLUDE_UNIT_TEST}) @@ -498,7 +503,7 @@ project (Jerry CXX C ASM) set(DEFINES_JERRY_MCU_SCRIPT JERRY_MCU_SCRIPT_HEADER="${MCU_SCRIPT_GENERATED_HEADER}") # Jerry library - add_library(${TARGET_NAME}.jerry.lib STATIC ${SOURCE_CORE} ${SOURCE_CORE_JRT_${PLATFORM}}) + add_library(${TARGET_NAME}.jerry.lib STATIC ${SOURCE_CORE} ${SOURCE_JERRY_LIBC_${PLATFORM}}) target_compile_options(${TARGET_NAME}.jerry.lib PRIVATE ${CXX_FLAGS_JERRY} ${CXX_FLAGS_COMMON_${BUILD_MODE}} diff --git a/src/jrt/jerry-libc-printf.cpp b/jerry-libc/jerry-libc-printf.cpp similarity index 100% rename from src/jrt/jerry-libc-printf.cpp rename to jerry-libc/jerry-libc-printf.cpp diff --git a/src/jrt/jerry-libc.cpp b/jerry-libc/jerry-libc.cpp similarity index 100% rename from src/jrt/jerry-libc.cpp rename to jerry-libc/jerry-libc.cpp diff --git a/src/jrt/jerry-libc.h b/jerry-libc/jerry-libc.h similarity index 100% rename from src/jrt/jerry-libc.h rename to jerry-libc/jerry-libc.h diff --git a/src/jrt/target/linux/asm_arm.h b/jerry-libc/target/linux/asm_arm.h similarity index 100% rename from src/jrt/target/linux/asm_arm.h rename to jerry-libc/target/linux/asm_arm.h diff --git a/src/jrt/target/linux/asm_x64.h b/jerry-libc/target/linux/asm_x64.h similarity index 100% rename from src/jrt/target/linux/asm_x64.h rename to jerry-libc/target/linux/asm_x64.h diff --git a/src/jrt/target/linux/asm_x86.h b/jerry-libc/target/linux/asm_x86.h similarity index 100% rename from src/jrt/target/linux/asm_x86.h rename to jerry-libc/target/linux/asm_x86.h diff --git a/src/jrt/target/linux/jerry-asm.S b/jerry-libc/target/linux/jerry-asm.S similarity index 100% rename from src/jrt/target/linux/jerry-asm.S rename to jerry-libc/target/linux/jerry-asm.S diff --git a/src/jrt/target/linux/jerry-libc.cpp b/jerry-libc/target/linux/jerry-libc.cpp similarity index 100% rename from src/jrt/target/linux/jerry-libc.cpp rename to jerry-libc/target/linux/jerry-libc.cpp diff --git a/src/jrt/target/stm32f3/jerry-libc.cpp b/jerry-libc/target/stm32f3/jerry-libc.cpp similarity index 100% rename from src/jrt/target/stm32f3/jerry-libc.cpp rename to jerry-libc/target/stm32f3/jerry-libc.cpp diff --git a/src/jrt/target/stm32f4/jerry-libc.cpp b/jerry-libc/target/stm32f4/jerry-libc.cpp similarity index 100% rename from src/jrt/target/stm32f4/jerry-libc.cpp rename to jerry-libc/target/stm32f4/jerry-libc.cpp diff --git a/src/jrt/target/stm32f3/abi.S b/src/jrt/target/stm32f3/abi.S deleted file mode 100644 index 6849486c1..000000000 --- a/src/jrt/target/stm32f3/abi.S +++ /dev/null @@ -1,103 +0,0 @@ -/** - * Runtime ABI for ARM architecture - */ - -/** - * long long __aeabi_llsl(long long {r1, r0}, int {r2}) - */ -.thumb_func -.global __aeabi_llsl -__aeabi_llsl: - // if (r2 >= 64) goto 2f; - cmp r2, #64 - bhs 2f - - // if (r2 < 32) goto 1f; - cmp r2, #32 - blo 1f - - // r1 = (r0 << (r2 - 32)); - // r0 = 0; - sub r2, #32 - mov r1, r0 - lsl r1, r2 - mov r0, #0 - - bx lr - - 1: - // r1 <<= r2; - lsl r1, r2 - - // r2 = 32 - r2; - rsb r2, r2, #32 - - // r1 |= (r0 >> r2); - mov r3, r0 - lsr r3, r2 - orr r1, r3 - - // r2 = 32 - r2; - rsb r2, r2, #32 - - // r0 <<= r2; - lsl r0, r2 - - bx lr - - 2: - // r1 = 0; - // r0 = 0; - mov r1, #0 - mov r0, #0 - - bx lr - - -/** - * long long __aeabi_llsr(long long {r1, r0}, int {r2}) - */ -.thumb_func -.global __aeabi_llsr -__aeabi_llsr: - // if (r2 >= 64) goto 2f; - cmp r2, #64 - bhs 2f - - // if (r2 < 32) goto 1f; - cmp r2, #32 - blo 1f - - // r0 = (r1 >> (r2 - 32)); - // r1 = 0 - sub r2, #32 - mov r0, r1 - lsr r0, r2 - mov r1, #0 - - bx lr - - 1: - // r0 >>= r2 - lsr r0, r2 - - // r0 |= r1 << (32 - r2) - mov r3, r1 - rsb r2, r2, #32 - lsl r3, r3, r2 - orr r0, r3 - rsb r2, r2, #32 - - // r1 >>= r2 - lsr r1, r2 - - bx lr - - 2: - // r1 = 0; - // r0 = 0; - mov r1, #0 - mov r0, #0 - - bx lr - diff --git a/src/jrt/target/stm32f4/abi.S b/src/jrt/target/stm32f4/abi.S deleted file mode 100644 index 6849486c1..000000000 --- a/src/jrt/target/stm32f4/abi.S +++ /dev/null @@ -1,103 +0,0 @@ -/** - * Runtime ABI for ARM architecture - */ - -/** - * long long __aeabi_llsl(long long {r1, r0}, int {r2}) - */ -.thumb_func -.global __aeabi_llsl -__aeabi_llsl: - // if (r2 >= 64) goto 2f; - cmp r2, #64 - bhs 2f - - // if (r2 < 32) goto 1f; - cmp r2, #32 - blo 1f - - // r1 = (r0 << (r2 - 32)); - // r0 = 0; - sub r2, #32 - mov r1, r0 - lsl r1, r2 - mov r0, #0 - - bx lr - - 1: - // r1 <<= r2; - lsl r1, r2 - - // r2 = 32 - r2; - rsb r2, r2, #32 - - // r1 |= (r0 >> r2); - mov r3, r0 - lsr r3, r2 - orr r1, r3 - - // r2 = 32 - r2; - rsb r2, r2, #32 - - // r0 <<= r2; - lsl r0, r2 - - bx lr - - 2: - // r1 = 0; - // r0 = 0; - mov r1, #0 - mov r0, #0 - - bx lr - - -/** - * long long __aeabi_llsr(long long {r1, r0}, int {r2}) - */ -.thumb_func -.global __aeabi_llsr -__aeabi_llsr: - // if (r2 >= 64) goto 2f; - cmp r2, #64 - bhs 2f - - // if (r2 < 32) goto 1f; - cmp r2, #32 - blo 1f - - // r0 = (r1 >> (r2 - 32)); - // r1 = 0 - sub r2, #32 - mov r0, r1 - lsr r0, r2 - mov r1, #0 - - bx lr - - 1: - // r0 >>= r2 - lsr r0, r2 - - // r0 |= r1 << (32 - r2) - mov r3, r1 - rsb r2, r2, #32 - lsl r3, r3, r2 - orr r0, r3 - rsb r2, r2, #32 - - // r1 >>= r2 - lsr r1, r2 - - bx lr - - 2: - // r1 = 0; - // r0 = 0; - mov r1, #0 - mov r0, #0 - - bx lr -