Commit Graph

69343 Commits

Author SHA1 Message Date
J. Gareth "Curious Kit" Moreton
1fafcbc125 * New "TryRemoveRegAlloc" optimisation utility 2024-02-11 21:39:19 +00:00
florian
4f82fade82 * extend LeaCallLeaRet2Jmp optimization to work on windows 2024-02-11 18:56:26 +01:00
florian
e7600ee245 * patch by Rika: Small improvements to (a|u)strings.inc, resolves #40364 2024-02-11 16:29:53 +01:00
J. Gareth "Curious Kit" Moreton
62495c964a * x86: New "aoc_DoPass2JccOpts" option to catch branch and
STC/CLC optimisations that only manifest in Pass 2
2024-02-11 15:05:57 +00:00
J. Gareth "Curious Kit" Moreton
2055ef4e88 * x86: STC/CLC optimisations can now handle multiple Jcc instructions 2024-02-11 15:05:57 +00:00
J. Gareth "Curious Kit" Moreton
de03a1b894 * x86: Additional STC/CLC; J(N)C deterministic jump optimisation 2024-02-11 15:05:57 +00:00
J. Gareth "Curious Kit" Moreton
698d432cce * x86: Separated out Jcc; STC/CLC optimisation and added additional peephole optimisations 2024-02-11 15:05:57 +00:00
J. Gareth "Curious Kit" Moreton
3e06242fd8 * x86: New "STC/CLC; MOV" peephole optimisation 2024-02-11 15:05:57 +00:00
J. Gareth "Curious Kit" Moreton
d06dd2b0ea * x86: New "Jcc; CLC/STC; .Lbl" optimisation 2024-02-11 15:05:57 +00:00
Rika Ichinose
c29dd86bb2 Remove runtime ABI adapter in x86_64.inc:IndexByte/Word, and save two jumps in the common case. 2024-02-11 15:05:03 +00:00
florian
2575cbc439 * complain about turned off support of c style operators only in the parser,
so error recovery is better
2024-02-11 11:05:05 +01:00
Rika Ichinose
7bf502ad40 Change Mov*DQ to Mov*PS; they are always equivalent because no operations but the memory transfers are performed, and 1 byte shorter each. 2024-02-10 22:47:40 +00:00
Rika Ichinose
12f18177ae Simplify x86_64.inc:Move non-temporal loops, and adjust thresholds for move distances considered too short for NT. 2024-02-10 22:47:40 +00:00
Rika Ichinose
0b5998ee8b Write two last values after 2× loops unconditionally instead of an extra check. 2024-02-10 22:47:40 +00:00
Rika Ichinose
e395166cb7 Check for Move overlaps in more obvious way (that also does no jumps in forward case). 2024-02-10 22:47:40 +00:00
florian
8a48d1bbbc * clean up of arrayconstructor_to_set, the stringdef case didn't work for years and is not tested, so it probably is not supposed to be there at all 2024-02-10 22:16:02 +01:00
Michaël Van Canneyt
cbbcc4356a * Make color distinct from cardinal 2024-02-10 20:23:14 +01:00
marcoonthegit
78eb340a4f * change elfid to 1400097 aka FreeBSD 14.0 2024-02-10 17:02:44 +01:00
florian
bc0d2293a1 * stricter type checking for set constants, resolves #40631 2024-02-09 23:36:44 +01:00
Sven/Sarah Barth
43721f21c4 * fix #40621: when checking for visibility of members then always use the genericdefs for specializations for correct scoping
+ added test
2024-02-09 17:24:39 +01:00
Sven/Sarah Barth
ed8a05d697 * use iscurrentunit only when there isn't a suitable def that the moduleid of the symtables can be compared to 2024-02-09 17:22:46 +01:00
Sven/Sarah Barth
ddc2259e5e * protect against comparisons of nested types of generics and specializations 2024-02-09 17:14:29 +01:00
Sven/Sarah Barth
244d3df869 * make Lazarus' CodeTools happy 2024-02-09 15:10:31 +01:00
Sven/Sarah Barth
75b5e8e63d * fix #40603:
- initialize thrdinfo record using Default() so that padding bytes are zeroed as well
  - correctly pass the count of ULONG_PTRs
