mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-12 02:30:30 +09:00
Kernel: Merge PurgeableVMObject into AnonymousVMObject
This implements memory commitments and lazy-allocation of committed memory.
This commit is contained in:
parent
b2a52f6208
commit
476f17b3f1
Notes:
sideshowbarker
2024-07-19 00:14:30 +09:00
Author: https://github.com/tomuta
Commit: 476f17b3f1
Pull-request: https://github.com/SerenityOS/serenity/pull/4707
35 changed files with 937 additions and 564 deletions
|
@ -51,6 +51,8 @@ DoubleBuffer::DoubleBuffer(size_t capacity)
|
|||
|
||||
void DoubleBuffer::flip()
|
||||
{
|
||||
if (m_storage.is_null())
|
||||
return;
|
||||
ASSERT(m_read_buffer_index == m_read_buffer->size);
|
||||
swap(m_read_buffer, m_write_buffer);
|
||||
m_write_buffer->size = 0;
|
||||
|
@ -60,7 +62,7 @@ void DoubleBuffer::flip()
|
|||
|
||||
ssize_t DoubleBuffer::write(const UserOrKernelBuffer& data, size_t size)
|
||||
{
|
||||
if (!size)
|
||||
if (!size || m_storage.is_null())
|
||||
return 0;
|
||||
ASSERT(size > 0);
|
||||
LOCKER(m_lock);
|
||||
|
@ -77,7 +79,7 @@ ssize_t DoubleBuffer::write(const UserOrKernelBuffer& data, size_t size)
|
|||
|
||||
ssize_t DoubleBuffer::read(UserOrKernelBuffer& data, size_t size)
|
||||
{
|
||||
if (!size)
|
||||
if (!size || m_storage.is_null())
|
||||
return 0;
|
||||
ASSERT(size > 0);
|
||||
LOCKER(m_lock);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue