michael
4f649f34d0
* Patch from Silvio Clecio to update to 0.9.43 headers
...
git-svn-id: trunk@32104 -
2015-10-20 21:12:09 +00:00
nickysn
8eceb73dd4
* also use an 8-bit zero constant for string comparisons with the empty string.
...
This avoids the unnecessary 32-bit comparison on 16-bit and 8-bit CPUs
git-svn-id: trunk@32103 -
2015-10-20 15:50:02 +00:00
Jonas Maebe
9437d0e4d8
* Linux/AArch64 must also copy value parameters passed by reference on the
...
caller side, as this is an AArch64 ABI requirement (unrelated to Darwin).
Fixes webtbs/tw3523 compiled with optimisations on Linux/AArch64
git-svn-id: trunk@32102 -
2015-10-20 12:58:53 +00:00
yury
9bece502a0
* tinterlockedmt test: Reworked test for InterlockedCompareExchange to be more robust.
...
git-svn-id: trunk@32101 -
2015-10-20 12:43:52 +00:00
Jeppe Johansen
eadd93dbae
Most if not all instructions for thumb use only 2 operand rw forms. Changed get_oper_type to match that. It was previously creating bad spilling.
...
git-svn-id: trunk@32100 -
2015-10-20 03:45:22 +00:00
nickysn
a20428f246
* when doing a string comparison that calls an rtl helper, compare the function
...
result with an 8-bit zero constant (which will be expanded to the native
integer size by the comparison node), instead of 32-bit zero. This avoids the
unnecessary 32-bit comparison on 16-bit and 8-bit cpus.
git-svn-id: trunk@32099 -
2015-10-20 01:22:01 +00:00
nickysn
db7b743139
* yet another longint replaced with objpasint in fpc_shortstr_compare_equal
...
git-svn-id: trunk@32098 -
2015-10-19 16:53:40 +00:00
nickysn
b561b3c2ba
* use objpasint (generates better code on 16-bit and 8-bit cpus) instead of
...
longint in several generic shortstr helpers
git-svn-id: trunk@32097 -
2015-10-19 16:36:12 +00:00
pierre
854d04bb46
Fix missing aarch64 CPU in ShowHistory for one test
...
git-svn-id: trunk@32096 -
2015-10-19 14:47:50 +00:00
yury
325a79b81b
* tinterlockedmt test: Another fix to improve threads synchronization. Should fix slow execution on some systems.
...
git-svn-id: trunk@32095 -
2015-10-19 11:34:52 +00:00
pierre
89f5b65bbf
New aarch64-linux gcc compiled objects generated on GCC Compile Farm gcc115 machine
...
git-svn-id: trunk@32094 -
2015-10-19 10:40:35 +00:00
blikblum
9aa6ea2255
Implement OnFilterRecord
...
git-svn-id: trunk@32093 -
2015-10-18 18:53:47 +00:00
sergei
72f60de3c4
* Added two test cases from Mantis #28584 . The issue itself has been fixed with r31475 and r31582.
...
git-svn-id: trunk@32092 -
2015-10-18 14:48:36 +00:00
yury
3344188f3e
* tinterlockedmt: Minor improvement.
...
git-svn-id: trunk@32091 -
2015-10-18 12:41:35 +00:00
Jeppe Johansen
14020b044c
Fix bug in gen_load_cgpara_loc for 64bit registers on 8bit architectures.
...
Added a workaround in a_load_const_reg to allow compilation for AVR.
git-svn-id: trunk@32090 -
2015-10-18 11:36:58 +00:00
yury
3fcbb7d2d4
* tinterlockedmt: Fix race conditions in the InterLockedCompareExchange test.
...
git-svn-id: trunk@32089 -
2015-10-18 11:07:29 +00:00
Jeppe Johansen
1a285a7d24
Fixed an off-by-one error in a_load_const_cgpara which caused some problems.
...
Added some minor CG optimizations.
git-svn-id: trunk@32088 -
2015-10-18 11:03:57 +00:00
sergei
be6bcb71dc
* Fixed test on 64-bit targets, was always using i386 code due to incorrect CPU selection symbol (must be "cpux86_64", not "x86_64").
...
git-svn-id: trunk@32087 -
2015-10-18 10:02:21 +00:00
Jeppe Johansen
7fc3ed2644
Fix a broken OpCp2Op optimization. It needed the added NR_DEFAULTFLAGS allocation to not break subsequent optimizations.
...
Updated the code for a_load_const_cgpara in case it needed stack parameters. This was completely broken before. Now it should allow things to compile at least.
git-svn-id: trunk@32086 -
2015-10-17 23:29:15 +00:00
yury
9193954d1c
* pas2jni: Detect the default units path.
...
git-svn-id: trunk@32084 -
2015-10-17 20:36:29 +00:00
yury
ab4c8623ec
* pas2jni: Fixed reading of the ppudump's output in some cases.
...
git-svn-id: trunk@32083 -
2015-10-17 18:40:21 +00:00
joost
3ec197480b
* Re-generated Makefile for r32081
...
git-svn-id: trunk@32082 -
2015-10-17 18:03:20 +00:00
joost
a0d1296d2a
* Re-created Makefile.fpc for libmicrohttpd with standard template
...
git-svn-id: trunk@32081 -
2015-10-17 18:01:09 +00:00
yury
36622eaba9
* arm-android: Compile for ARMv5T by default to be compatible with all versions of Android.
...
git-svn-id: trunk@32078 -
2015-10-17 16:27:53 +00:00
yury
2dafb8d674
* arm-android: Use kuser_memory_barrier by default.
...
git-svn-id: trunk@32077 -
2015-10-17 16:07:04 +00:00
yury
44777f3797
* Use ThreadSwitch.
...
git-svn-id: trunk@32076 -
2015-10-17 16:03:18 +00:00
yury
c9a0c5e7a6
* arm: Support for the kuser_memory_barrier kernel function for memory barriers.
...
git-svn-id: trunk@32075 -
2015-10-17 15:40:05 +00:00
joost
55f47e0efc
* Added missing include file to fpmake.pp
...
git-svn-id: trunk@32074 -
2015-10-17 15:05:27 +00:00
yury
e3d06cdba7
+ Stress test for Interlocked* functions using multiple threads.
...
git-svn-id: trunk@32073 -
2015-10-17 14:48:04 +00:00
yury
0d9d730efe
* arm-android: Use kuser_cmpxchg for Interlocked* functions when RTL is compiled for the ARMv5t CPU.
...
git-svn-id: trunk@32072 -
2015-10-17 14:38:17 +00:00
joost
57204b2404
* Fixed fppkg --config-file option
...
git-svn-id: trunk@32071 -
2015-10-17 13:39:29 +00:00
Jeppe Johansen
4c8fc04a24
Fix a bunch of alignment problems for arm-embedded, mostly armv6m which uses the generic Move and FIllChar routines.
...
git-svn-id: trunk@32070 -
2015-10-17 12:11:32 +00:00
joost
56c9903c0c
* Fixed compilation of libmicrohttpd on Linux
...
git-svn-id: trunk@32069 -
2015-10-17 09:37:35 +00:00
michael
5a13124fec
* Fix dependency on rtl-extra for windows
...
git-svn-id: trunk@32068 -
2015-10-17 09:02:22 +00:00
michael
de800d14cb
* Added libmicrohttpd, from Silvio Clecio.
...
git-svn-id: trunk@32067 -
2015-10-17 08:13:58 +00:00
Jonas Maebe
1294dc1ede
* when inserting a non-empty ansistring into an empty ansistring, the
...
destination must get the code page of the source (mantis #28850 )
git-svn-id: trunk@32066 -
2015-10-16 19:15:40 +00:00
Jonas Maebe
b2144d1da0
* give an internalerror if we try to write a tdef that doesn't belong to any
...
symtable to a ppufile
git-svn-id: trunk@32065 -
2015-10-16 19:15:37 +00:00
Jonas Maebe
9b310ea9b4
* simplified tx86pointerdef.createx86
...
git-svn-id: trunk@32064 -
2015-10-16 19:15:34 +00:00
Károly Balogh
c81290bc94
fix InterlockedCompareExchange on ARM-Linux: kuser_cmpxchg destroys r3, which needs to be restored, if we have to loop
...
git-svn-id: trunk@32063 -
2015-10-16 18:53:35 +00:00
nickysn
7e6ba9db2a
* do an even better optimization (swap registers in the result, saving 2 mov
...
instructions) on i8086 for 64-bit shl/shr with a constant in the range 32..47
git-svn-id: trunk@32062 -
2015-10-15 21:13:28 +00:00
nickysn
ff5eed1c00
* user xor reg,reg to zero out registers in the i8086 optimized 64-bit shl code
...
git-svn-id: trunk@32061 -
2015-10-15 21:02:53 +00:00
nickysn
6ece867305
* in the i8086 64-bit shl code, use jcxz instead of test cx,cx+jz when
...
optimization target is 386 or earlier (or when optimizing for size)
git-svn-id: trunk@32060 -
2015-10-15 20:51:20 +00:00
nickysn
dc92c3eb09
+ i8086 optimization for the code generated for 64-bit shl/shr with a constant in the range 32..47
...
git-svn-id: trunk@32059 -
2015-10-15 15:59:27 +00:00
nickysn
44f6f607c5
* optimized the generated code on i8086 for 64-bit shl/shr with constant >=48
...
git-svn-id: trunk@32058 -
2015-10-15 15:15:11 +00:00
nickysn
457107d165
* check UseIncDec before generating an INC instruction in tx86addnode.emit_generic_code
...
git-svn-id: trunk@32057 -
2015-10-15 13:11:47 +00:00
Jonas Maebe
d80e318945
* adapted ppudump to the changes in r32031
...
git-svn-id: trunk@32056 -
2015-10-14 16:44:05 +00:00
Jonas Maebe
231039b224
* since T(Tag)HashSet always forces the size to a power of 2, use "and"
...
rather than "mod" to select the hash bucket
git-svn-id: trunk@32055 -
2015-10-14 16:44:02 +00:00
yury
9431648b6c
* Fixed conversion from float to currency when the currency type is 64-bit integer. Issue #28748 .
...
git-svn-id: trunk@32054 -
2015-10-13 22:30:46 +00:00
joost
6e1ae237c3
* Fix for compilation of fpmake.pp by fppkg without libtar unit
...
git-svn-id: trunk@32053 -
2015-10-13 20:49:32 +00:00
yury
7688639a10
* Return a real base address for ELF executables by GetModuleByAddr() instead of hard-coded 0.
...
* Obtain a real processaddress for ELF images by OpenExeFile() instead of hard-coded 0.
* It fixes line info information for Position Independent Executables (PIE).
git-svn-id: trunk@32052 -
2015-10-13 20:08:03 +00:00