reactos/sdk/lib/rtl
Thomas Faber 4111dfa8bf [0.4.14][RTL] Optimize RtlpFindAndCommitPages CORE-14588
A squashed backmerge of 3 commits authored by Thomas Faber.
They do help to speed up RosBE2.1.6 within ReactOS.
'configure' runs faster by ~ factor 5.
'ninja bootcd -j1' runs faster by ~ factor 2.
I considered back-porting that a necessity because we
considerably lost speed over the last years in those scenarios.
I tested, and it works well also in the 0.4.14RC.

0.4.15-dev-309-g
10d23614d3
Use LastEntryInSegment to speed up RtlpFindAndCommitPages. CORE-14588
--------------------------
0.4.15-dev-307-g
1b7a4b3ebf
Add and populate LastEntryInSegment. CORE-14588
--------------------------
0.4.15-dev-306-g
78dddd125c
Create a define for the common members of HEAP and HEAP_SEGMENT. CORE-14588

The code relies on these members matching up, so it's confusing for them
to be duplicated.
2020-09-25 22:04:30 +02:00
..
amd64 [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
arm
i386 [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
powerpc
access.c
acl.c
actctx.c [NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
appverifier.c
assert.c
atom.c
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c
byteswap.c
CMakeLists.txt
compress.c
crc32.c
critical.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
dbgbuffer.c
debug.c [SDK] Reset InDbgPrint state when an exception occurs 2019-01-05 15:21:40 +01:00
dos8dot3.c
encode.c
env.c
error.c
exception.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
generictable.c
handle.c
heap.c [0.4.14][RTL] Optimize RtlpFindAndCommitPages CORE-14588 2020-09-25 22:04:30 +02:00
heap.h [0.4.14][RTL] Optimize RtlpFindAndCommitPages CORE-14588 2020-09-25 22:04:30 +02:00
heapdbg.c
heappage.c
heapuser.c
image.c [RTL] Introduce RtlpImageNtHeader, 2020-03-29 21:27:38 +02:00
interlck.c
largeint.c
luid.c
mem.c [NDK][XDK][RTL] Fix definition of RtlFillMemoryUlong on x64 2020-01-03 13:00:45 +01:00
memstream.c
message.c
network.c [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
nls.c
path.c [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
ppb.c
prefix.c
priv.c
process.c
propvar.c
random.c
rangelist.c
readme.txt
registry.c
res.c
resource.c
rtl.h
rtlavl.h
rtlp.h [NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
rxact.c
sd.c
security.c [RTL] Fix RtlNewSecurityGrantedAccess improperly zeroing output buffer 2018-12-31 11:19:36 +01:00
sid.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
slist.c
splaytree.c
sysvol.c
thread.c [KERNEL32][RTL] Diverse fixes/improvements for thread stack creation code. (#802) 2019-08-01 19:04:13 +02:00
time.c
timerqueue.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
timezone.c
trace.c [NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671 2020-02-09 08:37:58 +01:00
unicode.c [RTL] Fix RtlValidateUnicodeString() regarding the tests and add some SAL annotations. 2020-01-02 21:11:28 +01:00
unicodeprefix.c
vectoreh.c
version.c
wait.c
workitem.c

RTL restrictions:

ExAllocatePool (and friends) must be used exclusively. RtlAllocateHeap (and friends) must NOT be used! ExAllocatePool (and friends) translate to RtlAllocateHeap (and friends) in ntdll\rtl\libsupp.c.

RtlEnterCriticalSection (and friends) must be used exclusively. ExAcquireFastMutex (and friends) must NOT be used! RtlEnterCriticalSection (and friends) translate to ExAcquireFastMutex (and friends) in ntoskrnl\rtl\libsupp.c. This means that RtlEnterCriticalSection (and friends) can NOT be used recursively in RTL. The reason for choosing RtlEnterCriticalSection (and friends) over ExAcquireFastMutex (and friends) is that the FAST_MUTEX struct is smaller than the RTL_CRITICAL_SECTION struct.