From 9b1e6e19760defaf62059d4fb5a196eccda0d4c2 Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 12 Apr 2016 18:13:24 +0000 Subject: [PATCH] - removed i386 specific fpc_pchar_length implementation as it is much slower than the generic one which takes advantage of IndexByte git-svn-id: trunk@33491 - --- rtl/i386/i386.inc | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/rtl/i386/i386.inc b/rtl/i386/i386.inc index 8f316d7bff..8be94cfb08 100644 --- a/rtl/i386/i386.inc +++ b/rtl/i386/i386.inc @@ -989,40 +989,6 @@ end; {$endif FPC_SYSTEM_HAS_FPC_PCHAR_TO_SHORTSTR} -{$ifndef FPC_SYSTEM_HAS_FPC_PCHAR_LENGTH} -{$define FPC_SYSTEM_HAS_FPC_PCHAR_LENGTH} -function fpc_pchar_length(p:pchar):sizeint;assembler;[public,alias:'FPC_PCHAR_LENGTH']; compilerproc; - -var - saveedi : longint; -asm -{$ifdef FPC_PROFILE} - push %eax - push %edx - push %ecx - call mcount - pop %ecx - pop %edx - pop %eax -{$endif FPC_PROFILE} - test %eax,%eax - jz .LStrLenDone - movl %edi,saveedi - movl %eax,%edi - movl $0xffffffff,%ecx - xorl %eax,%eax -{$ifdef FPC_ENABLED_CLD} - cld -{$endif FPC_ENABLED_CLD} - repne - scasb - movl $0xfffffffe,%eax - subl %ecx,%eax - movl saveedi,%edi -.LStrLenDone: -end; -{$endif FPC_SYSTEM_HAS_FPC_PCHAR_LENGTH} - {$IFNDEF INTERNAL_BACKTRACE} {$define FPC_SYSTEM_HAS_GET_FRAME} function get_frame:pointer;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}