florian
0662b611ca
* patch by Christo Crause: prevent that the compiler converts breq into jmp in inline assembler blocks, resolves #32949
...
git-svn-id: trunk@38088 -
2018-01-31 18:34:42 +00:00
Mattias Gaertner
d580402916
pastojs: set version 0.9.0
...
git-svn-id: trunk@38087 -
2018-01-31 13:07:49 +00:00
Mattias Gaertner
9dd2ddb8b0
pasotjs: fixed implict call procttype arg
...
git-svn-id: trunk@38086 -
2018-01-31 11:51:17 +00:00
Mattias Gaertner
373c7fb655
pastojs: test EncodeVLQ
...
git-svn-id: trunk@38085 -
2018-01-31 11:26:52 +00:00
Mattias Gaertner
fb9e51a440
fcl-passrc: scanner: store used filenames
...
git-svn-id: trunk@38084 -
2018-01-31 11:26:30 +00:00
Mattias Gaertner
7205ecb0f2
fcl-js: fixed comment in jssrcmap
...
git-svn-id: trunk@38083 -
2018-01-31 11:25:38 +00:00
florian
10516f21f8
* patch by Christo Crause to resolve #33098 : AVR - LDS assembler instruction with absolute address gives compiler error
...
git-svn-id: trunk@38082 -
2018-01-30 20:22:42 +00:00
Mattias Gaertner
064e7f391e
fcl-passrc: useanalyzer: no hint for assembler result
...
git-svn-id: trunk@38081 -
2018-01-29 21:01:22 +00:00
Mattias Gaertner
1267814275
fcl-passrc: useanalyzer: no hint for assembler result
...
git-svn-id: trunk@38080 -
2018-01-29 20:53:15 +00:00
Mattias Gaertner
32d9e32899
pastojs: const float
...
git-svn-id: trunk@38079 -
2018-01-29 19:46:48 +00:00
Mattias Gaertner
d139b3e8f1
pas2js: docs
...
git-svn-id: trunk@38078 -
2018-01-29 17:45:53 +00:00
Mattias Gaertner
6ef4c4af92
pastojs: external class const
...
git-svn-id: trunk@38077 -
2018-01-29 17:39:06 +00:00
Mattias Gaertner
f812c657db
fcl-passrc: resolver: external class const
...
git-svn-id: trunk@38076 -
2018-01-29 17:38:52 +00:00
Károly Balogh
cbf0ff8430
amunits: fix AutoConfig structures aligment, 2 bytes alignment is needed. change tested against real hardware.
...
git-svn-id: trunk@38075 -
2018-01-28 23:10:17 +00:00
Mattias Gaertner
9bb7ad3ac6
pastojs: array of proctype, proctype to jsvalue argument
...
git-svn-id: trunk@38074 -
2018-01-28 21:47:28 +00:00
Mattias Gaertner
ac18dc0321
fcl-passrc: resolver: store rrfNoImplicitCallWithoutParams, store flags for set params
...
git-svn-id: trunk@38073 -
2018-01-28 21:46:12 +00:00
florian
796eb542be
* LDD/STD need always an offset, resolves #33086
...
git-svn-id: trunk@38072 -
2018-01-28 21:06:13 +00:00
florian
92e616e30c
* error happens only with optimization
...
git-svn-id: trunk@38071 -
2018-01-28 14:41:57 +00:00
florian
810acd82b2
* patch by J. Gareth Moreton that makes some improvements to the Peephole Optimizer for x86 and x86-64 code, as well as some cleanup with formatting, code syntax consistency, and debug messages.
...
- xorq %reg,%reg (identical registers) is now changed to xorl %reg,%reg if doing so removes the REX prefix.
- movw %bx,%ax; andl $0xffff,%eax, for example, is now changed to movzwl %bx,%eax as long as a conditional operation doesn't follow 'and' (checks to see if the CPU flags are in use).
- movzbq and movzwq get optimised to movzbl and movzwl respectively if doing so removes the REX prefix.
- Removal of optimisation code that zero-extends from 32-bit to 64-bit, because there isn't actually a valid combination of opcodes for MOVZX that allows that (for registers,
just use MOV). This is not the case with MOVSX.
- movq is now optimised to movl even if the CPU flags are in use (this stops mov %reg,0 from being optimised to xor %reg,%reg if doing so breaks an algorithm that relies on them).
- Fixed typo in peephole message regarding movq to movl (it said movd instead).
- Made the peephole debug messages more consistent in formatting, some of which now have more detail.
* small fixes of the patch
git-svn-id: trunk@38070 -
2018-01-28 14:41:54 +00:00
florian
10ea652493
* fix for #32576
...
+ test case
git-svn-id: trunk@38069 -
2018-01-28 13:26:49 +00:00
florian
93353d8d79
* typo
...
git-svn-id: trunk@38068 -
2018-01-28 13:26:47 +00:00
florian
52510ea933
+ TUsedRegs.Dump
...
git-svn-id: trunk@38067 -
2018-01-28 13:26:45 +00:00
michael
afa2b90a5d
* Fix bug ID #33080
...
git-svn-id: trunk@38066 -
2018-01-28 10:38:55 +00:00
michael
5a9488b1fc
* Add test for clearfields
...
git-svn-id: trunk@38065 -
2018-01-28 10:16:53 +00:00
michael
ecff685b80
* Fix bug ID #33081 , dataset should be in edit mode for calling clearfields
...
git-svn-id: trunk@38064 -
2018-01-28 10:00:19 +00:00
michael
551d3eda26
* Fix bug #33078 , missing MatchText
...
git-svn-id: trunk@38063 -
2018-01-28 09:32:04 +00:00
michael
a94ebf008c
* Fix bug #33079 , missing IndexText
...
git-svn-id: trunk@38062 -
2018-01-28 09:29:30 +00:00
Mattias Gaertner
517e2e3218
fcl-passrc: parser: check semicolon after if then
...
git-svn-id: trunk@38061 -
2018-01-27 16:25:57 +00:00
svenbarth
9240e0c2e6
* fix 32-bit * 32-bit => 64-bit for Coldfire
...
git-svn-id: trunk@38060 -
2018-01-27 14:26:18 +00:00
Mattias Gaertner
898b566837
pas2js:: rtl.js: add Math.trunc only if used
...
git-svn-id: trunk@38059 -
2018-01-27 14:15:36 +00:00
Mattias Gaertner
b0367d4430
pas2js: fixed skipping #else
...
git-svn-id: trunk@38058 -
2018-01-27 14:12:43 +00:00
Mattias Gaertner
eb3ba71b98
pastojs: forbid external class const expr
...
git-svn-id: trunk@38057 -
2018-01-27 11:35:30 +00:00
Mattias Gaertner
b7a373b132
pastojs: forbid external class const expr
...
git-svn-id: trunk@38056 -
2018-01-27 11:35:04 +00:00
Mattias Gaertner
8ffcfc4552
fcl-passrc: resolver: fixed checking class vars and class types
...
git-svn-id: trunk@38055 -
2018-01-27 11:34:25 +00:00
svenbarth
8522474457
* correctly allocate the space for the 5 registers that are stored
...
git-svn-id: trunk@38054 -
2018-01-26 21:48:07 +00:00
svenbarth
ea193bc993
* enable explicit Pointer overloads of Interlocked* functions for M68k as that has a calling convention where the passing of Pointer values differs from ordinal values (address vs. int registers). Fixes e.g. usage of the Classes unit
...
git-svn-id: trunk@38053 -
2018-01-26 21:37:58 +00:00
svenbarth
e09ec0e36b
+ add ability to have explicitely implemented Pointer overloads of the Interlocked* routines instead of forwarding them to the ones with suitable size.
...
git-svn-id: trunk@38052 -
2018-01-26 21:36:35 +00:00
michael
0ef3fc2f29
* Math.trunc polyfill
...
git-svn-id: trunk@38051 -
2018-01-26 20:33:42 +00:00
Mattias Gaertner
2f3fd73c0d
pastojs: bark on enum const
...
git-svn-id: trunk@38050 -
2018-01-26 19:27:27 +00:00
Mattias Gaertner
adbb998377
pastojs: started filer
...
git-svn-id: trunk@38049 -
2018-01-26 19:20:25 +00:00
Mattias Gaertner
ae5e851f7f
pastojs: fixed compile on Windows
...
git-svn-id: trunk@38048 -
2018-01-26 15:32:02 +00:00
Mattias Gaertner
9d6c109303
pas2js: check duplicate files
...
git-svn-id: trunk@38047 -
2018-01-26 08:42:31 +00:00
Mattias Gaertner
bd37d43f1c
pas2js: search case insensitive by default
...
git-svn-id: trunk@38046 -
2018-01-25 21:36:01 +00:00
marco
c98214c348
* mantis #33075 , EGLINT always 32-bit
...
git-svn-id: trunk@38045 -
2018-01-25 20:53:35 +00:00
svenbarth
bd57af5b19
* as Coldfire does not support ADD.W save the (original) lower word and restore it after D0 is swapped back (I hope the algorithm still works then O.o)
...
git-svn-id: trunk@38044 -
2018-01-25 20:02:16 +00:00
svenbarth
b7cdec3a2a
* Coldfire does not support EXG, so do it the old fashioned way (but before restoring the stored registers)
...
git-svn-id: trunk@38043 -
2018-01-25 19:59:50 +00:00
svenbarth
9822374680
* Coldfire does not support MOVEM together with pre-decrement or post-increment, so abuse TST for that which is only a single instruction word
...
git-svn-id: trunk@38042 -
2018-01-25 19:58:59 +00:00
svenbarth
00141749d5
* Coldfire does not support sub.w, so use sub.l instead for that CPU
...
git-svn-id: trunk@38041 -
2018-01-25 19:56:28 +00:00
Mattias Gaertner
e2d23ea70e
pas2js: json output: fixed error messages
...
git-svn-id: trunk@38040 -
2018-01-25 17:53:13 +00:00
Mattias Gaertner
ade2779f93
pas2js: doc about -JmXSSIHeader
...
git-svn-id: trunk@38039 -
2018-01-25 14:17:03 +00:00