Map made every singly mapped section page private resident memory. A JIT or shm_open section is file backed and committed: its bytes live in the file, and its alias descriptors map duplicated handles, which the physical page slots do not match, so a resident copy diverged from the file, and committing its view on a demote failed with access denied (guest_jit_shared_memory). Only direct memory backings, mapped through the new GuestArenaMapDirect, now become resident; other sections keep main's shared views. Shared pages are committed only while their section page is reserved, as on main. The socket host write tests map their direct memory a second time, so the write-protected shared path they check is still the one they exercise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V1W4jdNSKTV7xwuS6xQPJV |
||
|---|---|---|
| .. | ||
| DirectMemory.cpp | ||
| DirectMemory.hpp | ||
| Export.cpp | ||
| Jit.cpp | ||
| MemoryPool.cpp | ||
| MemoryPool.hpp | ||
| MemoryPoolExport.cpp | ||
| PosixMemory.cpp | ||