Commit Graph

38077 Commits

Author SHA1 Message Date
florian
74d3c8cc57 * on i386-win32 when using stdcall calling conventions, records with a size of 1,2 and 4 are returned in al/ax/eax now, resolves #22675
git-svn-id: trunk@22146 -
2012-08-20 16:57:53 +00:00
michael
2939c41263 * Patch for sdfdata multiline support and assoiated test case from Reinier Olislagers (bug 22237 and bug #22213)
git-svn-id: trunk@22145 -
2012-08-20 16:41:15 +00:00
michael
649bbae1c3 * Expression parsing tests, nested types
git-svn-id: trunk@22144 -
2012-08-20 16:36:18 +00:00
marco
811b65da87 * fix for #22664 from Benito Zander. pos() instead of comparetext was used.
git-svn-id: trunk@22143 -
2012-08-20 10:42:31 +00:00
florian
7201bd8526 + sincos implemenation for x86-64
git-svn-id: trunk@22142 -
2012-08-19 22:36:59 +00:00
michael
1beea17ed2 * Fix for 16-bit PNGs (bug 19209)
git-svn-id: trunk@22141 -
2012-08-19 22:22:01 +00:00
michael
1c32e34395 * Patch from Graeme Geldenhuys to fix some tab->spaces (bug 22658)
git-svn-id: trunk@22140 -
2012-08-19 22:17:29 +00:00
florian
1da4c0c3ce * SinCos overloads added, resolves #22663
git-svn-id: trunk@22139 -
2012-08-19 22:09:03 +00:00
michael
e1ad1a02d2 * 2 test cases from Reinier Olislagers
git-svn-id: trunk@22138 -
2012-08-19 22:08:32 +00:00
michael
8114b9069f * Patch from Reinier Olieslagers to reinstate endoffile event
git-svn-id: trunk@22137 -
2012-08-19 22:04:54 +00:00
michael
c9e622b5a8 * Support for C-style assignments (bug 22007)
git-svn-id: trunk@22136 -
2012-08-19 22:01:36 +00:00
michael
c087aff3b2 * Added support for C-style assignments
git-svn-id: trunk@22135 -
2012-08-19 21:57:55 +00:00
florian
8c39b1eba8 * document tforeachprocmethod
git-svn-id: trunk@22134 -
2012-08-19 21:18:28 +00:00
florian
2a14394cf5 * cleaned up scheduler code, created own scheduler class to avoid unneeded passes through the assembler
git-svn-id: trunk@22133 -
2012-08-19 19:15:34 +00:00
florian
a3bf956c33 * improved main loop of TCpuPreRegallocScheduler.PeepHoleOptPass1Cpu
* reordered conditions in scheduler main loop so they abort potentially quicker

git-svn-id: trunk@22132 -
2012-08-19 19:13:49 +00:00
michael
8019634104 * Class parsing tests (preparing for nested types)
git-svn-id: trunk@22131 -
2012-08-19 16:45:44 +00:00
michael
a665785b93 * Fixed warnings/hints
git-svn-id: trunk@22130 -
2012-08-19 16:40:52 +00:00
michael
42391199af * Remove ParseExpression, changed everywhere to DoParseExpression
* Fix handling of procedure modifiers
* Solved all hints/warnings

git-svn-id: trunk@22129 -
2012-08-19 16:36:26 +00:00
masta
13e2572140 Remove unnecessary compiler version checks in rtl/arm/arm.inc
The CPUARM_HAS_* flags are never defined in 2.6, so there is no reason
to check for the compiler version.

git-svn-id: trunk@22128 -
2012-08-19 15:51:44 +00:00
Jonas Maebe
cf4a2bd392 * fixed java.lang.String and Pascal string comparisons after operator
overloading rewrite (consider java_jlstring to be "stringlike")

git-svn-id: trunk@22127 -
2012-08-19 13:57:48 +00:00
Jonas Maebe
b6db767ac4 * fixed uninitialized TJasminAssembler.ConstAssignmentValue() function result
git-svn-id: trunk@22126 -
2012-08-19 13:54:28 +00:00
Jonas Maebe
060e3ed4ee * changes from r21697, 21707, 21843, 21861, 21701, 21887, 21899 and 21900
to systemh.inc/system.inc/compproc.inc 'merged' into as of yet still
    JVM-specific copies of those files

git-svn-id: trunk@22125 -
2012-08-19 13:51:15 +00:00
Jonas Maebe
504544e173 * fixed null-termination in StringToWideChar() if the buffer is larger than
the string (mantis #22669)

git-svn-id: trunk@22124 -
2012-08-19 13:48:02 +00:00
Jonas Maebe
b353a2ff27 * fixed writing jvm type for string constants after r22020
git-svn-id: trunk@22123 -
2012-08-19 13:47:50 +00:00
Jonas Maebe
1c80388e00 * fixed missing pointer dereference of parameter passed to move()
(patch by ocean, mantis #22670)

git-svn-id: trunk@22122 -
2012-08-19 09:44:56 +00:00
Jonas Maebe
c29e6bbcb8 * disabled assembler implementations of fpc_ansistr_decr_ref/
fpc_ansistr_incr_ref for Darwin/ARM: they don't follow the Darwin/ARM
    ABI for function calls, the code already contains enough ifdefs and
    I don't want to spend time on maintaining OS-specific assembler
    implementations

git-svn-id: trunk@22121 -
2012-08-19 09:37:07 +00:00
Jonas Maebe
f5b1c64d36 * default to VFPv2 on Darwin/ARM (all iOS devices ever released until
now support it, and the VFPv2 code has been very stable for quite
    some time already)

git-svn-id: trunk@22120 -
2012-08-19 09:36:46 +00:00
florian
765fb18679 + add a description to the cpuflags where I know the exact meaning/definition
git-svn-id: trunk@22119 -
2012-08-17 20:45:46 +00:00
florian
c64b400764 * fix Makefile to work with make 3.82 by adding missing compiler commands
git-svn-id: trunk@22118 -
2012-08-17 20:33:09 +00:00
florian
312984cb4f * ifdef blx InterlockedExchange correctly
git-svn-id: trunk@22117 -
2012-08-17 20:30:19 +00:00
florian
54e2b40ab4 * revert the parameter type change of the last commit, it was an overleft from a failed fix attempt
git-svn-id: trunk@22116 -
2012-08-17 19:36:37 +00:00
florian
ba6ba52e7f * instruction scheduling is pretty slow so make it a level 3 optimization for now
git-svn-id: trunk@22115 -
2012-08-17 19:36:29 +00:00
florian
45eafd3e65 * fix MovMov optimization if the second mov is a mov rX,rX
git-svn-id: trunk@22114 -
2012-08-17 19:36:22 +00:00
florian
4b4e08c28b * fixes copy&paste errors when moving end of live pointers
git-svn-id: trunk@22113 -
2012-08-17 19:36:16 +00:00
florian
53a0d3e3a3 * fixed typo when checking live start of references
git-svn-id: trunk@22112 -
2012-08-17 19:36:10 +00:00
florian
5ceeb8aaa9 * enable scheduler when compiling at least with -O2
git-svn-id: trunk@22111 -
2012-08-17 19:36:04 +00:00
florian
a693fe9fb7 + implemented TCpuPreRegallocScheduler.SwapRegLive and make use of it to be able to reschedule instructions before register allocation
git-svn-id: trunk@22110 -
2012-08-17 19:35:59 +00:00
florian
f9dd5bf5e6 + live_start and live_end_properties
git-svn-id: trunk@22109 -
2012-08-17 19:35:51 +00:00
florian
c2d067940a * get rid of hash chars, modern tools and IDEs can use normal comments as documentation if needed
git-svn-id: trunk@22108 -
2012-08-17 19:35:46 +00:00
masta
6729164fcc Work around load latency in InterlockedExchange for ARM
An LDR will have two load latency cycles on most ARM implementations,
moving the
  mov r4, r0
two instructions away from the corresponding ldr will avoid the stalls.

git-svn-id: trunk@22107 -
2012-08-17 12:42:49 +00:00
florian
7e5b8584cf * set MaxOps to 4 for the optimizer because fpc generates now mla instructions
git-svn-id: trunk@22106 -
2012-08-17 12:38:59 +00:00
florian
e353222a8a * if the selected cpu type supports pld, provide and use only the pld variant
git-svn-id: trunk@22105 -
2012-08-17 10:37:36 +00:00
florian
354cac2bb6 + completed arm architectures
* ldrd/strd and pld collected under the edsp define

git-svn-id: trunk@22104 -
2012-08-17 10:37:27 +00:00
florian
7588896775 * make use of cpuflags in the arm compiler
* armv5te architecture

git-svn-id: trunk@22103 -
2012-08-17 10:37:17 +00:00
tom_at_work
38226169a9 Make use of "blx" instruction in fpc_ansistr_dec_ref conditional on CPUARM_HAS_BX, otherwise just use the "bl" instruction. Bug introduced in r22035. Fixes bug report 22632.
git-svn-id: trunk@22102 -
2012-08-17 08:28:08 +00:00
tom_at_work
7c56a9f34d Revert r22080 because it prevents crosscompilation.
git-svn-id: trunk@22101 -
2012-08-16 21:24:47 +00:00
Jonas Maebe
3983342648 * free temps created for case-of-string-statements
git-svn-id: trunk@22100 -
2012-08-16 19:22:23 +00:00
Jonas Maebe
f3ad4af343 * make sure valid_for_assign() returns false for inlined function bodies
(mantis #22613)

git-svn-id: trunk@22099 -
2012-08-16 19:22:17 +00:00
Jonas Maebe
e06d3a6e04 * raise an error when locate is used on a closed dataset (patch by
Claudio Romero, mantis #13938)

git-svn-id: trunk@22098 -
2012-08-16 17:53:09 +00:00
florian
3987c82bab * assign a complexity of 2 to float nodes because they usually involve a loading from memory
git-svn-id: trunk@22097 -
2012-08-15 18:28:47 +00:00