Commit graph

274 commits

Author SHA1 Message Date
Martin Kinkelin
b41bcd93df
std.experimental.allocator.building_blocks.allocator_list: Fix unittests on macOS arm64 (#10704)
Otherwise hitting a consistently failing assertion for LDC CI.
2025-03-23 07:51:23 +08:00
Elias Batek
de2b97fd8d
Add SharedAllocatorList (#10594)
Co-authored-by: Alexandru Jercaianu <alex.jercaianu@gmail.com>
2024-12-27 11:40:08 +08:00
Nick Treleaven
33c643245a Expand goo.gl links that may break
Note: www.canonware.com/download/jemalloc/jemalloc-latest/doc/jemalloc.html jemalloc link isn't responding, and it now lives at jemalloc.net (see also https://github.com/jemalloc/jemalloc?tab=readme-ov-file#readme).

Fixes Bugzilla Issue 24667 - goo.gl is going away.
2024-07-19 12:19:43 +02:00
Jeremy Baxter
f31a7bc41d replace dead links
for link in $(grep -Eor 'https?://[^\\)", ]+' | grep -v dlang.org \
| grep -Eo 'https?://.+'); do (printf "%s: " "$link"; curl -Is "$link" \
| head -n1) | grep -E '4..$'; done

for link in $(grep -Eor '\\$\\(HTTP .+, ' | grep -v dlang.org \
| cut -d' ' -f2- | sed 's/, .*$//'); do out="$(curl -Is "$link")"; \
(! [ $? = 0 ] || printf '%s' "$out" | head -n1 | grep -Eq '4..') \
&& printf '%s\\n' "$link"; done
2024-07-14 15:16:11 +12:00
Johan Engelen
9f735fd8bf Fix alignment of buffers in kernighan_ritchie unittests. 2024-04-01 20:15:04 +02:00
Dennis
5cd77a6e32
User hyperlinks to refer to bugzilla issues (#8766) 2023-06-16 14:45:44 +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
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
nordlow
b4ce8436d7 Annotate bitmapped_block.d to please dlang/dmd#12520 2021-05-18 01:13:52 +02:00
berni44
b2019ebab0 Narrow imports of std.math in the rest of phobos. 2021-04-21 03:00:57 +02: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
Iain Buclaw
6d6c02cda7 std.experimental.allocator.building_blocks.region: Remove duplicated RISCV version condition 2020-06-29 16:35:52 +02: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
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
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
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
Iain Buclaw
fd5facfe04 posix.mak: Enforce whitespace before opening parenthesis for version conditions 2018-09-22 16:57:24 +02:00
Nathan Sashihara
a3dfcc1025 Implement allocateZeroed for building-block allocators
Followup to https://github.com/dlang/phobos/pull/6411
2018-09-08 10:56:34 -04:00
Basile Burg
db819575f1 Fix issue 11959 - Set private symbols declared in version(unittest) blocks 2018-08-26 10:22:11 +02:00
Martin Kinkelin
cce577165b Fix std.experimental.allocator.common.effectiveAlignment()
It was unable to handle alignments > 2^31 bytes, e.g., returning 2 for
the 64-bit pointer 0x2FA_00000000. Return a size_t instead of a uint.
Note that it's only called in one place, an assertion in a ctor of the
BitmappedBlockImpl mixin, which handles size_t fine.

This fixes sporadic
std.experimental.allocator.building_blocks.bitmapped_block unittest
failures for LDC CI on Win64 (something like 1 out of 100 runs failing).
2018-06-29 19:23:37 +02:00
The Dlang Bot
f8a17a7898
Merge pull request #6508 from CyberShadow/pull-20180515-044632
Fix Issue 18847 - std.allocator: Region uses .parent before it can be set
merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
2018-06-07 23:01:39 +02:00
Joakim
f916d73af7 Musl: last remaining tweaks 2018-06-07 11:58:44 +05:30
Sebastian Wilzbach
c324714fde Remove a few cases of underscore escaping 2018-06-04 13:05:01 +02:00
JinShil
aff18e8205 Remove deprecated std.c package 2018-05-31 10:00:09 +09:00
Vladimir Panteleev
72b2128e6e
Fix Issue 18847 - std.allocator: Region uses .parent before it can be set 2018-05-15 04:47:07 +00:00
Eduard Staniloiu
f239d2603a Make AffixAllocator parent pure 2018-04-24 16:23:40 +00:00
jercaianu
559aa6d7c7 Allocator list does not return null if two empty nodes are found (#6462) 2018-04-19 15:07:30 +03:00
Alexandru Jercaianu
60c0e6fb9e Add deallocateAll for SharedRegion 2018-04-18 15:49:37 +03:00
The Dlang Bot
e24db85c58
Merge pull request #6456 from jercaianu/allocator_list_alignedAllocate
Add alignedAllocate for AllocatorList
merged-on-behalf-of: Eduard Staniloiu <edi33416@users.noreply.github.com>
2018-04-17 14:26:50 +02:00
Alexandru Jercaianu
ab3a37a678 Add alignedAllocate for AllocatorList 2018-04-17 12:47:35 +03:00