Commit Graph

21391 Commits

Author SHA1 Message Date
Jonas Maebe
fc1b5c9fe2 * fixed backwards extension of regalloc information
git-svn-id: trunk@2193 -
2006-01-06 11:17:29 +00:00
Jonas Maebe
ac24965242 * procedures which use goto/label revert to the older and less
efficient regvar allocation scheme
  * also allocate regvars before the loops, not just afterwards

git-svn-id: trunk@2192 -
2006-01-05 23:45:00 +00:00
Jonas Maebe
548a9040bc * test for register variables and goto
git-svn-id: trunk@2191 -
2006-01-05 23:41:54 +00:00
Jonas Maebe
ea89d8a881 * don't move addresses in a LOC_CREGISTER to another register for
derefnodes

git-svn-id: trunk@2190 -
2006-01-05 20:46:20 +00:00
florian
4eb1bc5dc9 * removed obsolete example
git-svn-id: trunk@2188 -
2006-01-05 19:32:56 +00:00
florian
9670e0eb78 * leave stackframe on x86-64 as well away if possible
git-svn-id: trunk@2187 -
2006-01-05 18:08:33 +00:00
Jonas Maebe
61ef30381c * Only synchronise regvars after a loop (and only those regvars
which are used in the loop). The compiler makes now much
    more efficient use of registers for register variables (and
    different regvars can now also share the same register if
    their live range does not overlap)

git-svn-id: trunk@2186 -
2006-01-05 17:48:11 +00:00
Jonas Maebe
b769a968e3 * make sure live_start and live_end are correctly updated while
generating the initialisation and entry code

git-svn-id: trunk@2185 -
2006-01-05 17:46:16 +00:00
Jonas Maebe
24c3ec1095 * also process methodpointerinit and methodpointerdone fields
of calln in foreachnode*()

git-svn-id: trunk@2183 -
2006-01-05 16:49:31 +00:00
joost
5e631df4cc + do not try to applyupdates on an empty dataset
+ removed obsolete refresh from applyupdates
+ removed obsolete SetCurrentRecord

git-svn-id: trunk@2181 -
2006-01-05 15:53:46 +00:00
Jonas Maebe
fe71df8928 * also synchronise FPU and MM CREGISTERS at the end of procedures
git-svn-id: trunk@2178 -
2006-01-05 10:24:14 +00:00
florian
1024b80867 + sub routines with children with asm blocks need a real stack frame, fixes new failure of tw0848
git-svn-id: trunk@2177 -
2006-01-05 10:10:58 +00:00
Jonas Maebe
7aa315c71a * made some Tcpuregisterset parameters const to avoid useless copying
git-svn-id: trunk@2176 -
2006-01-05 10:10:25 +00:00
florian
abc1bcca24 * fixed previous commit ...
git-svn-id: trunk@2175 -
2006-01-05 09:40:04 +00:00
florian
c9870d4aa3 * new line inserted :)
git-svn-id: trunk@2174 -
2006-01-05 09:36:48 +00:00
florian
1851481694 * fixed typo
git-svn-id: trunk@2173 -
2006-01-05 09:35:59 +00:00
tom_at_work
3462426b1d * stack frame optimizations
git-svn-id: trunk@2172 -
2006-01-04 23:27:40 +00:00
Jonas Maebe
21d51d8815 + tests for web bugs 3183 and 4403
git-svn-id: trunk@2170 -
2006-01-04 22:47:28 +00:00
Jonas Maebe
cbaa100654 * "fixed" web bugs 3183 and 4403 by breaking the parser in
Delphi mode so that you can change the return type of
    overriding interface methods into anything you want.
    You will get a nasty warning though.

git-svn-id: trunk@2168 -
2006-01-04 22:21:05 +00:00
Jonas Maebe
9c2ee3a722 * fixed web bug #4086: do not create a refcounted temp for
interface temps created for complex callnodes

git-svn-id: trunk@2165 -
2006-01-04 21:07:10 +00:00
florian
a71d2b432c * synchronize reg. variables before loading the function result
git-svn-id: trunk@2163 -
2006-01-04 20:30:41 +00:00
florian
f7d2c47f73 + no stackframe is generated for i386 if possible
git-svn-id: trunk@2162 -
2006-01-04 19:19:06 +00:00
joost
a85bb43749 + replaced #10 for LineEnding
+ Implemented the use of HostName

git-svn-id: trunk@2161 -
2006-01-04 17:52:03 +00:00
florian
be74e017d4 * fixed VarAsType with varSingle, fixes bg 4634
git-svn-id: trunk@2159 -
2006-01-04 15:17:59 +00:00
Jonas Maebe
f92f8501ff * applied r2098 change regarding threads destroying themselves to
the other bsd variants

