Commit Graph

63885 Commits

Author SHA1 Message Date
Michaël Van Canneyt
8a63e7ee5a * Fix compiler hints 2021-12-27 11:57:11 +01:00
Michaël Van Canneyt
d362d47e88 * Fix memleak and compiler hints 2021-12-27 11:57:11 +01:00
Michaël Van Canneyt
11d2960db8 * Fix memleak 2021-12-27 11:57:10 +01:00
FPK
91337a3675 * new image 2021-12-27 09:47:22 +00:00
Karoly Balogh
db39d1a4e4 rtl-console: use videoDefaultFlags variable on Amiga for WA_Flags. disable smartrefresh in full screen, also respect the FPC_VIDEO_SIMPLEREFRESH env var 2021-12-26 22:25:28 +01:00
Karoly Balogh
c01c13c29a amunits: added missing WA_Borderless handling to the OpenWindow taglist handling legacy support code 2021-12-26 22:22:38 +01:00
Karoly Balogh
1f41cd195f amunits: added missing WA_Activate handling to the OpenWindow taglist handling legacy support code 2021-12-26 21:28:15 +01:00
Karoly Balogh
f8de5fece2 Merge branch 'main' of https://gitlab.com/freepascal.org/fpc/source 2021-12-26 20:39:38 +01:00
Karoly Balogh
6146aa6eb6 rtl-console/amicommon: set the window's UserPort to nil before closing, as recommended 2021-12-26 20:37:29 +01:00
Karoly Balogh
539f2cd7f0 amunits: in agraphics legacy support, use ExecFreeMem (OS call) instead of FreeMem (RTL call) to free the Bitmap which was created using ExecAllocMem 2021-12-26 20:35:11 +01:00
Karoly Balogh
53a67b34b5 rtl/amiga: add support for OSHeap, now default in legacy mode, optional define otherwise 2021-12-26 17:31:39 +01:00
Karoly Balogh
273a598be8 * Amiga-likes: set some sensible heapsize defaults, for OSHeap support 2021-12-26 17:22:11 +01:00
J. Gareth "Curious Kit" Moreton
8609c0803e Fixed MovxOp2Op failing on i386 due to lack of register check 2021-12-26 16:20:18 +00:00
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
Karoly Balogh
c298c0e0da rtl/osheap: fixed a dumb reversed condition in osheap/SysAllocMem() 2021-12-26 15:56:34 +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