peter
1b2d0e4de9
* save edi,ebx,esi in int_str
2003-10-23 17:01:27 +00:00
peter
26434b49f1
* use __HIGH()
2003-10-16 21:28:40 +00:00
florian
a8374188bc
+ some code for PIC support added
2003-10-14 00:57:48 +00:00
peter
abbc3fa755
* moved int64 asm code to int64p.inc
...
* save ebx,esi
2003-09-14 11:34:13 +00:00
peter
cba9b5206d
* save edi,esi,ebx
2003-09-08 18:21:37 +00:00
peter
a980741757
* generic string routines added
2003-07-07 20:22:05 +00:00
Jonas Maebe
f0227e6a17
* fpc_shortstr_append_shortstr has to use high(s1) instead of 255 as
...
maxlen
+ ppc version of fpc_shortstr_append_shortstr
2003-06-01 14:50:17 +00:00
peter
84f2b74142
* FPC_SHORTSTR_APPEND_SHORTSTR public added
2003-05-26 21:18:13 +00:00
peter
60407e302b
* fpc_shortstr_concat is now the same for all targets
...
* fpc_shortstr_append_shortstr added for optimized code generation
2003-05-26 19:36:46 +00:00
florian
35bb4d682f
* fixed generic shortstr_compare
2003-05-16 22:40:11 +00:00
florian
fa4496bddf
+ support for generic pchar routines added
...
+ some basic rtl stuff for x86-64 added
2003-04-30 16:36:39 +00:00
florian
345117b9ba
* initial implementation with code from math.pp
2003-04-24 09:16:31 +00:00
peter
a7691d8bb8
* fpc_round added, needed for int64 currency
2003-04-23 21:28:21 +00:00
michael
27062c2e01
+ Patch from Mattias Gaertner for single typeinfo
2003-03-29 16:55:56 +00:00
peter
7a2f4e9e26
* ifdef HAS_GENERICCONSTRUCTOR
2003-03-26 00:19:10 +00:00
peter
1e86b585f9
* changed address parameter/return values to pointer instead
...
of longint
2003-03-17 14:30:11 +00:00
Jonas Maebe
15419c49a6
- removed buggy i386-specific FPC_CHARARRAY_TO_SHORTSTR
...
* fixed generic FPC_CHARARRAY_TO_SHORTSTR (web bug #2382 )
* fixed some potential range errors in indexchar/word/dword
2003-02-18 17:56:06 +00:00
carl
c430df4732
* round bugfix with -Or switch
2003-02-05 19:53:17 +00:00
peter
dd08014a49
* use generic int64 power
2003-01-15 00:45:17 +00:00
peter
166fe37203
* power returns int64
2003-01-15 00:40:18 +00:00
mazen
675f2770da
+ defining FPC_SYSTEM_HAS_DECLOCKED and FPC_SYSTEM_HAS_INCLOCKED to avoid
...
compilation error on generic.inc
2003-01-06 23:03:13 +00:00
peter
892e9c864a
* i386 fpu controlword functions added
2003-01-03 20:34:02 +00:00
peter
69ec4efe4d
* fix possible overflow when array len > 255 when converting to
...
shortstring
2003-01-03 17:14:54 +00:00
peter
8bb7e03d19
* fixed return value when len=0 for indexchar,indexword
2002-12-15 22:32:25 +00:00
florian
f3f3ed17b7
* AMD CPUs could have SSE as well
2002-11-29 00:06:24 +00:00
carl
dec8b274f3
* avoid crashes with negative len counts on fills/moves
2002-10-20 11:50:57 +00:00
carl
9afe6d5835
* Replace 220 -> 219
2002-10-15 19:23:43 +00:00
peter
5fff238567
* threads unit added for thread support
2002-10-14 19:39:16 +00:00
peter
ecc3b24fd4
* round returns int64
2002-10-06 21:26:17 +00:00
peter
ea8118b37c
* fpc_pchar_length compilerproc and strlen alias
2002-10-05 14:20:16 +00:00
peter
603b3bc48b
* Copy() changed to internal function calling compilerprocs
...
* FPC_SHORTSTR_COPY renamed to FPC_SHORTSTR_ASSIGN because of the
new copy functions
2002-10-02 18:21:51 +00:00
Tomas Hajny
d7620aec7b
* Opcode syntax corrected
2002-09-23 18:55:19 +00:00
Tomas Hajny
67d1c93691
* femms replaced with opcode to allow older as
2002-09-23 18:25:55 +00:00
carl
876fca9e8f
* make the record packed (just in case)
2002-09-15 10:03:04 +00:00
carl
5ed7522ade
- removed unused defines
2002-09-07 21:32:08 +00:00
peter
9f31783a0a
* old logs removed and tabs fixed
2002-09-07 16:01:16 +00:00
peter
685caf03b6
* add alias for fpc_dispose_class so it can be called from
...
fpc_help_fail_class
2002-09-03 15:43:36 +00:00
peter
24384c648b
* moved genrtti.inc code to rtti
...
* removed rttip.inc, the generic code is almost as fast and
much easier to maintain and has less risks on bugs
2002-09-02 18:42:41 +00:00
peter
c3af3cda9b
* SYSTEMINLINE define that will add inline directives for small
...
functions and wrappers. This will be defined automaticly when
the compiler defines the HASINLINE directive
2002-08-19 19:34:02 +00:00
Jonas Maebe
0ab6c37c31
* fixed compilation errors with 1.0
2002-07-31 11:52:57 +00:00
florian
3f2a82784e
* changed multi threading define: it's MT instead of MTRTL
2002-07-26 15:45:33 +00:00
carl
dfa44b9f00
+ added TEST_GENERIC to test generic version
2002-07-06 20:31:59 +00:00
carl
2604402b16
+ TEST_GENERIC to test generic versions of code
2002-06-16 08:21:26 +00:00
Jonas Maebe
0d606ac980
* fixed memory corruption bug in fpc_help_constructor
2002-06-09 12:54:37 +00:00
peter
90ff7a6db8
* fpc_freemem and fpc_getmem compilerproc
2002-04-21 18:56:59 +00:00
carl
fe48bc8f27
- no need for runerror 203, already fixed!
2002-04-01 14:23:17 +00:00
carl
16b2fe5095
* cause runtime error 203 on failed class creation
2002-03-30 14:52:04 +00:00
peter
e6841b9f3c
* fixed load_smallset
2002-03-29 20:15:44 +00:00
peter
3d1d485d7c
* femms added
2002-03-16 12:01:24 +00:00
peter
97f28dbdfb
* sse and 3dnow extensions from Michail added
2002-03-16 11:51:50 +00:00
peter
21a8c2cc8e
* merged fixes from 1.0.x
2001-12-26 21:03:56 +00:00
peter
7484da248d
* freemem(var) -> freemem(value)
2001-12-03 21:39:19 +00:00
florian
5050f1ff66
* init and final code in genrtti.inc updated
2001-11-17 16:56:08 +00:00
michael
2a27de0fb0
+ Initial variant support
2001-11-14 22:59:11 +00:00
peter
9aeb958a8e
* InterLocked routines added
2001-10-22 21:40:55 +00:00
peter
df8692dd2e
* reset %edx in getordprop so functions returning only %eax don't
...
generate rangecheck errors
2001-10-20 17:25:22 +00:00
carl
901072c39e
* bugfix #1639 (IsMultiThread varialbe setting)
2001-10-09 02:42:05 +00:00
Jonas Maebe
ed449defca
+ searchsystype() and searchsystype() functions in symtable
...
* changed ninl and nadd to use these functions
* i386 set comparison functions now return their results in al instead
of in the flags so that they can be sued as compilerprocs
- removed all processor specific code from n386add.pas that has to do
with set handling, it's now all done in nadd.pas
* fixed fpc_set_contains_sets in genset.inc
* fpc_set_in_byte is now coded inline in n386set.pas and doesn't use a
helper anymore
* some small fixes in compproc.inc/set.inc regarding the declaration of
internal helper types (fpc_small_set and fpc_normal_set)
2001-09-04 11:38:54 +00:00
Jonas Maebe
f256a47f04
* compilerproc implementation of set addition/substraction/...
...
* changed the declaration of some set helpers somewhat to accomodate the
above change
* i386 still uses the old code for comparisons of sets, because its
helpers return the results in the flags
* dummy tc_normal_2_small_set type conversion because I need the original
resulttype of the set add nodes
NOTE: you have to start a cycle with 1.0.5!
2001-09-03 13:27:41 +00:00
Jonas Maebe
41a57028b9
* converted adding/comparing of strings to compileproc. Note that due
...
to the way the shortstring helpers for i386 are written, they are
still handled by the old code (reason: fpc_shortstr_compare returns
results in the flags instead of in eax and fpc_shortstr_concat
has wierd parameter conventions). The compilerproc stuff should work
fine with the generic implementations though.
* removed some nested comments warnings
2001-08-30 15:43:14 +00:00
Jonas Maebe
06f9cd4c96
* some fixes in compilerprocs for chararray to string conversions
...
* conversion from string to chararray is now also done via compilerprocs
2001-08-29 19:49:03 +00:00
Jonas Maebe
fc92c3b336
+ compilerproc implementation of most string-related type conversions
...
- removed all code from the compiler which has been replaced by
compilerproc implementations (using {$ifdef hascompilerproc} is not
necessary in the compiler)
2001-08-28 13:24:46 +00:00
peter
75676a4866
* moved i386 specific code to include file
2001-08-04 11:03:42 +00:00
Jonas Maebe
b9f6efc85b
+ "compproc" helpers
...
* renamed several helpers so that their name is the same as their
"public alias", which should facilitate the conversion of processor
specific code in the code generator to processor independent code
* some small fixes to the val_ansistring and val_widestring helpers
(always immediately exit if the source string is longer than 255
chars)
* fixed fpc_dynarray_high and fpc_dynarray_length if the dynarray is
still nil (used to crash, now return resp -1 and 0)
2001-08-01 15:00:09 +00:00
peter
e7c86006db
* m68k updates merged
2001-07-30 21:38:54 +00:00
peter
ca8d604964
* various widestring updates, it works now mostly without charset
...
mapping supported
2001-07-08 21:00:14 +00:00
florian
a4755024cc
* some fixes for widestrings and variants
2001-05-31 22:42:56 +00:00
peter
8bf13fd185
*** empty log message ***
2001-05-09 19:57:07 +00:00
peter
802acf6940
* m68k updates
2001-04-23 18:25:44 +00:00
peter
64b57cd77d
* add nop after popa (merged)
2001-04-21 12:18:09 +00:00
peter
73a59b9ca3
* merged popal fix
2001-04-16 11:22:53 +00:00
peter
e150c46c78
* remove warnings
2001-04-13 22:26:32 +00:00
Jonas Maebe
547bc5f275
* optimized FPC_HELP_CONSTRUCTOR a bit
2001-04-08 13:19:28 +00:00
Jonas Maebe
ab2ea0a472
* moved implementations of strlen and strpas to separate include files
...
(they were duplicated in i386.inc and strings.inc/stringss.inc)
* strpas supports 'nil' pchars again (returns an empty string)
(both merged)
2001-03-05 17:10:04 +00:00
Jonas Maebe
18de59f50c
* fixed all implementations of strpas
2001-03-04 17:31:34 +00:00
Jonas Maebe
8efd8814cf
* fixed strpas (was limited to 254 chars) and made it overall slightly faster
2001-03-04 12:42:18 +00:00
Jonas Maebe
af38291233
* simplified and optimized range checking code, FPC_BOUNDCHECK is no longer necessary
2001-03-03 12:41:22 +00:00
Jonas Maebe
39af441ec6
* fixed bug in strscan (returned nil instead of strend for #0 ) and made it 40% faster
2001-02-17 11:34:00 +00:00
Jonas Maebe
e717dd80f5
* fixed non-working alignment code
2001-02-10 16:08:46 +00:00
marco
f936d45210
* Some register allocation fixes. for stricomp and strilcomp
2001-01-21 10:12:32 +00:00
Jonas Maebe
200e1d4b25
* removed warnings about possible range check errors
2000-12-16 15:58:18 +00:00
florian
5da658c6db
* interfaces basically running
2000-11-12 23:23:34 +00:00
florian
1117f793db
+ FPC_FINALIZEARRAY
...
* Finalize to int_finalize renamed
2000-11-09 17:49:34 +00:00
florian
f79644d9ca
+ AfterConstruction and BeforeDestruction implemented
...
+ TInterfacedObject implemented
2000-11-07 23:42:21 +00:00
florian
49881f1aec
* another fix for interfaces
2000-11-06 21:52:21 +00:00
peter
2660e94c5f
* removed some warnings
2000-11-06 21:35:59 +00:00
florian
747f3d9552
+ interfaces support
2000-11-04 16:28:55 +00:00
florian
1a2851eb47
* a lot of small changes:
...
- setlength is internal
- win32 graph unit extended
....
2000-10-21 18:20:17 +00:00
Jonas Maebe
33ee934d6e
+ new, much faster do_set_range based on the PowerPC version (which
...
will be committed tomorrow)
2000-09-21 16:09:19 +00:00
michael
586c4cea50
+ Conditionals fixed
2000-07-14 10:33:09 +00:00
michael
650fbb86aa
+ removed logs
2000-07-13 11:32:24 +00:00
michael
e7aca136a1
+ Initial import
2000-07-13 06:29:38 +00:00
Jonas Maebe
be0deb8185
- removed fpc_strconcat_len for -dnewoptimizations since it's not
...
used anymore (because the strconcat optimizations have been
disabled quite a while ago)
2000-07-08 09:09:35 +00:00
marco
f5fd205ab5
* Changed move (var source;var dest) to move (const source;var dest)
2000-07-07 18:23:41 +00:00
Jonas Maebe
964dd80cda
* fixed reading past end-of-heap again (correctly this time I hope)
2000-07-01 10:52:12 +00:00
Jonas Maebe
d0b7a84ef6
* strpas is again slightly slower, but won't crash anymore if a pchar
...
is passed to it that starts less than 4 bbytes from the heap end
2000-06-30 12:20:20 +00:00
Jonas Maebe
9aae9228e2
* fixed bug in strscan :(
2000-06-23 11:13:56 +00:00
peter
91592c2c11
* change .align to .balign
2000-06-12 19:53:32 +00:00
Jonas Maebe
e714b0e188
* fixed typo :(
2000-06-12 13:17:56 +00:00
Jonas Maebe
93f4c7a312
* new fixed and faster strpas (previous version only returned the first
...
254 chars when the pchar was aligned on a 4 byte boundary and was >=
255 chars)
2000-06-12 08:33:26 +00:00