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
Mattias Gaertner
57f3e4d1d6
pastojs: resolver: funcresult[]:=
...
git-svn-id: trunk@38038 -
2018-01-25 14:16:32 +00:00
Mattias Gaertner
b6516e053a
fcl-passrc: resolver: funcresult[]:=
...
git-svn-id: trunk@38037 -
2018-01-25 14:16:21 +00:00
michael
7d355ffffc
call rtl function cloneset with fully qualified name
...
git-svn-id: trunk@38036 -
2018-01-25 13:58:39 +00:00
michael
a834444cc0
* Add JSON output encoding of messages
...
git-svn-id: trunk@38035 -
2018-01-25 13:44:07 +00:00
Mattias Gaertner
ef7d13d112
pas2js: fixed srcmap header
...
git-svn-id: trunk@38033 -
2018-01-25 10:42:23 +00:00
Mattias Gaertner
0950ac19ff
pastojs: char(int)
...
git-svn-id: trunk@38032 -
2018-01-25 10:35:54 +00:00
Mattias Gaertner
57010c65df
fcl-passrc: resolver: char(int)
...
git-svn-id: trunk@38031 -
2018-01-25 10:35:41 +00:00
Mattias Gaertner
8b24fa81d4
pastojs: ignore proc modifier inline
...
git-svn-id: trunk@38030 -
2018-01-25 09:12:14 +00:00
Mattias Gaertner
c98c70548a
fcl-js: srcmap: disable safety header by default, because not supported by Firefox
...
git-svn-id: trunk@38029 -
2018-01-25 09:06:54 +00:00
Mattias Gaertner
eebfb65131
pas2js: added option -Jmxssiheader
...
git-svn-id: trunk@38028 -
2018-01-25 09:01:57 +00:00
Mattias Gaertner
535b672029
pastojs: fixed reference of ancestor member in nested proc
...
git-svn-id: trunk@38027 -
2018-01-25 00:03:52 +00:00
Mattias Gaertner
eb5990882e
pastojs: version 0.8.45
...
git-svn-id: trunk@38026 -
2018-01-23 22:27:11 +00:00
Mattias Gaertner
b028dcdce1
pastojs: fixed skipping class interface
...
git-svn-id: trunk@38025 -
2018-01-23 22:23:00 +00:00
Mattias Gaertner
94f91cd5a8
fcl-passrc: useanalyzer: skip class interface
...
git-svn-id: trunk@38024 -
2018-01-23 22:22:29 +00:00