florian
a6a1f2a0a1
* properly retrieve the stacktop on win64
...
git-svn-id: trunk@21926 -
2012-07-17 19:47:35 +00:00
Jonas Maebe
6cc78635d7
* send full x/y ansi position information in case of an X-coordinate
...
overflow (don't know what the y-coordinate is at that point, because the
window may be wider than the artificial screenwidth) (mantis #20880 )
git-svn-id: trunk@21925 -
2012-07-17 18:03:23 +00:00
Jonas Maebe
408f459f5a
* the code generator bugs referred to in r21921 weren't completely fixed yet
...
after all, although for some reason the problems only showed up with the
external assembler on x86-64 platforms other than Darwin. Now we never use
GOT entries on x86-64 anymore for local symbols, regardless of their nature,
and instead use plain RIP-relative addressing for them.
git-svn-id: trunk@21924 -
2012-07-17 14:36:37 +00:00
sergei
684bf4fba2
+ Reject object types without VMT as arguments of typeof(). Without this check, an undefined reference to VMT is generated which fails at the linking stage.
...
git-svn-id: trunk@21923 -
2012-07-17 05:46:55 +00:00
michael
a4be3f17d7
* Fixed release problem and except (reported by Seth Grover)
...
git-svn-id: trunk@21922 -
2012-07-16 20:52:22 +00:00
Jonas Maebe
5e93f6b70f
- reverted r1733, which caused all local procedures to become global in case
...
PIC was used. This was probably a workaround for a code generator bug,
which is no longer required
git-svn-id: trunk@21921 -
2012-07-16 15:22:14 +00:00
michael
955a90c4db
* Time is in 24 hours time
...
git-svn-id: trunk@21920 -
2012-07-16 13:24:23 +00:00
florian
a5754ed02b
* more robust get_caller_frame and get_caller_addr for win32 which has always a valid StackTop value
...
git-svn-id: trunk@21919 -
2012-07-15 21:36:06 +00:00
florian
3a9e3991be
* the switch -Oouseebp allows the i386 compiler to use ebp as normal register
...
the drawback of this is that get_caller_frame and get_caller_addr might not work
anymore because they make the wrong assumption (i.e. not required by the abi)
that ebp contains always a valid (not necessarily the current) frame pointer
git-svn-id: trunk@21918 -
2012-07-15 19:23:36 +00:00
Jonas Maebe
b1d00b66ac
* fixed internalerror after invalid type node in subscript node
...
(mantis #22395 )
git-svn-id: trunk@21917 -
2012-07-15 18:17:29 +00:00
florian
a38be24672
* get rid of tabs with wrong size
...
git-svn-id: trunk@21916 -
2012-07-15 16:56:11 +00:00
michael
7a1d4dfe72
* Fix parsing uses unit in filename, added library parsing and exports sections
...
git-svn-id: trunk@21915 -
2012-07-15 16:55:18 +00:00
Jonas Maebe
07ebc51b6c
* always store generics token streams in little endian, so we don't have to
...
keep a separate field for each tstoreddef that records whether the
endianness needs to be swapped
git-svn-id: trunk@21914 -
2012-07-15 16:09:14 +00:00
florian
25b80bedf9
* get rid of tabs with wrong size
...
git-svn-id: trunk@21913 -
2012-07-15 14:04:50 +00:00
florian
3d76823929
* load StackTop and StackBottom correctly on windows, also in libraries
...
git-svn-id: trunk@21912 -
2012-07-15 14:03:45 +00:00
masta
aa4fe66153
Fix ARM ASM-reader for MVN/CMP/CMN/TST/TEQ
...
Like MOV these instructions support 2 operands, with the second beeing a
shifterop.
Without this patch the asm reader would fail on something like
cmp r0, r1, lsr 16
with
Error: Unknown identifier "LSR"
git-svn-id: trunk@21911 -
2012-07-15 01:03:08 +00:00
michael
607b86f582
* Parse program without program header and with complete header
...
git-svn-id: trunk@21910 -
2012-07-13 18:17:52 +00:00
michael
f32b9fd572
* Use container to create statement elements so they get sourcefile information
...
git-svn-id: trunk@21909 -
2012-07-13 13:37:39 +00:00
Tomas Hajny
2bcfe75ea8
* correction for copy&paste error in previous commit
...
git-svn-id: trunk@21908 -
2012-07-12 23:32:51 +00:00
Tomas Hajny
4dccf2d321
* GetLoadErrorStr implemented
...
git-svn-id: trunk@21907 -
2012-07-12 23:30:19 +00:00
Jonas Maebe
7717e43929
* moved setting the call result to a separate method, so it can still be
...
used across multiple levels of inheritance such as on MIPS (and the code
has to be reusable for a_call_ref/reeg in the future anyway)
git-svn-id: trunk@21906 -
2012-07-12 20:56:25 +00:00
sergei
e5ee1c9f67
* Don't access tcfilestream.size 3 times in sequence, as each access costs two seeks (syscalls).
...
+ made size of tobjectreader data available via property.
git-svn-id: trunk@21905 -
2012-07-12 16:10:34 +00:00
pierre
dd59db1bba
* Set retun value of get_frame method to nil
...
git-svn-id: trunk@21904 -
2012-07-12 14:16:24 +00:00
Jonas Maebe
56fcc87cb2
* add get_frame as an internal symbol for the jvm target because that target
...
defines INTERNAL_BACKTRACE (which assumes get_frame to be internal rather
than a system unit procedure)
* changed fpc_assert() declaration for jvm to be the same as for other
targets, so the same code can be used to call it in ninl now that's
called from the first pass
git-svn-id: trunk@21903 -
2012-07-12 13:25:02 +00:00
pierre
54bfc8156d
Fix termios constants for mips cpu, mostly using octal prefix
...
git-svn-id: trunk@21902 -
2012-07-12 13:11:13 +00:00
pierre
68c8383254
Add support for binary/octal/hexadecimal constants
...
git-svn-id: trunk@21901 -
2012-07-12 13:09:32 +00:00
pierre
a311c53167
Replace HandleErrorFrame calls by HandleErrorAddrFrameInd where possible in common code (to allow correct backtrace for mips cpu)
...
git-svn-id: trunk@21900 -
2012-07-12 11:53:59 +00:00
pierre
ca8cc759ac
Add HandleErrorAddrFrameInd to restore same behavior for RTEs as for 2.6.0, i.e. avoid an additional line at fpc_XXX level in stack dump
...
git-svn-id: trunk@21899 -
2012-07-12 10:19:58 +00:00
pierre
edcb02b571
Use need system macro FPC_LOCALS_ARE_STACK_REG_RELATIVE for mips support
...
git-svn-id: trunk@21898 -
2012-07-12 09:15:20 +00:00
pierre
426d21fbd1
Use need system macro FPC_LOCALS_ARE_STACK_REG_RELATIVE for mips support
...
git-svn-id: trunk@21897 -
2012-07-12 09:13:31 +00:00
pierre
bb7f443c53
Use two parameter version of get_caller_frame
...
git-svn-id: trunk@21896 -
2012-07-12 09:12:02 +00:00
pierre
c89992f6bb
Regenerate after change: Add ../compiler/mips unit directory for mipsel
...
git-svn-id: trunk@21895 -
2012-07-12 09:11:05 +00:00
pierre
2566809146
Add ../compiler/mips unit directory for mipsel
...
git-svn-id: trunk@21894 -
2012-07-12 09:10:39 +00:00
pierre
ecddfb7838
+ Added FPC_LOCALS_ARE_STACK_REG_RELATIVE system macro for MIPS cpu
...
git-svn-id: trunk@21893 -
2012-07-12 08:54:06 +00:00
michael
8e00e50965
* Fix 64-bit compilation (Bug ID 21874)
...
git-svn-id: trunk@21892 -
2012-07-12 08:42:06 +00:00
michael
1f25547903
* Fixed compilation (mantis #22413 )
...
git-svn-id: trunk@21891 -
2012-07-12 08:37:40 +00:00
masta
f9cdf3d4ca
Be more specific in spilling debug messages
...
Output "Spilling: " instead of "XXX: " in front of spilling debug
messages. This makes the output easier to process.
git-svn-id: trunk@21890 -
2012-07-12 01:11:29 +00:00
masta
e2a744e19b
Consolidate do_spill_read/do_spill_written on arm
...
ARM can not reference an arbitrary offset so it needs some special
handling if the offset goes beyond abs(4095).
The code for do_spill_read and do_spill written used to be very similar.
I've partially factored out the code into spilling_create_load_store.
The former code loaded the offset from a constant pool, which is a waste
of memory-bandwidth and cache lines. The new code tries to find a way to
adjust the baseregister so the memory location can be reached more
easily, this allows us to handle at least +-1MB with just a single
additional ADD or SUB instruction. If that fails we'll resort to the normal
constant loading code, which on it's own will fallback to loading the
constant from a constant-pool.
So instead of:
ldr r1, =16388
ldr r0, [r13, r1]
which will at least uses 4 cycles (2 Instruction cycles + 2 stall
cycles) on most cores.
We try to generate:
add r1, r13, #16384
ldr r0, [r1, #4 ]
which most armv5+ cores will execute in 2 cycles. We'll also save on
DCache usage.
git-svn-id: trunk@21889 -
2012-07-12 01:11:23 +00:00
pierre
bf8ec92b5c
* Use two parameter get_caller_frame function to get correct result on mips
...
git-svn-id: trunk@21888 -
2012-07-11 22:17:37 +00:00
pierre
324c5ad29d
* Use two parameter get_caller_frame function to get correct result on mips
...
git-svn-id: trunk@21887 -
2012-07-11 22:16:49 +00:00
pierre
d93282e16d
Values of TIOGWINSZ, TIOCSWINSZ, TIOCGPGRP and TIOCSPGRP for mipsel
...
git-svn-id: trunk@21886 -
2012-07-11 22:15:54 +00:00
florian
701a5d76bb
* remove unneeded movs
...
git-svn-id: trunk@21885 -
2012-07-11 20:58:52 +00:00
Jonas Maebe
d6066ed51a
* fixed compilation for i386/m68k after r21878/21879
...
git-svn-id: trunk@21884 -
2012-07-11 17:41:18 +00:00
sergei
083f0a7137
+ Added a flag to tarobjectreader constructor that allows it to work as regular tobjectreader if archive signature is missing.
...
git-svn-id: trunk@21883 -
2012-07-11 17:39:36 +00:00
michael
a8e634d506
* Added option to remove brackets from menu header From AndrewH (Bug ID 21676)
...
git-svn-id: trunk@21882 -
2012-07-11 17:13:40 +00:00
michael
153f59a38a
* Fixed bug ID #22045
...
git-svn-id: trunk@21881 -
2012-07-11 16:51:50 +00:00
michael
8eeb22720b
* Added GetLoadErrorStr function by Mark Morgan Loyd (Bug ID 22321)
...
git-svn-id: trunk@21880 -
2012-07-11 15:31:09 +00:00
Jonas Maebe
be8f8fec76
* converted tcg.g_releasevaluepara_openarray() to thlcg
...
git-svn-id: trunk@21879 -
2012-07-11 15:23:18 +00:00
Jonas Maebe
9197ce100e
* converted tcg.g_copyvaluepara_openarray() to thlcg
...
git-svn-id: trunk@21878 -
2012-07-11 15:23:08 +00:00
Jonas Maebe
596d359e02
* use current code page when converting ansichar to unicodestring
...
git-svn-id: trunk@21877 -
2012-07-11 15:22:31 +00:00