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
Jonas Maebe
1e1e4b96e0
* don't store node trees for inline generic routines, as they contain
...
references to defs that are not stored in the ppu files (causing
errors) and are never used for inlining (only the specialisations
may be inlined) (fixes webtbs/tw27658.pp after r32031)
git-svn-id: trunk@32050 -
2015-10-13 15:59:18 +00:00
Jonas Maebe
cebcf0afa8
* add "doregister" parameter to tfloatdef.create, and don't register temporary
...
defs created in the scanner for evaluating compile time expressions
git-svn-id: trunk@32049 -
2015-10-13 15:59:15 +00:00
Jonas Maebe
b22e2ef400
* add "doregister" parameter to tsetdef.create, and don't register temporary
...
defs created in the scanner for evaluating compile time expressions
git-svn-id: trunk@32048 -
2015-10-13 15:59:12 +00:00
Jonas Maebe
e921d7847a
* add "doregister" parameter to tstringdef.create*, and don't register
...
temporary defs created in the scanner for evaluating compile time
expressions
git-svn-id: trunk@32047 -
2015-10-13 15:59:09 +00:00
Jonas Maebe
2778bf55c7
* add "doregister" parameter to torddef.create, and don't register temporary
...
defs created in the scanner for evaluating compile time expressions, or in
the code generator for range checking
git-svn-id: trunk@32046 -
2015-10-13 15:59:06 +00:00
Jonas Maebe
91be1d0f2d
* removed the DWARF label fields from tdef/tobjectdef, and dynamically
...
allocate them only while necessary
o also unified the conditions under which we allocate a separate
struct label
git-svn-id: trunk@32045 -
2015-10-13 15:59:03 +00:00
Jonas Maebe
67b958bb32
* take SizeOfItem() properly into account in T(Tag)HashSet
...
git-svn-id: trunk@32044 -
2015-10-13 15:59:00 +00:00
Jonas Maebe
dff35e7d03
* fixed overallocation of buckets in T(Tag)HashSet after resize
...
git-svn-id: trunk@32043 -
2015-10-13 15:58:57 +00:00
Jonas Maebe
192bb3e032
* free the implementation info for procdefs immediately after a module
...
has been compiled
git-svn-id: trunk@32042 -
2015-10-13 15:58:54 +00:00
nickysn
3bd5934a51
* some micro optimizations for zero size blocks in CompareByte for i8086
...
git-svn-id: trunk@32041 -
2015-10-13 15:12:43 +00:00
nickysn
4fe125d779
* fixed ds corruption in CompareWord in far data memory models
...
git-svn-id: trunk@32040 -
2015-10-13 15:01:10 +00:00
nickysn
7ed7b090fe
+ i8086 asm optimized implementation of CompareDWord
...
git-svn-id: trunk@32039 -
2015-10-13 14:51:50 +00:00
joost
e388a39e3d
* Added ability to sort TJSONArray
...
git-svn-id: trunk@32038 -
2015-10-13 14:09:31 +00:00
nickysn
2152420e4f
+ added i8086 asm optimized version of CompareWord
...
git-svn-id: trunk@32037 -
2015-10-13 13:10:43 +00:00
yury
2bcd49bbc4
* Fixed i386 case jump table when PIC with GOT and an external assembler is used.
...
git-svn-id: trunk@32036 -
2015-10-13 12:58:19 +00:00
yury
ae33685b9d
* i386-android: Use PIC in the program start-up code.
...
git-svn-id: trunk@32035 -
2015-10-13 11:21:03 +00:00
lacak
16b02dcd2b
fcl-db: sqlite: when raising database error retrieve also extended error code and pass it to ESQLDatabaseError exception object.
...
git-svn-id: trunk@32034 -
2015-10-13 05:23:20 +00:00
yury
63813f3e96
* android: Fixed crash when using writeln during shared library finalization on Android 4.4+.
...
git-svn-id: trunk@32033 -
2015-10-12 22:35:51 +00:00
Tomas Hajny
c1d727e9b6
* correction of a duplicate GTK1 sources reference
...
git-svn-id: trunk@32032 -
2015-10-12 22:01:57 +00:00
Jonas Maebe
2d2b8c635d
* detect whether or not a def/sym is registered based on its defid, so we
...
don't need a separate field for this
o changed the order in which symid and realname are stored to/loaded from
the ppufile (because tsym.create now initialised tsym.symid, and it's
called from ppuload) -> increased ppu version
git-svn-id: trunk@32031 -
2015-10-12 21:03:09 +00:00
nickysn
20e5b3e586
* handle empty environment correctly when initializing argv0 under msdos.
...
Patch by Max Nazhalov, mantis #28705 .
git-svn-id: trunk@32028 -
2015-10-12 17:59:51 +00:00
nickysn
f107956169
+ added an i8086 asm optimized version of CompareByte()
...
git-svn-id: trunk@32026 -
2015-10-12 16:47:50 +00:00
nickysn
385f0d4ee8
- do not set the parameter to nil in strings.strdispose, because it's not a var
...
parameter and the operation is therefore useless
git-svn-id: trunk@32025 -
2015-10-12 14:28:46 +00:00
yury
accf3a6150
* arm-android: Use PIC in the program start-up code.
...
git-svn-id: trunk@32024 -
2015-10-12 08:58:19 +00:00
yury
4026cfcf60
* android: Generate PIC executables. It is required for Android 5.0+.
...
git-svn-id: trunk@32023 -
2015-10-12 08:56:04 +00:00
yury
6fc8059a1f
* arm-android: Simplified _haltproc for dll.
...
git-svn-id: trunk@32022 -
2015-10-12 08:41:17 +00:00
yury
8b27c3cf27
* Enable PIC by default for i386-android.
...
git-svn-id: trunk@32021 -
2015-10-12 08:13:42 +00:00
yury
862348c317
* Keep the GOT offset in a virtual register for i386 non-darwin platforms.
...
It fixes PIC code generation with GOT for i386 with enabled optimizations. Bugs #28667 , #28668 .
Prior the fix I have not been able to compile even RTL with -O2 due to not enough free registers, since EBX is reserved for GOT.
It can be further optimized to teach register allocator to not spill the GOT register if possible.
git-svn-id: trunk@32020 -
2015-10-12 08:02:56 +00:00
Tomas Hajny
ebd1c6026c
* fix FileSetAttr - bug #28826
...
git-svn-id: trunk@32019 -
2015-10-11 18:30:29 +00:00
nickysn
ace95e550b
* initialize argc and argv on i8086-msdos. This fixes paramcount and paramstr
...
in objfpc mode on this platform (mantis #28705 )
+ support quoted parameters like the go32v2 target
git-svn-id: trunk@32018 -
2015-10-11 17:38:45 +00:00
nickysn
4454332d7a
* fixed the sysutils.GetEnvironment* functions for i8086-msdos
...
- removed the envp variable from the msdos system unit, because it's not
compatible with ppchar in all memory models (we use ppfarchar to avoid copying
the environment in the program's data segment in near data memory models)
git-svn-id: trunk@32017 -
2015-10-11 13:23:59 +00:00
nickysn
66725cf170
* fixed huge memory model threadvars after r32013
...
git-svn-id: trunk@32016 -
2015-10-11 12:55:44 +00:00
nickysn
12a9664181
* use 16-bit offsets for threadvars on CPUs with 16-bit address space
...
git-svn-id: trunk@32013 -
2015-10-11 12:16:26 +00:00
yury
2116552b36
* android: Simply jump to the libc exit().
...
git-svn-id: trunk@32008 -
2015-10-10 23:59:28 +00:00
yury
a4f63a07d2
* Skip this test for android.
...
git-svn-id: trunk@32007 -
2015-10-10 21:57:08 +00:00