This website requires JavaScript.
9df0101dfd
Enable guard pages in CHECK_CLIENT
Matthew Parkinson
2021-07-16 16:35:54 +01:00
02d2ab8f7e
Pagemap requires registration of used space
Matthew Parkinson
2021-07-16 14:27:16 +01:00
da01d5b4ca
Remove address space usage from Pagemap.
Matthew Parkinson
2021-07-16 10:36:13 +01:00
686cb3321f
Use SFINAE for varying API on pagemap
Matthew Parkinson
2021-07-16 09:51:29 +01:00
8b1ffbc166
Expose reserve_at_least in all Pals
Matthew Parkinson
2021-07-16 09:41:58 +01:00
2ba0de76b3
mem/metaslab: use uintptr_t alignment functions
Nathaniel Wesley Filardo
2021-07-20 12:13:56 +01:00
3e70963772
ds/address: add some uintptr_t manipulation functions
Nathaniel Wesley Filardo
2021-07-20 12:04:21 +01:00
704bc423cc
refact(cmake): change mcx16 detection to facilitate cross compiling (#351 )
Schrodinger ZHU Yifan
2021-07-20 15:59:44 +08:00
b501da69db
Implements protection on remote messages queues
Matthew Parkinson
2021-07-14 19:49:21 +01:00
c58b0a5f4d
Removes a register copy from x86 codegen.
Matthew Parkinson
2021-07-14 12:03:07 +01:00
e60dd3dc95
Don't depend on <entropy> if we don't need it. (#350 )
David Chisnall
2021-07-19 11:40:27 +01:00
de8ef3efc7
Cleaner implementation of signed pointers. (#347 )
Matthew Parkinson
2021-07-15 18:31:28 +01:00
d0ecba5280
Improved OEPal integration with the new snmalloc architecture (#346 )
Istvan Haller
2021-07-15 15:06:47 +01:00
39c2df0b56
pagemap: don't eagerly commit on LazyCommit PALs
Nathaniel Wesley Filardo
2021-07-13 13:25:01 +01:00
4b9ead8066
Fix register_clean_up being called with ScopedAllocator. (#344 )
Matthew Parkinson
2021-07-12 19:50:36 +01:00
f0e2ab702a
Major refactor of snmalloc (#343 )
Matthew Parkinson
2021-07-12 15:53:36 +01:00
dcd47a0449
Allow disabling the Debug-mode check in the ABA
Istvan Haller
2021-07-05 13:08:42 +01:00
b598add0d1
Fix the build with GCC and libc cleanup. (#341 )
David Chisnall
2021-07-01 11:07:31 +01:00
18d7cc99b6
Extended TrivialInitAtomic (#340 )
Istvan Haller
2021-06-23 10:50:28 +01:00
85843e965e
Rewrite Apple PAL using native APIs (#336 )
Amari Robinson
2021-06-23 03:40:24 -05:00
0757762083
Enable overcommit for heuristic on Linux
Matthew Parkinson
2021-06-07 09:21:22 +01:00
9e88691ce6
Fix still non getentropy platform builds
David Carlier
2021-05-30 00:12:47 +01:00
aefd149f0a
Gated the mcx16 flag to C++ compilation (#332 )
Istvan Haller
2021-05-28 17:13:49 +01:00
7d346c0b2d
Add init method to ABA on ARM (#331 )
Theo Butler
2021-05-26 16:06:42 -04:00
589ecfab02
Fix building on old libc systems without getentropy (#329 )
Matthias Wahl
2021-05-25 17:46:06 +02:00
e77a5d9c58
Remove cache-friendly offset.
Matthew Parkinson
2021-05-04 10:03:12 +01:00
f0ebbebf74
Refactor is_start_of_object
Matthew Parkinson
2021-04-30 15:41:41 +01:00
5198821905
CR Feedback.
Matthew Parkinson
2021-04-29 19:14:38 +01:00
208ab9a8e8
Rederive allocator id for remotes.
Matthew Parkinson
2021-04-09 08:35:00 +01:00
b3796c123e
Move remote cache out of alloc.h
Matthew Parkinson
2021-04-08 15:53:51 +01:00
e011c297e6
Allocslab doesn't need to know impl of Remote
Matthew Parkinson
2021-04-08 15:51:43 +01:00
118eecb2e6
Check for heap corruption
Matthew Parkinson
2021-04-08 15:50:34 +01:00
c58a690b30
rust override: allows to implements alloc_zeroed as well proposal.
David CARLIER
2021-05-06 10:01:34 +01:00
83e6208862
backtrace cmake vars build fix, got undetected if the system package include was already in the flags.
David Carlier
2021-05-06 08:47:01 +01:00
85db778c39
c++20 concept: enforcing type for get_entropy implementers.
David Carlier
2021-05-02 08:29:14 +01:00
15a7e159c0
consteval introduction proposal.
David Carlier
2021-05-02 11:32:47 +01:00
f3a9d3a682
c++20 (timid) introduction of constinit proposal.
David Carlier
2021-05-02 10:50:27 +01:00
e3a7eab789
unlikely annotation introduction proposal.
David Carlier
2021-04-24 10:05:18 +01:00
74077967a3
Fixing PAL haiku build similarly to NetBSD.
David Carlier
2021-04-29 18:52:38 +00:00
017d4b1a59
Add clang-10 64-bit debug C++20 target
Nathaniel Filardo
2021-04-21 12:26:52 +01:00
71db09423f
CMake: add SNMALLOC_USE_CXX20 option
Nathaniel Filardo
2021-04-21 12:23:25 +01:00
80c6e95210
C++20: Add TrivialInitAtomic
Nathaniel Filardo
2021-04-20 19:06:39 +01:00
c132c86cf9
ci/README: document how to test docker images locally
Nathaniel Filardo
2021-04-21 15:11:13 +01:00
7b0c38228b
ci/scripts/build: allow out-of-tree builds
Nathaniel Filardo
2021-04-21 15:04:10 +01:00
2f3a5f7974
ci/scripts/build: Don't force C++17
Nathaniel Filardo
2021-04-21 15:03:02 +01:00
a949e37602
ci: move linux_x64 to Ubuntu 20.04 LTS
Nathaniel Filardo
2021-04-21 14:27:29 +01:00
8390a70a48
Fix static-sized alloc paths, add compilation test
Nathaniel Filardo
2021-04-19 21:01:26 +01:00
59d5b0b9b3
netbsd build fix. getentropy not being guarded, providing prototype even tough we end up using the C++ api version.
David Carlier
2021-04-12 19:12:34 +01:00
f037bba0a2
SP: remove pal_zero(void*, size_t)
Nathaniel Filardo
2021-04-01 00:39:33 +01:00
c673b2e0ba
SP: pass CBChunk, not CBArena, down to Superslab ops
Nathaniel Filardo
2021-04-07 16:52:04 +01:00
95871ff8a1
SP: free lists and remote queues are CBAlloc
Nathaniel Filardo
2021-03-13 18:21:35 +00:00
cf50fc5e55
SP: mediumslab: reduce capptr_export calls
Nathaniel Filardo
2021-03-13 15:20:12 +00:00
eff76309f5
SP: bound chunks in address space
Nathaniel Filardo
2021-03-12 12:04:53 +00:00
f7821e11eb
SP: LargeAlloc return CBChunk & chase consequences
Nathaniel Filardo
2021-04-01 13:20:17 +01:00
54fec3821f
SP: alloc paths: begin using CBAllocE
Nathaniel Filardo
2021-03-11 00:50:14 +00:00
f2f1eb33d6
SP: amplify on dealloc and query paths
Nathaniel Filardo
2021-03-06 18:34:56 +00:00
6a7e82463c
SP: MemoryProviderStateMixin, AddressSpaceManager
Nathaniel Filardo
2020-11-20 04:02:45 +00:00
a9722667ab
SP: add ArenaMap
Nathaniel Filardo
2021-01-11 12:48:49 +00:00
d9822036b2
SP: add bounds placeholders to message queues
Nathaniel Filardo
2021-03-08 12:12:02 +00:00
78ab0a7937
SP: external_pointer should not leak authority
Nathaniel Filardo
2021-03-06 18:36:11 +00:00
268ef2c059
SP: introduce AAL, PAL methods as per design doc
Nathaniel Filardo
2020-11-21 03:23:05 +00:00
c5aff8ed74
SP: plumb CapPtr through cache_friendly functions
Nathaniel Filardo
2021-03-05 12:57:34 +00:00
97f508e2b3
SP: further CapPtr plumbing
Nathaniel Filardo
2021-03-05 12:57:34 +00:00
3541a0cfe1
SP: Allocator::large_alloc return CapPtr<>
Nathaniel Filardo
2021-03-23 16:09:23 +00:00
e31751fc94
Add workaround for MSVC vs. CapPtr constructor
Nathaniel Filardo
2021-04-07 16:58:28 +01:00
d9ee19a16c
SP: use CapPtr<>s in address_space, largealloc
Nathaniel Filardo
2021-03-23 14:56:24 +00:00
005f5787ef
SP: start plumbing CapPtr<>s
Nathaniel Filardo
2021-03-05 16:46:25 +00:00
313a682faf
SP: capptr_bound_chunkd, capptr_chunk_from_chunkd
Nathaniel Filardo
2021-03-30 12:19:25 +01:00
294887ad74
SP: introduce CapPtr<> wrapper type & bounds taxonomy
Nathaniel Filardo
2020-11-21 03:18:48 +00:00
c6036f3808
Add StrictProvenance (SP) design document
Nathaniel Filardo
2020-12-16 14:53:53 +00:00
cfa996692f
Correct PAL Concept
Nathaniel Filardo
2021-04-06 22:56:09 +01:00
d1acb7979a
Improve codegen for start of object.
Matthew Parkinson
2021-04-06 12:17:36 +01:00
9ca73b8153
Implementing full permutation of slab
Matthew Parkinson
2021-04-04 20:42:05 +01:00
7202f9e091
Handle UB that was not exercised originally.
Matthew Parkinson
2021-04-06 09:58:50 +01:00
ebe8489910
Size-known large dealloc paths should also round up
Nathaniel Filardo
2021-04-03 18:08:39 +01:00
0acf166eec
sandbox test: use snmalloc to allocate sandbox arena
Nathaniel Filardo
2021-04-01 20:42:54 +01:00
7f841ff081
NFC: Introduce and switch to pal_zero
Nathaniel Filardo
2021-04-01 00:07:21 +01:00
4cfcf344fc
NFC: LargeAlloc::alloc() take rsize and size both
Nathaniel Filardo
2021-04-01 00:29:18 +01:00
c94e37f5fc
alloc: pass rsize, not size, down to Mediumslab::alloc
Nathaniel Filardo
2021-03-31 23:44:03 +01:00
a1f17e6060
Mediumslab: pre-factor init() to take explicit self
Nathaniel Filardo
2021-03-31 19:56:40 +01:00
d1b2522a10
Remove stale get_slab
Nathaniel Filardo
2021-03-30 12:29:08 +01:00
88150b497f
NFC: style-correct allocslab #include
Nathaniel Filardo
2021-04-01 13:10:27 +01:00
52a1a9cce1
Changes to OE Pal.
Matthew Parkinson
2021-03-29 09:40:41 +01:00
0377fd88d4
Improve BSDs support.
Matthew Parkinson
2021-03-28 20:31:49 +01:00
5419e58633
Add random to Open Enclave Pal
Matthew Parkinson
2021-03-26 16:29:15 +00:00
cc5f1cfe9f
Expose entropy on POSIX platforms
Matthew Parkinson
2021-03-26 16:28:41 +00:00
6daa261161
Expose Entropy on Windows
Matthew Parkinson
2021-03-26 16:22:53 +00:00
f15dc6ee2e
Expose Entropy
Matthew Parkinson
2021-03-26 16:22:32 +00:00
c5b65d07b8
FreeObject: hide harder from the compiler, tweak types
Nathaniel Filardo
2021-03-23 18:49:50 +00:00
afc6283e01
Threshold freelist wakeup
Matthew Parkinson
2021-03-24 16:52:12 +00:00
578abd8db4
Randomise slab allocation pattern (#304 )
Matthew Parkinson
2021-03-24 16:12:22 +00:00
6442f4edd8
NFC: make Superslab interfaces static
Nathaniel Filardo
2021-03-19 15:31:15 +00:00
e5a94ed902
NFC: constexpr some subexpressions in ds/bits
Nathaniel Filardo
2021-03-23 12:01:05 +00:00
63f231f484
Bug fix for superslab meta-data (#302 )
Matthew Parkinson
2021-03-23 12:42:11 +00:00
04a185e634
Remove allocated field from Metaslab
Matthew Parkinson
2021-03-22 10:52:33 +00:00
d56a99a747
Remove USE_MEASURE
Matthew Parkinson
2021-03-19 16:37:04 +00:00
ca1540c0d9
Remove allow_reserve feature
Matthew Parkinson
2021-03-19 16:32:43 +00:00
fd7b040823
Align wrapper for array.
Matthew Parkinson
2021-03-19 15:25:13 +00:00
8824622136
Better reciprocal division and modulus.
Matthew Parkinson
2021-03-19 08:14:12 +00:00
486ef10c21
NFC: bump pointers have just one associated Slab
Nathaniel Filardo
2021-03-19 13:49:40 +00:00