git-svn-id: trunk@2158 -
2006-01-04 13:31:50 +00:00
Jonas Maebe
43af4ed0b3 + added
git-svn-id: trunk@2157 -
2006-01-04 12:12:58 +00:00
Jonas Maebe
a67f42a3e7 * also return 0 when reading an unsigned integer at the end of a file
git-svn-id: trunk@2156 -
2006-01-04 12:07:21 +00:00
Jonas Maebe
58381ff7b6 * made chararray handling 98% TP-compatible, fixes web bugs 3012
and 4080. The compatibility differences are:
      a) writing a chararray which is zero-based but not zero-
         terminated does not cause a buffer overflow
      b) non-zero-based chararrays can also be read

    The difference was that previously, all chararrays were treated
    as pchars. In TP/Delphi (and now also in FPC), this is only done
    for zero-based chararrays. For non-zero-based ones, the entire
    contents of the array should always be used (including #0's).

    The default parameters in the system unit for the chararray
    helpers are to avoid having to use a define for bootstrapping.

git-svn-id: trunk@2152 -
2006-01-04 10:05:10 +00:00
florian
629b765688 * updated message file from Karl-Michael Schindler
git-svn-id: trunk@2151 -
2006-01-04 10:00:07 +00:00
daniel
1318b95a06 * Enable recognition of property keyword in all modes now that
they are allowed for objects

git-svn-id: trunk@2149 -
2006-01-03 23:11:28 +00:00
florian
f60d89cc75 + StrToQWord patch from Vincent Snijders
git-svn-id: trunk@2148 -
2006-01-03 22:15:22 +00:00
Jonas Maebe
69c64cf40b * initialise windmax (web bug #4654)
git-svn-id: trunk@2146 -
2006-01-03 21:24:03 +00:00
tom_at_work
c637f452e5 * disable tw3893 for 64 bit cpus because it tests some 32 bit specific casting
git-svn-id: trunk@2145 -
2006-01-03 21:17:36 +00:00
tom_at_work
0b5490b743 * added support for 64 bit integers in variant comparison code, fixes tw2763 on 64 bit platforms
git-svn-id: trunk@2144 -
2006-01-03 21:14:45 +00:00
tom_at_work
4b48a8880f * added support for BI and BO fields for branches
* correct spilling for FP values

git-svn-id: trunk@2143 -
2006-01-03 21:07:39 +00:00
marco
1318b959e0 * ffinish patch
git-svn-id: trunk@2141 -
2006-01-03 19:09:25 +00:00
Jonas Maebe
9bb86eb411 * never make vs_var or vs_out variabled non-regable, unless it's an
access from a nested procedure. This allows keeping the address
    of large function results like shortstrings in a register,
    because they were always made non-regable by a typeconversionnode
    due to the fact that they are aliased by an absolute alias.

git-svn-id: trunk@2140 -
2006-01-03 15:37:49 +00:00
florian
fd18504fea * patch from Vincent Snijders to support reading/writing of qword properties
git-svn-id: trunk@2137 -
2006-01-03 12:56:47 +00:00
florian
a8e4073903 * fixed broken DirectoryExists
git-svn-id: trunk@2136 -
2006-01-03 12:53:27 +00:00
florian
61e3b70cfa * cleaned up segmented thread variables
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
florian
3ccec3fbdd * proper error if a directory is passed as configuration file
git-svn-id: trunk@2134 -
2006-01-02 21:07:15 +00:00
Jonas Maebe
8776946bbf + test for macpas interface-only definition units
git-svn-id: trunk@2131 -
2006-01-02 20:59:05 +00:00
Jonas Maebe
48e98d2a17 * fixed compilation of macpas interface-only units
git-svn-id: trunk@2130 -
2006-01-02 20:55:10 +00:00
Jonas Maebe
f3e69a1569 * also allow overloading of function results with related interfaces
git-svn-id: trunk@2128 -
2006-01-02 18:58:41 +00:00
florian
ce73006fc3 * picfied code
git-svn-id: trunk@2127 -
2006-01-02 18:35:17 +00:00
florian
48c8401104 * proper setting of symbol sizes and types
git-svn-id: trunk@2126 -
2006-01-02 18:35:01 +00:00
florian
bf5907dcdc * more @GOT parsing
git-svn-id: trunk@2125 -
2006-01-02 18:30:18 +00:00
florian
43cd438544 * generate _GLOBAL_OFFSET_TABLE_ variable on i386 if necessary
git-svn-id: trunk@2124 -
2006-01-02 18:29:43 +00:00
florian
06c84e1c5e * fixed writing of symbol sizes
git-svn-id: trunk@2123 -
2006-01-02 18:29:18 +00:00
Jonas Maebe
d475c3ed24 * fix for web bug #4568 by Alexey Lekatorchuk
git-svn-id: trunk@2121 -
2006-01-02 18:07:33 +00:00