Commit Graph

63871 Commits

Author SHA1 Message Date
Sven/Sarah Barth
1e37eef3d2 * use an anonymous symbol for the record operator table as its typing is different for each incarnation anyway 2021-12-26 16:36:16 +01:00
Sven/Sarah Barth
b54068d1a4 * libffi: fix abi declarations for x86_64 2021-12-26 11:37:10 +01:00
Sven/Sarah Barth
00f4aeb39b * i386 invoke implementation: check the correct argument in the second pass 2021-12-26 11:37:10 +01:00
Sven/Sarah Barth
e95572921a * i386 callback implementation: only skip the result argument if it was detected as one from the parameters 2021-12-26 11:37:10 +01:00
Sven/Sarah Barth
bf37616514 + add TValue.FromArray to create a TValue type for a static or dynamic array from an array of TValues
+ added test
2021-12-26 11:37:10 +01:00
Sven/Sarah Barth
caaed25f18 + add Rtti types for static and dynamic arrays
+ added tests
2021-12-26 11:37:10 +01:00
Sven/Sarah Barth
f1059679a1 * move initialization of TValue to a separate method to avoid duplicate implementations 2021-12-26 11:37:10 +01:00
Sven/Sarah Barth
322d91758c + add Handle property to access the TypeInfo pointer of the TRttiType 2021-12-26 11:37:09 +01:00
Sven/Sarah Barth
f74a6abccf * fixup 2021-12-26 11:37:09 +01:00
Sven/Sarah Barth
f9567ff50e * TMethodImplementation.HandleCallback: fix building the argument array if the result is passed in a parameter 2021-12-26 11:37:09 +01:00
Sven/Sarah Barth
bc46d8f33a * x86_64 Win64 callback implementation: fix building the argument array if the result is passed as a parameter 2021-12-26 11:37:09 +01:00
Karoly Balogh
5a84342348 * rtl-console: fix ; in the previous commit 2021-12-25 23:31:20 +01:00
Karoly Balogh
d3de4b5951 * rtl-console: generalized the partial screen update feature which was added to Amiga. the function was renamed to UpdateScreenArea(). it's still an empty call on other platforms, that falls back to UpdateScreen() but the infrastructure is now there to support it. 2021-12-25 23:16:36 +01:00
J. Gareth "Curious Kit" Moreton
f289f2694a x86: Additions to OptPass2Movx to better synergise with new CMP optimisation under -O2 2021-12-25 19:07:48 +00:00
J. Gareth "Curious Kit" Moreton
683a92bcc8 i386: Correction to GetIntRegisterBetween to ensure we only get 8-bit registers that we can actually encode 2021-12-25 19:07:48 +00:00
J. Gareth "Curious Kit" Moreton
1da7ce46de x86: New double CMP optimisation to remove a branch 2021-12-25 19:07:48 +00:00
florian
781b2d0a80 * patch by Rika: second part of #39496, resolves #30496
+ extended test
2021-12-25 20:01:32 +01:00
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