Commit Graph

63854 Commits

Author SHA1 Message Date
florian
abc4a0a4e6 * patch by Rika: another improvement of cutils.newalignment, part of #39496 2021-12-25 19:37:27 +01:00
florian
c0979bbc0c * TObject.InitInstance got very big so inlining has no advantage anymore, resolves #39494 2021-12-25 19:09:22 +01:00
J. Gareth "Curious Kit" Moreton
cafd708b6d Refactoring of OptPass2Movx to remove goto 2021-12-25 16:38:10 +00:00
Karoly Balogh
9894fe8082 * rtl-console: on Amiga added a custom screen update call, to do partial screen updates. doing a full update can be very slow on low-end systems (checking the entire screen buffer every time), so software tuned for these can now request partial updates, when the updated already is already known 2021-12-25 16:42:00 +01:00
J. Gareth "Curious Kit" Moreton
22cd8d5d62 Fixed bug in MovxMovx2Movx optimisation that would specify a 64-bit destination instead of 32-bit one 2021-12-25 14:49:08 +00:00
Karoly Balogh
4fe5e53fcc * rtl-console: on Amiga, remove the initial testing of the buffer for changes. it just slowed things down with frequent partial updates, especially on low-end processors with limited or no data cache 2021-12-25 13:21:40 +01:00
Karoly Balogh
cc7c328a7c * rtl-console: slight refactor of how Amiga SysUpdateScreen() addresses the videobuf. this results in slightly more optimal code with less complex addressing, which helps low-end processors 2021-12-25 13:17:34 +01:00
Karoly Balogh
5264e48d90 * rtl-console: always compile Amiga KVM units in OBJFPC mode. This makes it easier to compile these units outside of this package 2021-12-25 13:13:26 +01:00
florian
ab969e0a9b * patch by Rika: improve ctuils.newalign/align, part of #39496 2021-12-23 22:01:39 +01:00
J. Gareth "Curious Kit" Moreton
b4c8c1da12 Overflow bug fixes to MovZX/SX optimisations when CMP instructions are encountered. 2021-12-23 07:14:49 +00:00
florian
6dbe71cd30 * TX86AsmOptimizer.OptPass1MOVXX should search only over other instructions if it works with registers only 2021-12-22 22:54:11 +01:00
florian
6147d6d8a0 * compilation with i386 fixed 2021-12-21 22:46:12 +01:00
Michaël Van Canneyt
ebd7bb7cb9 * Create API description as Pascal 2021-12-21 19:17:31 +01:00
Michael Van Canneyt
bd77787712 * Fix from Дмитрий Ворошин, fix issue #39495 2021-12-21 16:07:00 +01:00
Michaël Van Canneyt
e6fe075a42 * Patch from Henrique Werlan, correctly fetch RTTI info for external classes (pas2js issue 38943) 2021-12-21 15:11:17 +01:00
Michaël Van Canneyt
a16449c54e * Fix from Henrique Werlang, use safename when writing pascal code (pas2js issue 39196) 2021-12-21 15:01:28 +01:00
Nikolay Nikolov
b00fdb7205 * ptcpas keyboard handling improvements for macOS and X11 2021-12-21 12:34:50 +02:00
Michaël Van Canneyt
8ee49ef930 * Patch from Werner Pamler to fix issue #39493 2021-12-20 23:55:20 +01:00
J. Gareth "Curious Kit" Moreton
d083cc7247 New MovxAndTest2Test optimisation to mirror the regular MovAndTest2Test optimisation 2021-12-20 22:10:22 +00:00
J. Gareth "Curious Kit" Moreton
5b4c104aaf Massive overhaul to OptPass2Movx to favour operand shrinkage 2021-12-20 22:10:22 +00:00
J. Gareth "Curious Kit" Moreton
d255ffba8b Improved handling of signed sequences in OptPass2Movx 2021-12-20 22:10:22 +00:00
J. Gareth "Curious Kit" Moreton
01e5f4855a MovZX->MovSX optimisation 2021-12-20 22:10:22 +00:00
J. Gareth "Curious Kit" Moreton
4825d2d16c New Movz ###,%ecx, shift/rotate %cl,... optimisation 2021-12-20 22:10:22 +00:00
J. Gareth "Curious Kit" Moreton
f02b7508de Bolder OptPass2Movx optimisations, including a simplification fix 2021-12-20 22:10:22 +00:00
J. Gareth "Curious Kit" Moreton
da899df6b2 New MovxMovxOp2OpMovx optimisation 2021-12-20 22:10:22 +00:00
Michaël Van Canneyt
87a785daa0 * Fix registry search for method name 2021-12-20 13:26:08 +01:00
Michaël Van Canneyt
fd29f25bf1 * Add RPCMethodName property 2021-12-20 13:18:57 +01:00
florian
159201d054 * activate missing test 2021-12-19 22:57:33 +01:00
Michaël Van Canneyt
4c6cbfe03e * RPC Client code generator (also in pas2js) 2021-12-19 22:19:15 +01:00
Michaël Van Canneyt
36eea0c819 * Slightly better identifier position 2021-12-19 22:16:36 +01:00
Michaël Van Canneyt
03b3f00a0b * Publish handler resulttype, add OnContextExecute 2021-12-19 22:16:36 +01:00
Michaël Van Canneyt
9af13b2731 * Force ampersand in EscaleKeyword 2021-12-19 22:16:36 +01:00
Michaël Van Canneyt
fa9d77e67e * TypeScript Improvements, 97% of DefinitelyTyped declarations now parsed 2021-12-19 22:16:36 +01:00
J. Gareth "Curious Kit" Moreton
40196f4a43 Fixes to ADD/SUB 128 optimisation that didn't check flags properly, and also handling ADC/SBB properly 2021-12-19 20:51:57 +00:00
florian
e443936e12 + in_min/max_dword/longint support for aarch64 2021-12-19 16:16:44 +01:00
florian
77b9d62520 + in_min/max_single/double support for aarch64 2021-12-18 21:23:21 +01:00
J. Gareth "Curious Kit" Moreton
b4bd15a5c0 Removed incorrect logic in TEST optimisation 2021-12-17 22:10:12 +00:00
Pierre Muller
2b9ec05963 Re-enable compilation of graph unit for aarch64-win64 2021-12-17 21:38:57 +00:00
florian
03f4685455 + sanity checks in mips and sparc register allocator 2021-12-17 21:25:17 +01:00
florian
c6874df5c8 * better error recovery, resolves #39485 2021-12-16 22:27:38 +01:00
Jonas Maebe
d5b368988f LLVM: add Read/WritePort* implementations
Fixes Unix graph compilation on x86 with LLVM
2021-12-16 21:17:42 +01:00
Marcus Sackrow
492210fdc7 AmigaOS4, MorphOS: added missing RemBob macro 2021-12-16 19:56:10 +01:00
florian
f7239e03e7 * make tgobj.pas less verbose in extdebug mode, use separate define DEBUG_FREETEMP for the really
verbose stuff
2021-12-15 23:05:18 +01:00
J. Gareth "Curious Kit" Moreton
be448e29f6 Fixed bug in new TEST optimisation where a FLAGS check always returned "in use" 2021-12-15 20:14:26 +00:00
J. Gareth "Curious Kit" Moreton
42c429bf45 New optimisation that merges small constants written to the stack 2021-12-15 19:47:50 +00:00
Nikolay Nikolov
5dcdfeb126 * ptcpas update: support the F13..F35 function keys on platforms that recognize them 2021-12-15 08:25:37 +02:00
Pierre Muller
fc1ed78232 Graph package fixes
Fix aarch64-freebsd compilation failure
 by restricting graph unit to i8086/i386/x86_64 CPUs.
 Remove unneeded i386-linux special case.
2021-12-14 22:00:06 +00:00
FPK
2208b55f76 * cleanup of garbage, resolves #39487 2021-12-14 21:14:56 +00:00
marcoonthegit
6c466d2a38 * 4 more headers added in fcl-image 2021-12-14 18:50:51 +01:00
marcoonthegit
9773021315 * copyright added based on Michael's original commit message 2021-12-14 17:31:05 +01:00