Commit graph

553 commits

Author SHA1 Message Date
Dennis
5cd77a6e32
User hyperlinks to refer to bugzilla issues (#8766) 2023-06-16 14:45:44 +03:00
Jan Jurzitza
f8c80db44e
Fix upcoming D-Scanner argument warnings (#8753)
* upgrade D-Scanner

* Fix upcoming D-Scanner argument checks
2023-05-30 09:42:02 +03:00
Denis Feklushkin
2bd1b833f8 Redundant stack grow direction checks removed 2023-04-28 17:36:40 +03:00
Nick Treleaven
14eb9f8432 Replace broken BitmappedBlock example with Region 2022-10-16 16:59:06 +01:00
Nick Treleaven
4a9668ea24 Tweak std.experimental.allocator docs
Add missing LREFs in top table.
Use RUNNABLE_EXAMPLE.
2022-10-16 14:26:19 +01:00
Per Nordlöw
28aec22c22
Add isAllocator (#8598) 2022-10-13 17:42:03 +08:00
Paul Backus
d31f81ee7c Split SharedBorrowedRegion from BorrowedRegion
Since they do not present the same structural interface, they should be
separate types (i.e., hasMember cannot tell the difference between a
'shared' method and a thread-local method).
2022-09-19 16:31:20 -04:00
Paul Backus
63882e2e2d SharedRegion: don't use NullAllocator as sentinel
SharedRegion will now always assume that its ParentAllocator is a real
allocator, and attempt to use its 'allocate' and 'deallocate' methods
accordingly.

The behavior previously provided by SharedRegion!(NullAllocator, ...)
remains available via shared(BorrowedRegion!(...)).

See issue 23090 for detailed rationale.
2022-09-19 16:31:20 -04:00
Paul Backus
70d41a122a Use BorrowedRegion internally in SharedRegion 2022-09-19 16:31:20 -04:00
Paul Backus
e05ee968ac Region: don't use NullAllocator as a sentinel
Region will now always assume that its ParentAllocator is a real
allocator, and attempt to use its 'allocate' and 'deallocate' methods
accordingly.

The behavior previously provided by Region!(NullAllocator, ...) remains
available via BorrowedRegion!(...).

See issue 23090 for detailed rationale.
2022-09-19 16:31:20 -04:00
Paul Backus
e04186b82f Use BorrowedRegion internally in [InSitu]Region 2022-09-19 16:31:20 -04:00
Paul Backus
e6ebc2ad51 Add BorrowedRegion, a non-owning Region allocator
Previously, this behavior could only be obtained by instantiating Region
with NullAllocator as its ParentAllocator. Extracting it into a separate
allocator will allow Region itself to be simplified.
2022-09-19 16:31:20 -04:00
Johan Engelen
ba473aebe8 Disable large allocation test that is not supported by AddressSanitizer
AddressSanitizer will report an error (rather than returning `null`) for such large allocations.
2022-03-03 02:02:31 +00:00
Walter Bright
374eefefbf Comment out randomly failing test in std.experimental.allocator 2022-01-08 21:14:11 -08:00
nordlow
d30a978370 Qualify Mallocator members as const 2021-08-19 12:18:29 +02:00
nordlow
b4ce8436d7 Annotate bitmapped_block.d to please dlang/dmd#12520 2021-05-18 01:13:52 +02:00
nordlow
f8bc7a1181 Annotate allocator/common.d to please dlang/dmd#12520 2021-05-17 05:21:35 +02:00
Boris Carvajal
5dd42968e3 Rename the initial value of some enums from init to _init 2021-05-12 10:56:46 +08:00
berni44
b2019ebab0 Narrow imports of std.math in the rest of phobos. 2021-04-21 03:00:57 +02:00
MoonlightSentinel
d5412f71cc Remove spurious __EOF__ hiding existing declarations/tests 2021-02-01 16:42:37 +01:00
Martin Kinkelin
543994eec0 std.experimental.allocator: Adapt unittests to emplace() fix (proper rvalue forwarding) 2021-01-18 12:00:32 +01:00
Martin Kinkelin
1a459c5996 Get rid of std.conv.emplace[Ref](), use core[.internal].lifetime
The emplace() stuff was moved to druntime; for some reason, it's still
in Phobos.

I've diffed the two versions, and they are still almost identical (incl.
unittests); the druntime version appears to have seen some improvements
(e.g., forwarding r/lvalueness of the arguments) in the meantime.
2021-01-17 16:02:25 +01:00
Martin Kinkelin
87cf224311 allocator_list unittests: Use core.memory.pageSize instead of minimumPageSize
Nothing else in druntime/Phobos uses the problematic `minimumPageSize`
symbol. Problematic because the page size changes from 4 to 16 KB with
macOS 11.0.
2020-10-09 09:42:54 +02:00
aG0aep6G
77b4dbbd36 tighten up other imports
These don't affect the import graph.
2020-09-08 14:00:11 +02:00
aG0aep6G
3fcf905408 remove unnecessary imports
Pulling a single thread out of the hairball of imports that is Phobos.
2020-09-08 14:00:04 +02:00
Nathan Sashihara
453faadf5b Replace is(Unqual!T == Unqual!U) with is(immutable T == immutable U) for speed & memory usage 2020-08-03 15:07:32 +02:00
Iain Buclaw
6d6c02cda7 std.experimental.allocator.building_blocks.region: Remove duplicated RISCV version condition 2020-06-29 16:35:52 +02:00
Harry Gillanders
86e2d75187 Fix issue 20929
std.experimental.allocator.expandArray's range-based overload fails to
instantiate for char and wchar arrays.
2020-06-18 05:56:06 +01:00
Nathan Sashihara
e801d54faa std.experimental.allocator: use core.bitop for trailingZeroes and leadingOnes 2020-05-15 10:34:20 -07:00
Geod24
04f3979317 Replace 'Issue XXX' with Bugzilla links
Make the links clickable, as was done in the DMD repository.
Also avoids any ambiguity w.r.t. where the issue is stored.
2020-04-13 16:28:09 +09:00
David Abdurachmanov
3d84369f87 Add support for RISC-V 32 & 64 bit
This allows libphobos to compiled on RISC-V targets.

Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2020-03-28 14:29:49 -07:00
Hackerpilot
bbab95e337 Make sure that uses of testAllocator are inside of StdUnittest version blocks. 2020-03-10 12:24:10 -07:00
Jacob Carlborg
4282c121cd Fix allocator tests on iOS derived platforms 2020-03-03 12:51:07 +01:00
Alexandru Militaru
bb62aaca3d Replaced version (unittest) with version (StdUnittest) to avoid unnecessary overhead when compiling with -unittest 2020-01-19 14:05:17 +02:00
Martin Nowak
d2e931f149 Merge remote-tracking branch 'upstream/stable' into merge_stable 2019-08-05 08:51:49 +02:00
Harry T. Vennik
c44b4717cf Fix Issue 20046 - Get make!T to compile when T is a shared value type 2019-07-13 11:14:53 +02:00
David Gileadi
775bcdee51 Turn on -preview=markdown 2019-07-04 10:28:30 -07:00
RazvanN7
2669a2b565 Fix 2 more cases 2019-06-27 16:40:04 +03:00
RazvanN7
1b9b9698d5 Fix blocking issue in std/experimental/allocator/building_blocks/region.d 2019-06-26 13:13:30 +03:00
Nicholas Wilson
a460470bb4
Merge pull request #7040 from dkgroot-dlang/region_brk_sbrk
(s)brk support has been removed from DragonFlyBSD
2019-05-26 08:10:59 +08:00
Diederik de Groot
859dc49859 brk support has been removed from DragonFlyBSD
sbrk has been declared deprecated
mmap() is suggested as a replacement for sbrk()
2019-05-26 00:05:32 +02:00
Nicholas Wilson
bbd0b3ebf7
Fix broken unittest 2019-05-17 14:08:36 +08:00
Iain Buclaw
9403aae9a9 std.experiment.allocator: SPARC64 stack grows downwards 2019-04-13 21:04:41 +02:00
Iain Buclaw
501080fa4f Add minimum RISCV support to phobos 2019-04-09 21:12:46 +02:00
Iain Buclaw
3abe79ed52 Add minimum HPPA support to phobos 2019-01-18 01:41:28 +01:00
Nathan Sashihara
6ffd4e7f28 Replace imports of core.sys.windows.windows to speed up compilation 2018-12-17 21:03:31 -05:00
Rainer Schuetze
1556befad7 gc_allocator.goodAllocSize: relax conditions for the actual GC to allow "good" sizes other than powers of 2 2018-12-03 23:17:52 +01:00
Iain Buclaw
fd5facfe04 posix.mak: Enforce whitespace before opening parenthesis for version conditions 2018-09-22 16:57:24 +02:00
The Dlang Bot
0032c8d580
Merge pull request #6692 from n8sh/allocate-zeroed-pt2
Implement allocateZeroed for building-block allocators
merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
2018-09-20 21:46:07 +02:00
Nathan Sashihara
3255a2ebbb Replace isInitAllZeroBits with new __traits(isZeroInit)
Requires https://github.com/dlang/dmd/pull/8583.

Also remove isInitAllOneBits and replace with direct check for
char/wchar. isInitAllOneBits had the same problem with unreasonable
memory usage as the old isInitAllZeroBits
(https://issues.dlang.org/show_bug.cgi?id=18937).
2018-09-09 11:27:38 -04:00