ladybird/Kernel/VM
Andreas Kling a96d76fd90 Kernel: Put all VMObjects in an InlineLinkedList instead of a HashTable
Using a HashTable to track "all instances of Foo" is only useful if we
actually need to look up entries by some kind of index. And since they
are HashTable (not HashMap), the pointer *is* the index.

Since we have the pointer, we can just use it directly. Duh.
This increase sizeof(VMObject) by two pointers, but removes a global
table that had an entry for every VMObject, where the cost was higher.
It also avoids all the general hash tabling business when creating or
destroying VMObjects. Generally we should do more of this. :^)
2019-08-08 11:11:22 +02:00
..
AnonymousVMObject.cpp Kernel: Use a FixedArray for VMObject::m_physical_pages 2019-08-07 20:12:50 +02:00
AnonymousVMObject.h Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject 2019-08-07 18:09:32 +02:00
InodeVMObject.cpp Kernel: Use a FixedArray for VMObject::m_physical_pages 2019-08-07 20:12:50 +02:00
InodeVMObject.h Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject 2019-08-07 18:09:32 +02:00
MemoryManager.cpp Kernel: Put all VMObjects in an InlineLinkedList instead of a HashTable 2019-08-08 11:11:22 +02:00
MemoryManager.h Kernel: Put all VMObjects in an InlineLinkedList instead of a HashTable 2019-08-08 11:11:22 +02:00
PageDirectory.cpp Kernel: Add mapping from page directory base (PDB) to PageDirectory 2019-08-06 11:30:26 +02:00
PageDirectory.h Kernel: Add mapping from page directory base (PDB) to PageDirectory 2019-08-06 11:30:26 +02:00
PhysicalAddress.h Kernel: Move PhysicalAddress.h into VM/ 2019-07-09 15:04:45 +02:00
PhysicalPage.cpp Kernel: Simplify PhysicalPage construction. 2019-07-24 06:29:47 +02:00
PhysicalPage.h Kernel: Move PhysicalAddress.h into VM/ 2019-07-09 15:04:45 +02:00
PhysicalRegion.cpp Kernel: Move PhysicalAddress.h into VM/ 2019-07-09 15:04:45 +02:00
PhysicalRegion.h Kernel: Move PhysicalAddress.h into VM/ 2019-07-09 15:04:45 +02:00
RangeAllocator.cpp Kernel: Rename LinearAddress => VirtualAddress. 2019-06-07 12:56:50 +02:00
RangeAllocator.h Kernel: Move VirtualAddress.h into VM/ 2019-07-09 15:04:45 +02:00
Region.cpp Kernel: Split VMObject into two classes: Anonymous- and InodeVMObject 2019-08-07 18:09:32 +02:00
Region.h Kernel: Track user accessibility per Region. 2019-07-19 16:11:52 +02:00
VirtualAddress.h Kernel: Add LogStream operator<< for VirtualAddress 2019-08-06 10:28:46 +02:00
VMObject.cpp Kernel: Use a FixedArray for VMObject::m_physical_pages 2019-08-07 20:12:50 +02:00
VMObject.h Kernel: Put all VMObjects in an InlineLinkedList instead of a HashTable 2019-08-08 11:11:22 +02:00