Commit Graph

496 Commits

Author SHA1 Message Date
florian
d7dbd71881 * fastmove disabled, has too much drawbacks 2005-01-26 20:58:10 +00:00
peter
8be342c36b * pinteger in non-delphi/objfpc mode is psmallint 2005-01-24 18:03:19 +00:00
peter
445fe79686 * no sigprocmask for 1.0.x bootstrapping 2005-01-24 16:54:16 +00:00
florian
8a2bc0e507 * 1.0.x fix 2005-01-24 08:17:00 +00:00
florian
6780d226ce * made IA32 the default 2005-01-23 20:10:05 +00:00
florian
3600b51d32 + fastmove from John O'Harrow integrated 2005-01-23 20:03:23 +00:00
peter
7395e7e546 * restore sigprocmask for linux 2005-01-20 16:38:28 +00:00
florian
43e425072b * fixed div by zero check for qword mod qword 2004-11-21 16:41:16 +00:00
peter
2633b4883f * external fixes 2004-11-21 16:33:55 +00:00
peter
4d8460ec2f * float routines all use internproc and compilerproc helpers 2004-11-21 15:35:23 +00:00
peter
14eb8f59b4 internconst, internproc and some external declarations moved to interface 2004-11-17 22:19:04 +00:00
peter
e85d8c970c fixed result of strlcopy 2004-11-04 20:57:33 +00:00
florian
07c28067aa * fixed sse exception handling 2004-11-02 15:26:21 +00:00
peter
f80f3fc0fa * shortstr compare with empty string fixed
* removed special i386 code
2004-11-01 12:43:28 +00:00
peter
fd759e521f * saveregisters calling convention is obsolete 2004-10-24 20:01:41 +00:00
florian
9205c6e800 * fixed overflow checking in qword multiplication 2004-09-26 08:52:51 +00:00
florian
051126d079 * assembler version of mod_qword_word reactivated 2004-07-25 11:50:39 +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
peter
783f8068a5 * add fclex for fpu exceptions to round/trunc 2004-07-09 23:06:11 +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
florian
6427a54c3d * fixed some bootstrapping problems as well as some 64 bit stuff 2004-06-13 10:49:50 +00:00
florian
7f2606ed8a * fpc_mul_qword uses always the assembler implementation 2004-05-10 20:58:20 +00:00
peter
61036b2149 * fixed wrong typecasts 2004-05-09 15:47:56 +00:00
Jonas Maebe
dedf697f3a * use some more string routines from libc if FPC_USE_LIBC is used 2004-05-01 15:26:33 +00:00
peter
269d24955a * inclocked_longint ifdef fixed 2004-04-29 20:00:47 +00:00
peter
b4474438d9 * FPC_MOVE alias 2004-04-26 15:55:01 +00:00
marco
e546db7a23 * interlocked* changed to longints, including winapi. (which was a bug) 2004-03-05 12:17:50 +00:00
florian
c9122a4719 + completed x86-64/linux system unit 2004-02-05 01:16:12 +00:00
Jonas Maebe
5439babeb5 + cgeneric.inc: implementations of rtl routines based on libc
* system.inc: include cgeneric.inc before powerpc.inc/i386.inc/... if
    FPC_USE_LIBC is defined
  * powerpc.inc, i386.inc: check whether the routines they implement aren't
    implemented yet in another include file (cgeneric.inc)
2004-01-11 11:10:07 +00:00
Jonas Maebe
6bd3eccdac + fpc_cpuinit procedure to allow cpu/fpu initialisation before any unit
initialises
  + fpu exceptions for invalid operations and division by zero enabled for
    ppc
