Commit Graph

185 Commits

Author SHA1 Message Date
ivost
2c22173534 * Added InterlockedCompareExchange64 for i386 (supported over cmpxchg8b instruction)
git-svn-id: trunk@6753 -
2007-03-09 09:29:17 +00:00
marco
57cfd89fbd * Linux 64-bit FS patch from neli for FPC_USE_LIBC
git-svn-id: trunk@6517 -
2007-02-16 22:16:54 +00:00
peter
cd767cf5c8 * i386 uses generic fpc_compare_shortstr_equal
git-svn-id: trunk@6335 -
2007-02-04 16:24:02 +00:00
Jonas Maebe
5ea26c5f5f * fixed darwin compilation
git-svn-id: trunk@6310 -
2007-02-02 22:48:02 +00:00
florian
bcf65051e3 * detect sse properly on linux, fixes tmask*.pp in the testsuite with -Cfsse2
git-svn-id: trunk@6277 -
2007-01-31 21:51:47 +00:00
daniel
e8050233af + Patch by Thorsten Engler to optimize string comparisons for = and <> cases. (Mantis #8231)
git-svn-id: trunk@6241 -
2007-01-28 10:58:52 +00:00
florian
b3a1868ff0 * correct masking of exceptions in genmath code
git-svn-id: trunk@5965 -
2007-01-14 10:44:10 +00:00
Jonas Maebe
3381fd2ea1 * ismultithread is a longbool nowadays (cmpb -> cmpl)
git-svn-id: trunk@5893 -
2007-01-11 17:32:15 +00:00
florian
4ee9f1b394 * use DefaultCW to reload fpu settings
git-svn-id: trunk@5169 -
2006-11-02 08:58:01 +00:00
Jonas Maebe
5acc8b44a8 * activated internal get_frame for x86
* turn off stackframe optimizations on x86 if get_frame is called
    in the current routine, or if the address of a nested function
    is taken in the current routine
  + test for the above
  * this fixes the IDE when compiled with stackframe optimizations
    on x86

git-svn-id: trunk@5146 -
2006-11-01 12:48:53 +00:00
peter
2f0ce31751 * string concat changed from function to procedure to
allow runtime optimization if the destination is the
    same as a source parameter
  * tassignmentnode now sets aktassignmentnode global that can be used
    to use the left node as a destination parameter and
    skip the assignment
  * disabled all cpu specific shortstr concat/append

git-svn-id: trunk@4770 -
2006-10-02 20:00:06 +00:00
florian
0ade2e487d * cleaned up and fixed (from mftq75) sse unit initialization, fixes #7268
git-svn-id: trunk@4501 -
2006-08-24 20:00:06 +00:00
florian
b24388da8d * fix comparedword, fixes #7143
git-svn-id: trunk@4153 -
2006-07-12 20:50:48 +00:00
florian
81b98c9d82 + added more ebx saving to cpuid invocations
git-svn-id: trunk@4147 -
2006-07-12 07:23:03 +00:00
Jonas Maebe
b9125f97d0 * fixed InterlockedCompareExchange
git-svn-id: trunk@3947 -
2006-06-25 18:52:12 +00:00
peter
4c065bce45 * move InterLocked functions to system unit
git-svn-id: trunk@3933 -
2006-06-25 09:26:23 +00:00
daniel
6f1e0eff45 * Add ifdef internal_backtrace
git-svn-id: trunk@3518 -
2006-05-14 08:49:34 +00:00
florian
47fac4ee6e * moved *SSECSR to system unit
* exposed cpu feature detection on i386 from system unit
+ SafeLoadLibrary

git-svn-id: trunk@3481 -
2006-05-11 19:13:54 +00:00
peter
2d3c01d83a * basic work to make Move() and FillChar() internal under ifdef INTERNALMOVEFILLCHAR
git-svn-id: trunk@3021 -
2006-03-24 17:32:39 +00:00
Jonas Maebe
83b1c3736a * fixed assembler version of fpc_AnsiStr_Decr_Ref (based on remark
from Martin Schreiber)

git-svn-id: trunk@2856 -
2006-03-11 14:16:11 +00:00
Jonas Maebe
15270b67be - disabled assembler ansistring helpers for darwin/x86 because they don't
keep 16 byte stack alignment

git-svn-id: trunk@2852 -
2006-03-11 13:18:28 +00:00
peter
f411f615c6 * nostackframe directives
git-svn-id: trunk@2648 -
2006-02-20 10:37:42 +00:00
peter
340cf721b5 * faster int_str
* removed i386 int_str since the generic implementation is faster

git-svn-id: trunk@2646 -
2006-02-20 08:31:20 +00:00
florian
0d61229d63 * fpc_ansistring_decr improved
git-svn-id: trunk@2629 -
2006-02-19 14:38:06 +00:00
florian
af9d6344b8 * activated fastmove on win32
git-svn-id: trunk@2218 -
2006-01-08 10:10:28 +00:00
florian
fb4557d71e * first implementation of pic for i386
git-svn-id: trunk@2107 -
2006-01-01 20:14:48 +00:00
Jonas Maebe
5b9f58ef73 * reverted r2037 because of braindead "out" semantics for refcounted
types

git-svn-id: trunk@2045 -
2005-12-24 01:06:05 +00:00
Jonas Maebe
84aab46550 * changed formal "var" paramters of move, movechar0 and fill* into
"out" parameters to avoid wrong "uninitialized" warnings

git-svn-id: trunk@2037 -
2005-12-23 20:59:08 +00:00
florian
e2a4dac215 + i386 assembler versions of decr_ansistring and unique_ansistring
git-svn-id: trunk@1963 -
2005-12-15 19:51:57 +00:00
marco
8f50bb556e * small fix to inclocked inlining changes
git-svn-id: trunk@1340 -
2005-10-09 11:06:47 +00:00
marco
5c92d88da8 * inlined a few funcs, inlined the non threaded part of inc/declocked. The lock prefixed one
remains a separate proc, as it is slow anyway.

git-svn-id: trunk@1339 -
2005-10-09 10:57:29 +00:00
michael
9beb37574e + Removed SHORTSTRCOMPAREINREG define
git-svn-id: trunk@309 -
2005-06-09 17:59:46 +00:00
michael
addadd41bf + removed HAS_GENERICCONSTRUCTOR define
git-svn-id: trunk@297 -
2005-06-09 17:43:58 +00:00
michael
a775d3d487 + Removed HASCURRENCY VALUEGETMEM VALUEFREEMEM defines
git-svn-id: trunk@293 -
2005-06-09 17:33:22 +00:00
michael
3a2eaa94b1 + Removed INTERNCONSTINTF define
git-svn-id: trunk@267 -
2005-06-07 22:04:18 +00:00
michael
93ba0409be + Removed HASCOMPILERPROC define
git-svn-id: trunk@265 -
2005-06-07 21:41:02 +00:00
michael
0fe5266f4d + Removed NOBOUNDCHECK define
git-svn-id: trunk@263 -
2005-06-07 21:17:22 +00:00
michael
db5d9d75aa + Removed INTERNCOPY define
git-svn-id: trunk@259 -
2005-06-07 21:11:49 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
9445db95f3 * widestring manager can handle now ansi<->wide string conversions even if the lens don't match 2005-03-14 21:09:04 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
3600b51d32 + fastmove from John O'Harrow integrated 2005-01-23 20:03:23 +00:00
peter
14eb8f59b4 internconst, internproc and some external declarations moved to interface 2004-11-17 22:19:04 +00:00
peter
f80f3fc0fa * shortstr compare with empty string fixed
* removed special i386 code
2004-11-01 12:43:28 +00:00
florian
7a7c34e1b7 + several unicode (to/from utf-8 conversion) stuff added
* some longint -> SizeInt changes
2004-07-18 20:21:44 +00:00
Jonas Maebe
d43436e1cd * fixed indexbyte/word/dword when length is 0 (return -1 instead of 0) 2004-07-18 16:40:08 +00:00
daniel
509870553d * Aligment code in fillchar proved to slow down stuff seriously instead of
speeding it up. This is logical, the compiler aligns everything very well,
    it is possible that fillchar gets called on misaligned data, but it seems
    this never happens.
2004-07-07 17:38:58 +00:00
peter
269d24955a * inclocked_longint ifdef fixed 2004-04-29 20:00:47 +00:00