nickysn
7986d0c2ca
* simplify RegisterTinyHeapBlock by calling InternalTinyFreeMem directly,
...
instead of FreeMem. We already do the alignments correctly, so going through
FreeMem is no longer necessary.
git-svn-id: trunk@28428 -
2014-08-16 22:51:06 +00:00
Károly Balogh
d72e46f199
Amiga: deprecated PasToC unit and added some lengthy comments about the reasons.
...
git-svn-id: trunk@28424 -
2014-08-16 17:39:01 +00:00
Károly Balogh
ccc9bc0941
m68k: plain 68000 also needs extra handling for large offsets
...
git-svn-id: trunk@28423 -
2014-08-16 15:14:34 +00:00
Károly Balogh
9b0bf91076
m68k: do not generate CLR instructions to memory references on plain 68k. there this instruction also causes reads from the address, which is slow and can have side effects.
...
git-svn-id: trunk@28422 -
2014-08-16 13:03:03 +00:00
Jonas Maebe
6a3907dfd6
- disabled i386 assembler implementations of md5/sha1 on Darwin, they fail
...
there
git-svn-id: trunk@28421 -
2014-08-16 12:43:59 +00:00
nickysn
2e0c40d33b
* TinyHeapAllocGranularity changed to SizeOf(TTinyHeapBlock). This fixes a bug
...
where the free blocks may become fragmented, even though all the memory has
been freed, following certain allocation patterns.
git-svn-id: trunk@28419 -
2014-08-15 22:13:23 +00:00
nickysn
902c25fafa
+ RegisterTinyHeapBlock: align the start address and size according to
...
TinyHeapAllocGranularity
git-svn-id: trunk@28418 -
2014-08-15 16:10:22 +00:00
nickysn
815bfe0dcf
+ tiny heap alloc granularity moved to a constant TinyHeapAllocGranularity
...
git-svn-id: trunk@28417 -
2014-08-15 15:22:51 +00:00
nickysn
14057ef438
* rm EndAddr from the TTinyHeapBlock structure. This:
...
1) fixes a bug, which causes the next TTinyHeapBlock to be overwritten after
freeing a memory block, allocated by GetMem(sizeof(pointer)). This bug was
exposed after r28391, but was present before that; this commit only made
the damage worse and, therefore, more visible.
2) brings the internal heap structure closer to the TP7 heap.
git-svn-id: trunk@28416 -
2014-08-15 00:33:33 +00:00
michael
7ceda16e13
* True and false differ on PG
...
git-svn-id: trunk@28408 -
2014-08-14 16:56:11 +00:00
michael
504da18b57
* Fix use of "
...
git-svn-id: trunk@28407 -
2014-08-14 16:53:51 +00:00
michael
10ed2e7838
* Fix use of "
...
git-svn-id: trunk@28406 -
2014-08-14 16:47:37 +00:00
michael
1d3aa63620
* Create transaction
...
git-svn-id: trunk@28405 -
2014-08-14 16:32:36 +00:00
marco
4aced18d94
* Patch by Bart Broersma to fix breakage over the years. Though this file is mostly obsolete. Mants #26575
...
git-svn-id: trunk@28402 -
2014-08-13 12:53:40 +00:00
nickysn
21246e973a
* TinyHeapMinBlock defined as sizeof(TTinyHeapBlock), as that's the smallest
...
free block actually supported
git-svn-id: trunk@28401 -
2014-08-13 08:44:53 +00:00
nickysn
e8c1a44068
* swapped the order of the Next and Size fields in TTinyHeapBlock, because that
...
brings it closer (but still not equal) to the TP7 heap's internal structure
git-svn-id: trunk@28391 -
2014-08-12 20:38:08 +00:00
Jonas Maebe
5e280b3131
* don't convert movs into (the non-existing) ldrs in do_spill_replace()
...
git-svn-id: trunk@28390 -
2014-08-12 20:14:24 +00:00
marco
d37a2e65ec
* *result_cint -> *result_int. Mantis #26583 Probably leftover of some int to cint replace.
...
git-svn-id: trunk@28385 -
2014-08-12 09:13:23 +00:00
marco
a03c9fbe8f
* remove strutils from the buildunit mantis #26582
...
git-svn-id: trunk@28384 -
2014-08-12 08:56:13 +00:00
lacak
56e83ce5dd
fcl-db: interbase: fix cases when client library is not loaded dynamically but link statically
...
git-svn-id: trunk@28383 -
2014-08-12 05:13:14 +00:00
florian
499dd078e3
+ automatically insert fma inlines into floating point code if possible and fastmath is activated
...
git-svn-id: trunk@28382 -
2014-08-11 20:50:21 +00:00
sergei
482e61dafa
* MIPS, TCpuAsmOptimizer.GetNextInstructionUsingReg: test that returned item is actually an instruction, because GetNextInstruction can sometimes stop on labels.
...
+ Try to eliminate register move after instructions that load from memory.
git-svn-id: trunk@28380 -
2014-08-10 21:31:13 +00:00
sergei
f1d1fd4f24
* Inserted explicit typecasts in order to prevent range check errors at some places where signed and unsigned types are assigned to each other (mostly MIPS-specific, but one was necessary in generic code).
...
git-svn-id: trunk@28379 -
2014-08-10 21:26:14 +00:00
michael
d368032132
* Test removed
...
git-svn-id: trunk@28362 -
2014-08-10 16:12:56 +00:00
michael
7f5bdbbf2f
* Test
...
git-svn-id: trunk@28361 -
2014-08-10 16:12:45 +00:00
masta
96915b3f0c
16bit Thumb is not able to use tst with an immediate value
...
r28315 introduced an arm optimization which requires
tst rX, #imm
to work. This is not available on 16bit thumb, I've disabled that
optimization on thumb for now.
git-svn-id: trunk@28360 -
2014-08-10 15:30:44 +00:00
michael
32f74d23f1
* Move to postgresql
...
git-svn-id: trunk@28359 -
2014-08-10 14:58:11 +00:00
nickysn
a61c775d29
+ enabled the huge (>64kb) heap support in the compact and large memory models
...
git-svn-id: trunk@28349 -
2014-08-08 23:32:12 +00:00
nickysn
b1144508a7
* fixed the far/huge data ifdefs in InitDosHeap
...
git-svn-id: trunk@28348 -
2014-08-08 21:44:19 +00:00
nickysn
5edbd1cd03
* fixed i8086 ifdef (should be ifdef cpui8086, not i8086, because that's the
...
rtl, not the compiler)
git-svn-id: trunk@28347 -
2014-08-08 21:37:17 +00:00
sergei
ee8fcc8bdb
* softfpu.pp: reverted r28318 and replaced it with a improved solution:
...
* Moved handling of 64-bit values > high(int64) to qword_to_float64, so that normalizeRoundAndPackFloat64 procedure stays unmodified compared to C source.
* Using "jamming" right shift instead of regular one, so the least significant bit is not dropped but participates in rounding.
* Take a shortcut for values with <= 53 significant bits, which are convertible into float64 exactly and do not need rounding.
git-svn-id: trunk@28346 -
2014-08-08 20:47:52 +00:00
marco
cb470da8d9
* alias some types to system.
...
git-svn-id: trunk@28345 -
2014-08-08 18:28:48 +00:00
masta
7e22bd53b6
Changed ARMs StrLdr2StrMov peephole optimizer look further ahead
...
StrLdr2StrMov now uses GetNextInstructionUsingRef to find an instruction
which uses the same Reference. In one of our internal testcases it
speeded up a function by 15% as fpc generated a lot of spilling.
git-svn-id: trunk@28344 -
2014-08-08 15:31:10 +00:00
masta
bfa85218fa
Introduce TCpuAsmOptimizer.GetNextInstructionUsingRef
...
It's the counterpart to GetNextInstructionUsingReg and finds the next
instruction to use the same reference. By default it stops searching
when hitting a store instructions to avoid aliasing issues.
git-svn-id: trunk@28343 -
2014-08-08 15:31:06 +00:00
masta
d1c5f89976
Make Next an Out-parameter in ARMs GetNextInstructionUsingReg
...
The input to Next is not used, reflect that properly.
git-svn-id: trunk@28342 -
2014-08-08 15:31:01 +00:00
reiniero
24b406aed7
+ fcl-db: SQlite3: accept more date/time formats:
...
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
as defined in http://www.sqlite.org/lang_datefunc.html
Fixes mantis issue #26551
git-svn-id: trunk@28337 -
2014-08-08 11:24:17 +00:00
michael
6f6dd75e77
* Fix patch of reinier
...
git-svn-id: trunk@28336 -
2014-08-08 07:23:56 +00:00
michael
71d20abcaa
* Patch from reinier to import fb_shutdown and fb_sqlstate
...
git-svn-id: trunk@28335 -
2014-08-08 07:17:54 +00:00
nickysn
ace28a3552
* InitNearHeap procedure renamed InitDosHeap and added support for a huge heap.
...
Startup code still needs to be updated in order to enable >64kb heap.
git-svn-id: trunk@28334 -
2014-08-07 22:00:24 +00:00
nickysn
6720f84d24
+ switch to using huge pointers in the tiny heap in the i8086 far data memory
...
models
git-svn-id: trunk@28333 -
2014-08-07 21:15:56 +00:00
nickysn
94bcb9878a
* reimplemented r28329 in a different way, as suggested by Jonas
...
git-svn-id: trunk@28332 -
2014-08-07 19:36:52 +00:00
marco
ff77bd1bf2
* Fix font name changing issues, patch by Dirk F, mantis #26550
...
git-svn-id: trunk@28331 -
2014-08-07 10:44:19 +00:00
nickysn
3164bf66f5
+ implemented correct [] indexing of huge pointers
...
git-svn-id: trunk@28330 -
2014-08-07 09:11:21 +00:00
nickysn
dfcbe03572
+ added x86-specific function getx86pointerdef, similar to getpointerdef, but
...
allows creating the x86 special pointer types as well
git-svn-id: trunk@28329 -
2014-08-07 08:50:01 +00:00
nickysn
4ea551a0f7
* is_farpointer and is_hugepointer moved from defutil to symcpu
...
git-svn-id: trunk@28328 -
2014-08-06 20:32:41 +00:00
Károly Balogh
3c8b24eead
a proposed fix to the qword_to_float64 problem
...
git-svn-id: trunk@28318 -
2014-08-06 15:14:52 +00:00
masta
b898b169d4
Fixed 0-cmp optimization in tarmaddnode.second_cmp64bit
...
Commit r28315 prevented "= 0" compare-optimizations. Should be fixed now.
git-svn-id: trunk@28317 -
2014-08-06 15:01:24 +00:00
Károly Balogh
baac5114a7
added a missing comment from the SoftFPU C source. probably explains why qword_to_float64 fails with values which have the uppermost bit set
...
git-svn-id: trunk@28316 -
2014-08-06 14:11:09 +00:00
masta
c88fdb6a4a
Add minor optimization for int64 < 0 on arm
...
This is a very common construct in normal code and also heavily used in
softfpu code.
The ARM-cg will now just test for the MSB of reghi to be set, instead of
a full comparison against constant 0.
git-svn-id: trunk@28315 -
2014-08-05 21:31:20 +00:00
reiniero
bd37d804fc
* fcl-db: cosmetic
...
git-svn-id: trunk@28314 -
2014-08-05 10:30:23 +00:00