diff options
author | Brent DeGraaf <bdegraaf@codeaurora.org> | 2013-10-02 13:47:11 +0000 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-10-29 22:44:26 -0700 |
commit | f8a907d25a9f319e67fcf005638adb52fa09dd8b (patch) | |
tree | 03d23d53765fb0370976486166160e25b213525f /libc/arch-arm/krait/bionic/memcpy.S | |
parent | 35188756d314056f9a706288a000c7e85c54c2e0 (diff) | |
download | bionic-f8a907d25a9f319e67fcf005638adb52fa09dd8b.tar.gz bionic-f8a907d25a9f319e67fcf005638adb52fa09dd8b.tar.bz2 bionic-f8a907d25a9f319e67fcf005638adb52fa09dd8b.zip |
[AOSP Master] libc: krait: Use performance version of memcpy
* This commit improves performance for small copies compared to the original
CAF one. It also cleans up some functions.
Change-Id: Iaa52635240da8b8746693186b66b69778e833c32
Diffstat (limited to 'libc/arch-arm/krait/bionic/memcpy.S')
-rw-r--r-- | libc/arch-arm/krait/bionic/memcpy.S | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/libc/arch-arm/krait/bionic/memcpy.S b/libc/arch-arm/krait/bionic/memcpy.S index 9ff46a8ac..5d27b574f 100644 --- a/libc/arch-arm/krait/bionic/memcpy.S +++ b/libc/arch-arm/krait/bionic/memcpy.S @@ -45,7 +45,7 @@ ENTRY(__memcpy_chk) cmp r2, r3 - bhi __memcpy_chk_fail + bhi .L_memcpy_chk_fail // Fall through to memcpy... END(__memcpy_chk) @@ -53,19 +53,20 @@ END(__memcpy_chk) ENTRY(memcpy) pld [r1, #64] stmfd sp!, {r0, lr} - .cfi_def_cfa_offset 8 + .cfi_adjust_cfa_offset 8 .cfi_rel_offset r0, 0 .cfi_rel_offset lr, 4 -END(memcpy) -#define MEMCPY_BASE __memcpy_base -#define MEMCPY_BASE_ALIGNED __memcpy_base_aligned #include "memcpy_base.S" -ENTRY_PRIVATE(__memcpy_chk_fail) + // Undo the cfi directives from above. + .cfi_adjust_cfa_offset -8 + .cfi_restore r0 + .cfi_restore lr +.L_memcpy_chk_fail: // Preserve lr for backtrace. push {lr} - .cfi_def_cfa_offset 4 + .cfi_adjust_cfa_offset 4 .cfi_rel_offset lr, 0 ldr r0, error_message @@ -77,7 +78,7 @@ error_code: .word BIONIC_EVENT_MEMCPY_BUFFER_OVERFLOW error_message: .word error_string-(1b+4) -END(__memcpy_chk_fail) +END(memcpy) .data error_string: |