2004-01-02 17:21:50 +00:00
peter
31a33a1a7b * fixed indexbyte for regcall 2003-12-24 23:07:28 +00:00
peter
bcdf065947 * fix set_set_range 2003-12-24 22:38:24 +00:00
peter
d11cecb354 * removed assembler
* cleanup
2003-12-24 22:27:13 +00:00
peter
0105b62700 * fix call to handleerror for regcall 2003-12-23 23:09:43 +00:00
peter
c1a25f53b6 * increment should use ofcourse use 1 instead of -1 2003-12-23 22:23:34 +00:00
michael
71da578b33 + Patch from Peter to fix strlcomp 2003-12-19 09:28:00 +00:00
peter
6b6741b41c * win32 regcall patches 2003-12-17 21:56:33 +00:00
peter
48b84272bf * fix warning in gas 2003-12-04 21:44:39 +00:00
peter
0d3948fc5f * register calling updates 2003-12-04 21:42:07 +00:00
peter
07f38cd53a * more fixes 2003-12-03 23:06:35 +00:00
peter
e0bf2ea8d1 * typo in sub_set 2003-12-03 22:46:54 +00:00
Jonas Maebe
89d4ca293b * fix power() for negative base 2003-11-29 16:40:12 +00:00
michael
8373e40e10 + Patch from Johannes Berg for bug #2759 2003-11-24 21:57:43 +00:00
peter
23ae4449ec * register calling updates 2003-11-23 16:50:49 +00:00
peter
5e5462edd1 * make strpas assembler function 2003-11-19 16:58:44 +00:00
peter
8f8b47194a * REGCALL define added 2003-11-11 21:08:17 +00:00
marco
b15ba0a5ae * Peter's Cardinal<->Longint fixes patch 2003-11-03 09:42:27 +00:00
mazen
84e8f0e96b + assembler mode forced to ATT style for x86 cpu 2003-10-31 09:20:11 +00:00
marco
41e3249c4b * fix from peter i386.inc to circumvent ebx destroying 2003-10-27 09:16:57 +00:00
florian
4dbc76b90d * fixed arctan2 to handle x=0 correctly as well 2003-10-26 15:58:05 +00:00
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
Jonas Maebe
9cf6b9f89d * much faster strcopy and strscan procedures 2000-06-11 14:25:23 +00:00
Jonas Maebe
2689404afd * fixed web bug #983 (array name wasn't skipped in add/decref) 2000-06-07 08:55:30 +00:00
pierre
bf20aa47d9 * fix ingnored assembler error in IndexDWord 2000-05-09 06:21:58 +00:00
pierre
d7afdbd8e6 * Preserve all registers in SetJmp
* set EAX to value filed in LongJmp instead of only 0 or 1
2000-05-04 09:47:40 +00:00
pierre
a41bd45aad * 0**n where n<>0 is 0; 0**0 generates RTE 207 2000-05-02 10:37:50 +00:00
Jonas Maebe
ff9782d70c + FPC_SHORTSTR_CONCAT_LEN (temporary, for -dnewoptimizations) 2000-04-23 09:26:51 +00:00
Jonas Maebe
ec08464c80 + added destroyed registers list for move procedure (it doesn't destroy
edx)
2000-04-10 09:47:15 +00:00
pierre
d7346825ee changed to get nasm to compile system 2000-04-07 21:29:00 +00:00
florian
33f3467ef0 * the bounds check error gets now a correct stack frame 2000-04-06 08:39:22 +00:00
peter
7c516d9404 * fixed addref/decref for records, the data/type was read in the
wrong order
2000-04-01 11:45:34 +00:00
pierre
beecf1ec51 * remove fninit in longjump 2000-03-31 23:12:09 +00:00
Jonas Maebe
1e8a7f6853 * added missing register that is destroyed by strecopy
+ some destroyed register lists for procedures that didn't have one yet
2000-03-28 11:14:33 +00:00
florian
95d572ca04 * we don't need to to finit twice ... 2000-02-18 16:16:13 +00:00
florian
ff96d13e5f * fixed constants in rtti
* longjmp does now a finit
2000-02-18 15:23:01 +00:00
florian
2eb62408ae * disabled FIXED data type per default 2000-02-15 14:36:57 +00:00
florian
4dd95e6a80 * longjump does now a finit 2000-02-09 22:12:54 +00:00
peter
6b66a55cd6 * truncated log 2000-02-09 16:59:28 +00:00
Jonas Maebe
7fbe48e245 * fixed warning 2000-01-13 13:06:03 +00:00
pierre
fb2b4f7510 * wrong change for StrPas function corrected 2000-01-11 22:56:57 +00:00
marco
226a728dae * direct params to internal asm. 2000-01-11 21:12:15 +00:00
marco
f2142127d8 * Direct params to internal assembler 2000-01-11 21:11:34 +00:00
marco
e8258f23c9 * Changed some direct asm params to real params 2000-01-11 21:11:04 +00:00
peter
c775ade1d6 * primitives added 2000-01-10 09:54:30 +00:00
daniel
ec29a31834 * copyright 2000 2000-01-07 16:41:28 +00:00
daniel
a79b4a404b * copyright 2000 added 2000-01-07 16:32:21 +00:00
pierre
5f6f1fd669 * typo error if previous commit 1999-12-21 11:48:09 +00:00
pierre
ffc5263bfc + FPC_CHARARRAY_TO_SHORTSTRING added 1999-12-21 11:13:34 +00:00
florian
b8d4922188 * bug #766 fixed 1999-12-18 23:08:33 +00:00
Jonas Maebe
c14811e633 * faster abs() function (no jump anymore) 1999-12-11 18:59:44 +00:00
Jonas Maebe
5ffd2e21d4 * reinstated old random generator, but modified it so the integer
one now has a much longer period
1999-11-20 12:48:09 +00:00
daniel
ec77ff77ee * Committed new random generator. 1999-11-09 20:14:12 +00:00
peter
71d7f4ef38 * memorymanager expanded with allocmem/reallocmem 1999-10-30 17:39:05 +00:00
pierre
e8f2eba064 * fix for FPC_HELP_FAIL_CLASS 1999-10-08 14:40:54 +00:00
peter
11a2d8977e * fixed power(int,int) with negative base
* power(ext,ext) with negative base gives rte 207
1999-10-06 17:44:43 +00:00
pierre
7e716ff478 + code for fail for class 1999-10-05 20:50:06 +00:00
peter
88b7b037b2 + new heap manager supporting delphi freemem(pointer) 1999-09-17 17:14:11 +00:00
florian
47b7b2d321 * some math functions are now coded inline by the compiler 1999-09-15 20:24:11 +00:00
Jonas Maebe
d581decb97 * added dummy local var to boundcheck to force stackframe generation 1999-09-15 13:04:04 +00:00
pierre
7efee9b639 * changes for fail support 1999-08-19 12:50:08 +00:00
pierre
a0e69fbd00 + VMT reset to -1 if getmem called, neede for fail 1999-08-18 10:43:31 +00:00
pierre
e33295ceb0 * loading of esp value corrected 1999-08-18 10:42:13 +00:00
peter
793b28882f * classes vmt changed to only positive addresses
* sharedlib creation is working
1999-08-09 22:19:46 +00:00
peter
c5faa84f92 * saveregister is now working and used for assert and iocheck (which has
been moved to system.inc because it's now system independent)
1999-08-05 23:45:09 +00:00
michael
344a35fec1 Object finalization data fixed 1999-07-31 22:27:28 +00:00
peter
aedeaf9b7e * removed temp defines 1999-07-06 15:35:59 +00:00
peter
82c6138188 * removed temp defines 1999-07-06 10:53:52 +00:00
florian
b49d48c4e0 * int_new_class returned with zero flag=1, if at the entrance eax was zero
and newinstance wasn't called, fixed
1999-07-03 09:03:47 +00:00
pierre
13b4e5f347 * added $define FPC_SYSTEM_HAS_... for use with generic.inc 1999-05-31 22:03:37 +00:00
peter
03535bc427 * smaller sptr function 1999-05-31 12:49:19 +00:00
peter
62effc73d7 * nil check for strpas 1999-04-22 10:52:40 +00:00
florian
e3dc06bceb * the class helper routines doesn't store the registers properly,
fixed
1999-04-19 06:13:28 +00:00
michael
7e68180e14 +Added checking for nil on most functions. 1999-04-09 07:58:41 +00:00
peter
17f26f6577 * removed warnings 1999-04-08 11:30:57 +00:00
pierre
1bbbb8e6ca + no assembler if systemdebug defined 1999-04-07 16:21:10 +00:00
peter
ff7e4f60b5 * use assembler and remove all rets 1999-03-30 16:58:49 +00:00
peter
af8a04a5af * use external names
* removed all direct assembler modes
1999-03-01 15:40:48 +00:00
michael
82d08fba5d + Added header and log 1999-02-25 10:05:07 +00:00
michael
7865673a04 * Joined strings and sysutils 1999-02-25 07:39:17 +00:00
pierre
8c54e5656a * VMT field zeroed at destructor forgot offset !! 1999-02-22 13:23:22 +00:00
pierre
2d311def72 + code for FPC_TESTOBJEXT conditionnal 1999-02-05 12:26:25 +00:00
florian
769b8d8711 * class destructor helper routine for the new calling copnventions fixed 1999-02-02 11:04:27 +00:00
Jonas Maebe
2738539d11 + fixed bug0163 (set1 <= set2 support) 1999-01-20 17:48:02 +00:00
pierre
02a46a6547 * HandleError -> HandleErrorFrame to avoid problem in
assembler code in i386.inc
    (call to overloaded function in assembler block !)
1998-12-21 14:28:20 +00:00
michael
36d5398924 + Finalize fixed after florians fix :) 1998-12-20 14:08:06 +00:00
florian
9af41247e4 * Finalize fixed, constant for ansistrings is 9, not 10 1998-12-19 00:22:09 +00:00
peter
4eeae4e425 * fixed io-error handling 1998-12-18 17:21:32 +00:00
peter
516958a67b * removed temp symbols 1998-12-15 22:42:49 +00:00
pierre
86f0e64b17 * vmt address pushed for CHECK_OBJECT was not removed from stack 1998-11-30 15:27:28 +00:00
michael
5f21062312 + Adjusted typeinfo constants 1998-11-30 10:07:34 +00:00
peter
842c6be313 * NOATTCDQ define 1998-11-28 14:09:48 +00:00
Jonas Maebe
fc52d94323 * changed cdq to cltd in AT&T assembler block 1998-11-26 23:14:52 +00:00
peter
d2ba96eeac + FPC_BOUNDCHECK 1998-11-26 21:33:58 +00:00
peter
24cb89c2bd * removed all explicit leave;ret commands and let them generate by
the compiler (needed for stack alignment)
1998-11-24 12:54:57 +00:00
peter
06209a3be3 + FPC_SET_CREATE_ELEMENT 1998-11-24 12:54:01 +00:00
peter
7aeb09d89d * renamed string functions 1998-11-17 00:41:08 +00:00
pierre
ec5cec5909 * changed fsqrtl to fsqrt (needed by as v2.9.4 for win32) 1998-11-16 14:26:03 +00:00
peter
a990cb8ab6 * fixes for 0.99.8 1998-11-16 12:21:47 +00:00
peter
c42ce9d1d0 * ATT reader 1998-11-13 10:10:54 +00:00
pierre
7e1942412d + added FPC_SET_UNSET_BYTE for exclude of normsets 1998-10-22 14:50:08 +00:00
peter
4967811717 * fixed for stackaligment also on 4 bytes, never use 'ret $..' direct 1998-10-22 12:48:29 +00:00
pierre
5c9acf66ad * removed old code forgotten about vmtoffset 1998-10-19 08:49:16 +00:00
pierre
850e611770 * added code for vmt_offset in destructors 1998-10-16 13:37:45 +00:00
peter
852db81fd0 * fill_object in constructor changed to 'inline' code to overcome
pushw/pushl problem
1998-10-16 08:53:50 +00:00
pierre
2312760103 + first step of variable vmt offset
offset is stored in R_EDI (R_D0)
   if objectvmtoffset is defined