2024-02-09 15:08:27 +01:00
Sven/Sarah Barth
2c527cfc01 * fix typos in comment, no code changes 2024-02-09 14:01:00 +01:00
florian
4fd5237c0e * mask FPU exceptions during libxml initialization to avoid an fpu exception with newer libxml, resolves #40622 2024-02-08 23:03:04 +01:00
Michaël Van Canneyt
be7b9a66db * Patch from Werner Pamler to implement GetInternalSize. Fixes issue #40630 2024-02-08 21:27:43 +01:00
Nikolay Nikolov
26855a29c8 * fix warning 2024-02-08 16:54:33 +02:00
Nikolay Nikolov
e073d5f7f7 + implemented support for the local.get, local.set and local.tee instructions in TWasmValidationStacks.Validate 2024-02-08 16:49:45 +02:00
Michaël Van Canneyt
3a5db26abf * Add TRttiEnumerationType for Delphi compatibility 2024-02-07 15:31:00 +01:00
J. Gareth "Curious Kit" Moreton
b4eabbe5ce * x86: Fixed CPU feature flags for AMD Jaguar and Piledriver 2024-02-06 22:15:51 +00:00
J. Gareth "Curious Kit" Moreton
e4bd58d66a * x86: Replaced CPU features array with "cpu_x86_64_v1_flags" where possible 2024-02-06 22:15:51 +00:00
florian
d7a486f225 * comment fixed, hint by Maxim Ganetsky 2024-02-06 22:09:52 +01:00
Michaël Van Canneyt
cde58d66fc * Make GetEnumName safer, check actual type. Allow passing an integer 2024-02-06 18:04:44 +01:00
Pierre Muller
46508f6af1 Add some output to explain failure for test tests/webtbs/tw40624.pp 2024-02-06 13:09:15 +00:00
florian
f80f1112d4 + Zen 4 2024-02-05 23:18:07 +01:00
Nikolay Nikolov
28c4c58b34 * fix warning 2024-02-05 23:35:45 +02:00
Nikolay Nikolov
d7581aa1ee + implemented TWasmValidationStacks.Validate for many (but not all, yet) instructions 2024-02-05 23:29:44 +02:00
Pierre Muller
7ffbbdd50b Fix dummy and wince fcl-process code after commit 54157a17 2024-02-05 07:21:36 +00:00
florian
b6ccf369b9 * patch by Евгений Савин to make Variant to string convertion use CurrToStr for varCurrency, resolves #40624 2024-02-04 14:10:49 +01:00
Rika Ichinose
9ac0a54ad2 Waaay faster TJSONScanner. 2024-02-04 13:18:09 +03:00
Michaël Van Canneyt
299c90b91d * Patch from Martin to set FCloseHandleOnExecute before invoking OnGetHandle - the handler might change it 2024-02-04 10:47:49 +01:00
Michaël Van Canneyt
8c8b336914 * Fix compilation of processunicode 2024-02-04 10:47:49 +01:00
Michaël Van Canneyt
abb5792aed * Patch from Martin to improve backwards compatibility: do not use Startf_UseStdHandles if all descriptors are iotDefault 2024-02-04 10:47:49 +01:00
Michaël Van Canneyt
d56da2d930 * Introduce ToString for all enumerateds. 2024-02-04 10:47:49 +01:00
Martin Frb
54157a17c6 * Patch from Martin to rename iotNone to iotDefault. 2024-02-04 10:47:49 +01:00
florian
ac6dc582be + also add x86-64 as cpu type (gcc compatibility) 2024-02-03 22:40:54 +01:00
J. Gareth "Curious Kit" Moreton
3882066f23 * Speed optimisations for peephole register tracking functions 2024-02-03 20:30:46 +00:00
J. Gareth "Curious Kit" Moreton
05d6e20acc * New Boolean "SetAndTest" utility function 2024-02-03 20:30:46 +00:00
Michaël Van Canneyt
9c9497375e * Made Log call virtual. Fixes issue #40623 2024-02-03 20:45:44 +01:00