Rika Ichinose
8093b1ba0c
Unbias 32-bit random.
2025-03-29 21:55:08 +01:00
Rika Ichinose
ff2492edf5
Add System.UMul64x64_128.
2025-03-15 22:18:55 +01:00
Sven/Sarah Barth
7f4b2f63b3
Switch from functions for the Atomic*-family to intrinsics
2024-12-12 22:05:15 +01:00
florian
cc7325e316
* increase stack margin for x86-64 so back tracing a stack overfow with line info does not cause another stack overflow
2024-11-24 22:58:47 +01:00
florian
092ff254f1
+ AtomicIncrement/Decrement overloads
...
* tests extended
2024-11-10 14:56:10 +01:00
Ondrej Pokorny
bdb3d097b5
fix AtomicDecrement(Cardinal) overload
2024-11-09 08:34:07 +00:00
Rika Ichinose
b8fdd7148b
Simplify RTTIRecordOp.
2024-09-22 07:50:51 +00:00
Nikolay Nikolov
2dd0b55d04
* the fpc_invalidpointer rtl function declared compproc to allow easier calling
...
from the high level code generator
2024-09-03 18:04:52 +03:00
Rika Ichinose
d7352e7b66
Remove most of the VER3_0 conditionals.
2024-08-25 09:44:11 +00:00
Rika Ichinose
11942fcf01
Cover more values in the [0; 1) range by “random”.
2024-06-01 16:55:36 +00:00
Pierre Muller
d1510840d0
Fix compilation of rtl with -dDISABLE_SYSTEMINLINE
2024-05-02 07:47:57 +00:00
florian
b81f92536d
* avoid that fpc_fillmem does not inline due too much nested calls
2024-01-15 22:42:53 +01:00
Michael VAN CANNEYT
31ef662201
* check zero length instead of comparing to empty string
2023-07-14 17:26:11 +02:00
Michael VAN CANNEYT
f75f208992
* Add IndexChar for widechar
2023-07-14 17:26:11 +02:00
Michael VAN CANNEYT
d2d3fe6bc3
* Char -> AnsiChar
2023-07-14 17:26:10 +02:00
Michaël Van Canneyt
6e5c4667cd
* Do not compile pointer overloads of atomic operations for MS-DOS/i8086
2023-07-13 16:18:04 +02:00
Pierre Muller
032158d943
Fix system compilation for CPU16
2023-07-10 07:04:11 +02:00
Pierre Muller
ba2b29bd2c
Fix cpu16 error in AtomicCmpExchange
2023-07-10 06:54:18 +02:00
Michaël Van Canneyt
2a87366086
* Delphi compatibility aliases for Interlocked* functions
2023-07-09 15:44:55 +02:00
Jinyang He
6ef31c643a
Set STACK_MARGIN_MAX to four times of pagesize on LoongArch64
...
It fixed a test named tstack. Actually, Linux user get the stacktop is
incorrect in current. The value of stack pointer when enter the procedure
is thought as it is in the highest stack page. But if the parameters is
enough large, lager than 16k, most of arch will also fail this test.
Since the LoongArch default pagesize is 16k, it fail often because
stack-layout-randomization causes the stackpointer underflow to next page.
I had tried fixed it in rtl/linux/[arch]/si_*. But because the codes is
unworthy and hardly the parameters is enough large, just expand
STACK_MARGIN_MAX for simplicity.
2023-06-21 07:27:36 +00:00
florian
159fa78514
* patch by Rika: fix for 15f29b8fa0
2023-02-26 10:52:35 +01:00
florian
15f29b8fa0
* patch by Rika: Perform 32-bit random if the bound fits into 32 bits at runtime, resolves #40171
2023-02-25 19:57:50 +01:00
Jinyang He
664c613d96
add loongarch64 rtl support
2023-02-05 19:18:48 +00:00
Jonas Maebe
0758aa1143
FPU exception mask: generlised system unit interface
2022-10-17 19:43:01 +00:00
florian
308bc29465
* setting of MIPS64(EL) in system.inc fixed
2022-02-08 23:08:13 +01:00
florian
91cf1774dd
* replace MT random generator by Xoshiro128**, resolves #38237
2021-10-05 22:20:22 +02:00
Károly Balogh
7b9ed5fe46
rtl: make STACK_MARGIN a variable instead of a const. this allows adjusting margin size on system unit init, based on the actual stack length of the executable. useful for small systems running with little stack. allow overwriting SysBackTraceStr with a platform-specific implementation
...
git-svn-id: trunk@49200 -
2021-04-14 02:35:01 +00:00
Károly Balogh
45b5e9215c
rtl: remove defines for v2.x compiler from the common part of the RTL. It's no longer suppported to build with that
...
git-svn-id: trunk@49036 -
2021-03-23 09:32:49 +00:00
nickysn
a5fafea8d1
* more updates to attempt to get a larger part of the full RTL to compile for WASM32
...
git-svn-id: branches/wasm@47970 -
2021-01-02 13:01:39 +00:00
florian
2e2f2eb784
- remove could which prevented that rte is triggered even if we are inside
...
an exception block but *without* using sysutils. The remove code
was once added to have primitive exception handling even if
no sysutils is used. But if this is desired, an appropriate handler
to ErrorProc should be assigned. Resolves #38201
git-svn-id: trunk@47775 -
2020-12-14 21:55:42 +00:00
ondrej
1a0ba60de6
* revert r47598: implement TRandomGenerator
...
git-svn-id: trunk@47605 -
2020-11-27 04:53:06 +00:00
ondrej
c4dd3b661a
* rtl: implement TRandomGenerator for thread-safe random
...
git-svn-id: trunk@47598 -
2020-11-26 05:59:00 +00:00
florian
e718cb985e
* replace some longint by ObjpasInt
...
git-svn-id: trunk@47047 -
2020-10-04 20:50:39 +00:00
florian
1bf58c2a55
+ introduce TExitCode
...
git-svn-id: trunk@47029 -
2020-10-01 20:33:02 +00:00
florian
1e4dc56155
* inlinable frame handling dummies for avr
...
* inline frame handler if possible
git-svn-id: trunk@47025 -
2020-09-30 21:18:33 +00:00
yury
aa633544f1
* Added a simple implementation of random. It is TP/Delphi compatible. Enabled it for 8/16 bit CPUs by default.
...
git-svn-id: trunk@46266 -
2020-08-05 16:29:07 +00:00
nickysn
5b24267529
* reduced the stack margin for stack checking to 64 bytes on the Z80
...
git-svn-id: trunk@45168 -
2020-04-29 01:22:22 +00:00
nickysn
9c7f1a7cab
* synchronized with trunk
...
git-svn-id: branches/z80@45046 -
2020-04-24 03:30:29 +00:00
yury
8d95da3fea
* Windows: Reworked handling of command line arguments to properly support Unicode:
...
- Use the CommandLineToArgvW API function to parse the Unicode command line (we can use it since Win9x is not supported anymore).
- Implemented non-public functions ParamStrA and ParamStrU which are exposed in the objpas and uuchar units to provide correct AnsiString and UnicodeString versions of ParamStr().
- The cleanup code is moved from InternalExit to the finalization section of the System unit.
git-svn-id: trunk@45037 -
2020-04-23 12:38:42 +00:00
nickysn
755fe97c51
* synchronize with trunk
...
git-svn-id: branches/z80@44397 -
2020-03-29 16:24:32 +00:00
florian
83a6efd759
+ Xtensa: RTL skeleton
...
git-svn-id: trunk@44320 -
2020-03-20 22:35:43 +00:00
florian
a20209e691
+ tf_init_final_units_by_calls
...
* arm-embedded generates direct calls for unit init/final now as well
git-svn-id: trunk@43771 -
2019-12-24 16:14:30 +00:00
florian
88648248ec
* fix random(<int64>) for 32 Bit CPUs
...
git-svn-id: trunk@43194 -
2019-10-13 20:23:01 +00:00
pierre
5cc4f0be20
Fix bug report #36081 : fix cycling starting with i386-linux 3.0.4 release compiler
...
git-svn-id: trunk@43029 -
2019-09-18 07:45:47 +00:00
florian
94832d5eea
* fixed define
...
git-svn-id: trunk@43027 -
2019-09-17 18:42:40 +00:00
florian
1872bee116
* stack checking checks also proper alignment
...
git-svn-id: trunk@43011 -
2019-09-15 17:17:30 +00:00
svenbarth
0c46460548
* m68k has slightly different alignment requirements, so that aligntoptr might result in incorrect addresses for a record's element entries, thus we introduce a separate AlignTypeData function that handles this correctly
...
git-svn-id: trunk@42764 -
2019-08-22 20:45:45 +00:00
Jonas Maebe
b0683edfcb
* simplified random(int64) code
...
git-svn-id: trunk@42513 -
2019-07-28 12:03:46 +00:00
Jonas Maebe
789f288771
* fixed distribution of random(int64) based on patch by Pangea
...
(mantis #35878 )
git-svn-id: trunk@42508 -
2019-07-28 11:14:58 +00:00
svenbarth
55dfb59631
* TRttiDataCommon is required outside of the RTTI and DynArray include files as well
...
git-svn-id: trunk@42437 -
2019-07-13 14:38:20 +00:00