nickysn
3505ba4ee6
+ added CPU detection code in the msdos rtl startup in order to properly initialize the Test8086 variable
...
git-svn-id: trunk@25034 -
2013-07-03 15:43:01 +00:00
sergei
1c84c3edbf
* Fixed label optimizer to work with MIPS, and enabled level 1 optimization for MIPS targets.
...
The difference in branch instruction formats is isolated in function JumpTargetOp, it is a plain function rather than a virtual method, so it can be easily inlined and, after inlining, produces the same code for non-MIPS targets as it was before change.
git-svn-id: trunk@25033 -
2013-07-03 14:40:24 +00:00
lacak
7a46ebd7f1
fcl-db: odbc: map UNSIGNED SMALLINT to ftWord fields. TestSupportWordFields
...
git-svn-id: trunk@25032 -
2013-07-03 08:24:51 +00:00
florian
162cb30528
* another patch by Max Nazhalov to fix shifting and rounding of float128
...
git-svn-id: trunk@25031 -
2013-07-02 21:03:39 +00:00
sergei
8823574fe2
* MIPS: get rid of DIV and DIVU macros.
...
git-svn-id: trunk@25030 -
2013-07-02 14:28:10 +00:00
sergei
d0ae800da6
+ MIPS: Use INS and EXT instructions for bit manipulations when target CPU type is set to mips32r2.
...
git-svn-id: trunk@25029 -
2013-07-02 14:21:29 +00:00
pierre
eb1ff90de1
Fix jvm compiler compilation failure after rev 25013
...
git-svn-id: trunk@25028 -
2013-07-02 12:52:32 +00:00
lacak
1ffcb9c1e6
fcl-db: mssql: add comments
...
git-svn-id: trunk@25027 -
2013-07-02 11:38:33 +00:00
lacak
f2464fbf3d
fcl-db: mysql: formatting (remove unused variables)
...
git-svn-id: trunk@25026 -
2013-07-02 11:29:15 +00:00
lacak
029eb92bd0
fcl-db: mysql: map UNSIGNED SMALLINT to ftWord fields. TestSupportWordFields
...
git-svn-id: trunk@25025 -
2013-07-02 11:20:04 +00:00
sergei
828309e61d
- MIPS: removed opcodes that are not in any known documentation.
...
git-svn-id: trunk@25023 -
2013-07-01 06:09:53 +00:00
florian
a0292b8962
* patch by Max Nazhalov to fix more conversion issues of the C code translation, resolves #24691
...
git-svn-id: trunk@25022 -
2013-06-30 18:07:40 +00:00
marco
ee5ce52d4c
* Simple Add/remove firewall rule wrapper by d4nn13 (forum)
...
git-svn-id: trunk@25021 -
2013-06-30 16:19:01 +00:00
florian
6ab95815d8
* try to optimze (p-/+const)^ by putting const into the offset of the generated reference
...
git-svn-id: trunk@25014 -
2013-06-29 22:20:34 +00:00
florian
be2ab84474
* make actualtargetnode a normal procedure using pointers to node so it can be used also when replacing nodes
...
+ replacenode to replace nodes inline
git-svn-id: trunk@25013 -
2013-06-29 22:20:30 +00:00
nickysn
7e70a5f763
* i8086 fix after r25010: i8086 doesn't support lea sp,[sp-XXX]
...
git-svn-id: trunk@25012 -
2013-06-29 12:21:15 +00:00
Tomas Hajny
67b3017751
* RealMaxPathLen added - value queried from the system on startup
...
git-svn-id: trunk@25011 -
2013-06-28 21:02:04 +00:00
florian
94cf650d9a
* use lea to adjust stack pointer, this is equal or faster on all modern CPUs than add/sub
...
git-svn-id: trunk@25010 -
2013-06-28 17:06:57 +00:00
sergei
7810d6637a
* MIPS: improved 64-bit comparisons by using cg.a_cmp_reg_reg_label, uses less instructions and registers when comparing with zero.
...
git-svn-id: trunk@25008 -
2013-06-28 15:46:17 +00:00
sergei
7a28815182
* r24895 used wrong expression for swapping sides of comparison, and it went undetected by tests. Fixed.
...
git-svn-id: trunk@25007 -
2013-06-28 15:40:37 +00:00
sergei
40045e6269
- Removed unused variables
...
git-svn-id: trunk@25005 -
2013-06-28 11:53:10 +00:00
sergei
8bfef107b3
* TAB characters removed.
...
git-svn-id: trunk@25004 -
2013-06-28 10:58:22 +00:00
sergei
c855868a3d
* MIPS: get rid of macros in comparison operations, use immediate operands for comparison with constants when possible.
...
+ InternalError if valid GP is needed but pi_needs_got was not set in pass 1.
git-svn-id: trunk@25003 -
2013-06-28 10:22:26 +00:00
Jonas Maebe
1e167a5fd3
* updated address of FSF (mantis #24646 , patch by Alexey Svistunov)
...
git-svn-id: trunk@24987 -
2013-06-27 14:04:34 +00:00
Jonas Maebe
81597bf171
* updated address of FSF (mantis #24646 , patch by Alexey Svistunov)
...
git-svn-id: trunk@24986 -
2013-06-27 14:01:18 +00:00
Jonas Maebe
345ca6f187
* prevent going through (the expensive) InternalSetCodePage when changing
...
the code page of a string with refcount=1 and without conversion (happens
a lot in internal RTL routines)
git-svn-id: trunk@24985 -
2013-06-27 13:11:57 +00:00
pierre
277ae481b8
Add passing of -k option to linker for msdos and go32v2 targets
...
git-svn-id: trunk@24981 -
2013-06-26 22:27:16 +00:00
florian
b78d6108fd
* workaround for 2.6.x to avoid overflow errors when compiled with -CRiot
...
git-svn-id: trunk@24980 -
2013-06-26 21:40:52 +00:00
marco
56e9f9301c
* First set of patches for making mergable CHM files, committed after a point with 0 regressions.
...
* IDXHDR internal file added.
* better defaults for [Windows] lines.
* Avoid duplication topic if both in index and separately in hhp. Size reduction for many hhp scenarios, no difference for fpdoc
* System section 13 (copy of idxhdr)
* index/toc files registered as topic type 2. (incontents field)
* duplicate code for creating topics cleaned up, all now use addtopic
* correct number of topics in system file.
* some bugfixes in binary index.
* some more global properties supported in sitemaps.
* many extra (dumping) options for chmls tool.
git-svn-id: trunk@24979 -
2013-06-26 14:31:30 +00:00
sergei
87cfd86172
* Define SUPPORT_GET_FRAME for targets having "get_frame" as internal symbol (x86,arm and jvm, currently), removes need to enumerate these targets in every related conditional compilation directive and simplifies configuring this feature for other targets.
...
git-svn-id: trunk@24978 -
2013-06-26 11:03:24 +00:00
nickysn
f7d3f7cd33
* use create_nil_dataptr instead of create_sym(nil) in TRTTIWriter.write_rtti_reference; among other things, this fixes writeln(enum) in the i8086 medium memory model
...
git-svn-id: trunk@24977 -
2013-06-25 21:02:55 +00:00
nickysn
784333edbb
+ added tai_const.Create_nil_codeptr and .Create_nil_dataptr, which should eventually replace tai_const.Create_sym(nil)
...
git-svn-id: trunk@24976 -
2013-06-25 20:57:12 +00:00
florian
844806cb19
* renamed parameter bp (x86 ism) into fp for dump_stack
...
* more sanity checks if fp really points into the stack
git-svn-id: trunk@24975 -
2013-06-25 19:46:08 +00:00
florian
f50e25afa0
* tests built/updated using gcc 4.8.1
...
git-svn-id: trunk@24974 -
2013-06-25 18:58:06 +00:00
nickysn
6c1262049e
* tai_const.Create_sym_offset: follow the default i8086 data (instead of code) pointer size for asm symbols with typ=AT_DATA
...
git-svn-id: trunk@24973 -
2013-06-25 15:12:00 +00:00
marco
eebfeca41d
* removed all ver2_* defines older than 2_4. 2_4 can probably also get removed from trunk, but better in a separate commit.
...
git-svn-id: trunk@24971 -
2013-06-25 12:46:30 +00:00
sergei
89c9cdf6c4
+ MIPS: implemented parameter location reusing, eliminating second copy of (potentially large) records passed by value. When parameter is passed both in registers and stack, let it have a single LOC_REFERENCE location on callee side, and store relevant registers on stack (into 16-byte area reserved by ABI) early in prologue.
...
git-svn-id: trunk@24970 -
2013-06-25 08:15:17 +00:00
florian
466eb4c684
* use MOVAPS/MOVAPD for reg -> reg moves to reduce data dependencies
...
git-svn-id: trunk@24967 -
2013-06-24 20:55:04 +00:00
florian
e44d33f4db
* rebuild with gcc 4.7.2, tcalext6 still fails because struct struct1 (one single value) is still returned on the fpu stack by gcc, this is not abi compliant on windows
...
git-svn-id: trunk@24966 -
2013-06-24 20:53:52 +00:00
pierre
91821acfc6
Use new conditional CPUSMALL and define it for m68k and 8086 cpu to use small array size
...
git-svn-id: trunk@24964 -
2013-06-24 15:40:08 +00:00
sergei
1419a12865
- Removed MIPS-specific code which has been copied to TMIPSProcinfo.set_first_temp_offset in r23885.
...
git-svn-id: trunk@24963 -
2013-06-24 12:02:17 +00:00
florian
19495439b1
* do not destroy the left operand in second_ansistring_to_pchar if it is a register
...
git-svn-id: trunk@24954 -
2013-06-23 15:16:33 +00:00
florian
541d67771b
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
...
e.g. being a const parameter or immutable temp. values), managed types like dyn. arrays, new string types and interfaces can be kept in registers.
git-svn-id: trunk@24953 -
2013-06-23 15:16:30 +00:00
nickysn
58b22adaf1
+ added function cpubase.segment_regs_equal, which checks whether 2 segment regs are equal in the current memory model
...
git-svn-id: trunk@24949 -
2013-06-23 11:27:00 +00:00
paul
5a6b6d2c4d
rtl: fix loading of long integer values to float properties
...
git-svn-id: trunk@24947 -
2013-06-23 11:18:25 +00:00
marco
72b0e72580
* added a fix for crashes on very short fpdoc projects. x.y.z.count was examined without checking x,y and z existed.
...
Fixes Mantis #24579
git-svn-id: trunk@24943 -
2013-06-23 09:10:15 +00:00
florian
00b03de7f0
* split SetCodePage into a wrapper and a function doing the real work to get rid of exception frames in the simple case
...
git-svn-id: trunk@24942 -
2013-06-22 18:19:50 +00:00
michael
2b6f33711b
* Patch from Ludo Brands to implement InstanceName (Bug ID 24635)
...
git-svn-id: trunk@24932 -
2013-06-22 13:50:44 +00:00
sergei
4a9fe5d07d
* Fixed register live range in for-loops:
...
o Loop counter node is "left", not "right",
o End-value register needs explicit sync.
Without these changes, allocating registers in hlcg.a_cmp_reg_loc_label (at the end of loop) could reuse counter or end-value register, resulting in invalid code.
git-svn-id: trunk@24924 -
2013-06-21 15:26:14 +00:00
marco
ac3815fd84
* hopefully final series of tchar elimination.
...
git-svn-id: trunk@24923 -
2013-06-21 13:55:54 +00:00