Commit Graph

41512 Commits

Author SHA1 Message Date
nickysn
f30fddec53 * use 16-bit LEA directly in fpc_SetJmp, since that instruction is now supported
by the compiler

git-svn-id: trunk@25809 -
2013-10-17 17:33:55 +00:00
nickysn
4aa010eedc + support LEA with 16-bit operand size
git-svn-id: trunk@25808 -
2013-10-17 16:11:08 +00:00
Jonas Maebe
8dd956cbde * convert unicode/widestring constants to ansistring in resourcestring
declarations (mantis #25198)

git-svn-id: trunk@25807 -
2013-10-17 12:43:39 +00:00
nickysn
9be15583af * compilation of i8086 rtl fixed (seems like the fpc asm reader doesn't support 16-bit LEA, so hardcode it with DB for now)
git-svn-id: trunk@25806 -
2013-10-16 16:34:48 +00:00
nickysn
c9d021aeb8 * prefer to use ax in fpc_SetJmp for i8086, because it's faster on old CPUs (and makes no difference on newer CPUs)
git-svn-id: trunk@25805 -
2013-10-16 15:17:23 +00:00
nickysn
acbf73ec6e * stack frame eliminated also in fpc_longJmp for i8086
git-svn-id: trunk@25804 -
2013-10-16 13:50:18 +00:00
nickysn
0d24dcc21b * optimizations in fpc_SetJmp for i8086 by stack frame elimination and using SI instead of BP
git-svn-id: trunk@25803 -
2013-10-16 12:49:38 +00:00
nickysn
6596ba9036 * fixed the stack param offsets in Ptr, get_caller_addr and get_caller_frame after the stackframe elimination
git-svn-id: trunk@25802 -
2013-10-16 12:39:39 +00:00
nickysn
9bf3d1edff * optimized get_caller_addr and get_caller_frame on i8086 by eliminating the stack frame and using si, instead of bp
git-svn-id: trunk@25801 -
2013-10-16 12:35:05 +00:00
nickysn
aa9fe36fd3 * optimized version of Ptr() for i8086
git-svn-id: trunk@25800 -
2013-10-16 12:29:22 +00:00
nickysn
1c53d24743 * fixed typo (bug) in i8086 get_pc_addr. Use SP instead of BP to obtain the
return address.

git-svn-id: trunk@25799 -
2013-10-16 09:32:55 +00:00
nickysn
814e1297ed * tcg8086.g_adjust_self_value fixed for far code memory models
git-svn-id: trunk@25798 -
2013-10-15 23:34:18 +00:00
nickysn
60537a94ea * fixed test tintuint for i8086 medium memory model
git-svn-id: trunk@25797 -
2013-10-15 22:49:40 +00:00
nickysn
7ff97d9b7d * specify AT_DATA when refering to the 'RESSTR' symbols; among other things,
this fixes resourcestring constants in the i8086 memory model.

git-svn-id: trunk@25796 -
2013-10-15 22:06:16 +00:00
nickysn
ea1370a89e + implementated get_frame() and get_pc_addr() for the i8086
git-svn-id: trunk@25795 -
2013-10-15 20:16:13 +00:00
nickysn
bf07fc077b * specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol.
This fixes a lot of bugs, related to objects and classes in the i8086 medium
  memory model

git-svn-id: trunk@25794 -
2013-10-15 18:56:27 +00:00
nickysn
9b2b5a9565 * fixed a bug in fpc_SetJmp on i8086, that caused an incorrect value of sp to
be written in Jmp_buf.sp

git-svn-id: trunk@25793 -
2013-10-15 16:28:37 +00:00
nickysn
e160dab697 + added i8086 to the list of supported CPUs by FPC.exe
git-svn-id: trunk@25792 -
2013-10-15 13:29:51 +00:00
lacak
64df3503f3 fcl-db: dbase: rename new TLargeIntegerConstant to TLargeIntConstant to align naming with existing identifiers like etLargeInt and TLargeIntVariable
git-svn-id: trunk@25791 -
2013-10-15 13:00:58 +00:00
lacak
47404444b9 fcl-db: tests: minor formatting changes and fix Filter test for SQL datasets (do not close/open because edits are lost)
git-svn-id: trunk@25790 -
2013-10-15 06:18:50 +00:00
Jonas Maebe
a28917086b * updated *crt1* linking logic for OS X 10.8+:
o don't link by default
   o when generating profiling info, link gcrt1.o and specify "-no_new_main"
     linker parameter
  * don't use version-specific crt1.o files when targetting the
    iPhoneSimulator platform
  * don't link a crt1.o file when targetting iOS 6 or later
  (all info from
   http://llvm.org/svn/llvm-project/cfe/trunk/lib/Driver/Tools.cpp )

git-svn-id: trunk@25789 -
2013-10-14 21:38:38 +00:00
Jonas Maebe
2b1a077b98 + added now that the iOS SDK files aren't under NDA anymore
git-svn-id: trunk@25788 -
2013-10-14 19:29:39 +00:00
nickysn
3fb87cb529 * go32.map_device_in_memory_block result checking made consistent with all the
other functions in the go32 unit

git-svn-id: trunk@25787 -
2013-10-14 19:20:28 +00:00
nickysn
59f441269e + added function free_linear_addr_mapping to unit go32
git-svn-id: trunk@25786 -
2013-10-14 19:15:18 +00:00
nickysn
8bad012e83 + added functions get_page_attributes and set_page_attributes to unit go32
git-svn-id: trunk@25785 -
2013-10-14 18:46:44 +00:00
nickysn
1b36781dd8 + added function get_dpmi_version to unit go32
git-svn-id: trunk@25784 -
2013-10-14 18:42:05 +00:00
reiniero
46bdee3f52 * fcl-db: dbase/bufdataset expression parser: allow negative integers/large integers/floats; fixes issue #25168
git-svn-id: trunk@25783 -
2013-10-14 17:09:45 +00:00
reiniero
16f157d6db * fcl-db: tests: fix negative integer filter test from r25754; add subtest with integer constants
git-svn-id: trunk@25782 -
2013-10-14 17:07:14 +00:00
nickysn
aea281f4cc + added the include file dependency to vesa.inc and vesah.inc from unit graph on go32v2 and msdos
git-svn-id: trunk@25781 -
2013-10-14 14:56:45 +00:00
nickysn
13c5c488de + added the include file dependencies for ptcgraph
git-svn-id: trunk@25780 -
2013-10-14 14:53:51 +00:00
nickysn
e18f336f3f + added unit ptcmouse, similar to winmouse and msmouse, for use with ptcgraph and ptccrt
git-svn-id: trunk@25779 -
2013-10-14 14:31:14 +00:00
Jonas Maebe
10ae87f11c * fixed LdrLdr2LdrMov optimisation in case the first and second ldr have
a different size (disable it in that case) + test

git-svn-id: trunk@25778 -
2013-10-14 12:49:34 +00:00
Jonas Maebe
5276159e77 * correct ofset for saving floating point registers + explanation behind
the calculation (fixes make cycle on ARMHF)

git-svn-id: trunk@25777 -
2013-10-14 12:49:31 +00:00
Jonas Maebe
31a3122b91 * fixed LsrAnd2Lsr test by replacing the existing buggy check with comparing
the outcome of the original and the optimised sequence and seeing whether
    it's same + test

git-svn-id: trunk@25776 -
2013-10-14 12:49:28 +00:00
nickysn
1956ffa3ae * fixed PTCPas compilation with fpc 2.6.2
- rm winapi constants that were already included in fpc 2.6.2
* winapi constants that were included in fpc trunk put behind {$ifdef ver2_6}

git-svn-id: trunk@25775 -
2013-10-14 12:08:49 +00:00
nickysn
6cf2382760 + added the PFD_DIRECT3D_ACCELERATED and PFD_SUPPORT_COMPOSITION constants to
the windows unit

git-svn-id: trunk@25774 -
2013-10-14 11:59:24 +00:00
marco
480f687160 * Emergency fix by defining glib.gtypes locally. Last commit had
introduced a new implicit dependency on gtk2.

git-svn-id: trunk@25773 -
2013-10-14 09:15:45 +00:00
michael
b7da04b550 * Deprecated TField.Lookup
git-svn-id: trunk@25772 -
2013-10-14 08:05:38 +00:00
nickysn
014a4e4653 * updated PTCPas to version 0.99.14
git-svn-id: trunk@25771 -
2013-10-13 22:34:01 +00:00
Károly Balogh
74af6d0dab enabled hardware mul reg, reg codepath for ColdFire too, accelerates tfloattostr test (thus some of the SoftFPU code) by a magnitude...
git-svn-id: trunk@25770 -
2013-10-13 21:36:24 +00:00
sergei
1be7ec1dcd * MIPS setjmp/longjmp: save/restore nonvolatile FPU registers and FPU control word.
* Fixed longjmp return value, it should never be zero.

git-svn-id: trunk@25769 -
2013-10-13 21:25:40 +00:00
sergei
142d20ca30 * MIPS: cleanup assembler reader, MIPS references allow only a single register in parentheses.
git-svn-id: trunk@25768 -
2013-10-13 21:22:04 +00:00
sergei
e10e383b8e * MIPS: ".set macro"/".set nomacro" directives around ".cprestore" are necessary only when offset is outside smallint range. Otherwise they just clutter the assembler file.
git-svn-id: trunk@25767 -
2013-10-13 20:23:43 +00:00
marco
d80b242347 * update to Cairo 1.12 by Valdinilson Lourenço da Cunha
Mantis #23323

git-svn-id: trunk@25766 -
2013-10-13 19:47:32 +00:00
Károly Balogh
97864d7cbd trying harder to commit compilable code (manual merge fail)
git-svn-id: trunk@25764 -
2013-10-13 18:31:43 +00:00
nickysn
c51c75936b * 16/8-bit ALU fixes in ncgutil.gen_free_symtable
git-svn-id: trunk@25762 -
2013-10-13 16:48:15 +00:00
nickysn
1dabaf5ded * 16/8-bit ALU fixes in ncgutil.add_regvars
git-svn-id: trunk@25761 -
2013-10-13 16:41:32 +00:00
nickysn
d1f0eea902 * 16/8-bit ALU fixes in ncgutil.gen_alloc_regvar
git-svn-id: trunk@25760 -
2013-10-13 16:31:16 +00:00
Károly Balogh
3b99974847 set up register A6 to be saved as well. this will only happen in case A6 is not used as framepointer
git-svn-id: trunk@25759 -
2013-10-13 16:12:32 +00:00
Károly Balogh
e5eac1bd44 make the array of registers to use depending on wheter we have an FP or not, and which register we have as FP
git-svn-id: trunk@25758 -
2013-10-13 16:06:35 +00:00