Commit Graph

184 Commits

Author SHA1 Message Date
daniel
3048a98a6f * Fix and activate internal backtrace routines
git-svn-id: trunk@3524 -
2006-05-14 13:04:03 +00:00
peter
0a50dd1029 * give IE if fpu stack counter becomes < 0
git-svn-id: trunk@3294 -
2006-04-20 11:15:54 +00:00
florian
af4d5c898a + stack touching for win64
git-svn-id: trunk@3252 -
2006-04-17 19:00:53 +00:00
florian
2d3d4a66f6 * keep stack aligned to 16 byte borders on winx64
git-svn-id: trunk@3212 -
2006-04-15 16:48:28 +00:00
peter
0ec2921bbe * split newasmsymbol to refasmsymbol and defineasmsymbol
git-svn-id: trunk@3057 -
2006-03-27 11:45:18 +00:00
peter
b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines

  * pass ObjectWriter to ObjectOuput

........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines

  * refactor asmdata

........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines

  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit

........

git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
Vincent Snijders
7dfd96b59c * fixed another typo
git-svn-id: trunk@2927 -
2006-03-15 20:42:14 +00:00
Vincent Snijders
594861974d * fixed typo
git-svn-id: trunk@2926 -
2006-03-15 20:28:02 +00:00
peter
588cccb3ca * remove some obsolete i386 specific code
* use a_optimize_const to remove useless opcodes

git-svn-id: trunk@2910 -
2006-03-13 16:37:08 +00:00
peter
b6e35a200e * rewrite of optimizer options
git-svn-id: trunk@2901 -
2006-03-13 09:05:50 +00:00
Jonas Maebe
9125d0c189 * also align esp for all procedures/functions declared "assembler",
since they may do a call. If you don't want that to happen, use
    the nostackframe directive (i386-darwin only)

git-svn-id: trunk@2896 -
2006-03-12 21:20:29 +00:00
Jonas Maebe
435aee2398 * fixed g_copyvaluepara_openarray/g_releasevaluepara_openarray for
use_fixed_stack (use generic code)

git-svn-id: trunk@2895 -
2006-03-12 21:04:59 +00:00
Jonas Maebe
e7112c6636 * ignore po_interrupt for i386-darwin since it messes up stack alignment
git-svn-id: trunk@2857 -
2006-03-11 14:30:02 +00:00
Jonas Maebe
9de2847865 + support for passing parameters via pre-allocated stack space on i386
(override/adjust cgutils.use_fixed_stack to change conditions where
     this is done, currently only activated for darwin-i386)
  * make sure the stack is always aligned to 16 bytes on darwin-i386

git-svn-id: trunk@2840 -
2006-03-10 19:59:44 +00:00
Jonas Maebe
d7b4ac73cf + darwin/x86 support for a_call_name
git-svn-id: trunk@2819 -
2006-03-09 15:02:55 +00:00
Jonas Maebe
d2ba35df7e * don't destroy edi when allocating the stack frame for win32
git-svn-id: trunk@2330 -
2006-01-23 10:54:48 +00:00
florian
f5d790f9b6 * i386 uses dwarf cfi info on linux/win32, so even when omitting the stack frame, trace backs in gdb are correct
git-svn-id: trunk@2316 -
2006-01-21 14:30:57 +00:00
florian
a3e3e7e8c5 * avoid esp to be freed
git-svn-id: trunk@2203 -
2006-01-07 14:32:09 +00:00
Jonas Maebe
7aa315c71a * made some Tcpuregisterset parameters const to avoid useless copying
git-svn-id: trunk@2176 -
2006-01-05 10:10:25 +00:00
florian
f7d2c47f73 + no stackframe is generated for i386 if possible
git-svn-id: trunk@2162 -
2006-01-04 19:19:06 +00:00
florian
61e3b70cfa * cleaned up segmented thread variables
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
florian
fb4557d71e * first implementation of pic for i386
git-svn-id: trunk@2107 -
2006-01-01 20:14:48 +00:00
florian
99be25604b * fixed address calculation when generating pic
git-svn-id: trunk@1759 -
2005-11-15 19:25:42 +00:00
florian
72d7597edc + implementation of lazy binding for linux
git-svn-id: trunk@1750 -
2005-11-14 22:28:12 +00:00
florian
2585309c04 * of course, we can't omit pic generation for local symbols
git-svn-id: trunk@1743 -
2005-11-13 21:36:38 +00:00
florian
ff6af1804b * fixed loading of pic'ed symbols with offset
* symbols declared AB_COMMON or AB_LOCAL need no pic

git-svn-id: trunk@1739 -
2005-11-13 21:05:42 +00:00
florian
bc7fab1aeb + plt support for x86_64
git-svn-id: trunk@1578 -
2005-10-23 14:47:09 +00:00
florian
1b97e2cffd + added missing make_simple_ref
git-svn-id: trunk@1572 -
2005-10-23 13:28:43 +00:00
peter
a3ab2053c9 * support multiple asmlabel types, renamed getlabel to
getjumplabel and added type para to getlabel for specific types
  * moved lineinfo generation from assemble and aggas to dbgstabs

git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
daniel
22e89e1a42 * Proof of concept: Support threadvars using segment registers.
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +00:00
florian
83209064f9 * getmmregister should test the mm register allocator for being assigned
git-svn-id: trunk@221 -
2005-06-05 15:32:24 +00:00
florian
c97714de9f * renamed windows related units from win32 to win so it can contain ce and 64 bit stuff
git-svn-id: trunk@213 -
2005-06-05 13:42:35 +00:00
florian
ebcb69478f * fixed a lot of stuff for fpu/mm register variables
git-svn-id: trunk@199 -
2005-06-04 21:23:15 +00:00
florian
b0545a7a04 * first bunch of pic fixes
git-svn-id: trunk@76 -
2005-05-22 19:57:38 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
0811184277 + pic code reading for the assembler readers
* loadaddr generates pic code as well now
2005-04-25 09:51:07 +00:00
florian
0cd81efba7 + storing non-extended floats to memory generates now a fwait to get exceptions at the correct place 2005-03-13 17:15:26 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
b1c8bfc478 + x86_64 pic draft 2005-02-06 00:05:56 +00:00
florian
3835b9f13b * fixed previous commit 2005-02-05 18:32:17 +00:00
florian
e94fe45846 * fixed dword -> qword/int64 type cast on x86_64 2005-02-05 18:08:48 +00:00
peter
0991cb288d * tf_pic_uses_got added 2005-01-25 18:48:15 +00:00
florian
cf55930118 * fixed loadaddr; I wonder how it ever worked 2005-01-08 16:00:55 +00:00
florian
0037f4a199 * fixed operand size calculation for sse operands
+ all nasm assembler targets to help page output added
2004-12-12 10:50:34 +00:00
florian
7b8c44bbce * fixed open arrays when using register variables 2004-11-08 20:23:29 +00:00
florian
c94553080b + added profiler call for x86_64 2004-11-02 20:50:54 +00:00
florian
bfce614370 * fixed -<sse register>
* information about simple moves for sse is given to the register allocator
2004-11-02 18:23:16 +00:00
peter
9b00c7832e * support > 32bit accesses for x86_64
* rewrote array size checking to support 64bit
2004-11-01 23:30:11 +00:00
florian
1c569cbd08 * cvt*2* can't write to memory location, fixed 2004-11-01 15:42:47 +00:00