1998-10-15 11:35:02 +00:00
peter
96159c617a * more constant expression evals 1998-10-02 09:25:09 +00:00
michael
7b19196a21 + Corrections in record and array handling. 1998-09-29 08:38:25 +00:00
peter
8b2c09d032 * added some more $ifdef FPCNAMES 1998-09-28 11:02:34 +00:00
florian
c27d0bd2e0 * FPC_NEW_CLASS optimized: addl $0,%eax => orl %eax,%eax 1998-09-28 10:23:43 +00:00
michael
afa6b37391 + Bugreport from Gertjan Schouten 1998-09-28 08:40:47 +00:00
peter
03ba16b03f + fpc_pchar_to_str alias for strpas 1998-09-22 15:32:00 +00:00
florian
41efdfd57d * some ansistring fixes 1998-09-20 17:49:07 +00:00
peter
4620a73a9b * FPC_ names
* Heap manager is now system independent
1998-09-14 10:48:00 +00:00
pierre
e283510c19 merge for fixes branch 1998-09-11 17:38:48 +00:00
peter
b95cabdc60 * much more readable :) 1998-09-08 15:02:48 +00:00
pierre
5342205224 * small corrections 1998-09-04 17:27:48 +00:00
peter
b8ff0c3320 + internconst 1998-09-01 17:36:17 +00:00
pierre
d5df96ef6a * corrected a bug introduced by my last change
(allocating 1Mb but only using a small part !!)
1998-08-25 14:15:51 +00:00
florian
f2b23a48b9 * corrected exp() function 1998-08-25 08:49:05 +00:00
pierre
69aed4ad5c * bug allocation of more than 1 MB failed corrected 1998-08-24 14:44:04 +00:00