|
Lines 37-42
a/Source/JavaScriptCore/wasm/WasmMemory.cpp_sec1
|
| 37 |
#include <wtf/Platform.h> |
37 |
#include <wtf/Platform.h> |
| 38 |
#include <wtf/PrintStream.h> |
38 |
#include <wtf/PrintStream.h> |
| 39 |
#include <wtf/RAMSize.h> |
39 |
#include <wtf/RAMSize.h> |
|
|
40 |
#include <wtf/SafeStrerror.h> |
| 40 |
#include <wtf/StdSet.h> |
41 |
#include <wtf/StdSet.h> |
| 41 |
#include <wtf/Vector.h> |
42 |
#include <wtf/Vector.h> |
| 42 |
|
43 |
|
|
Lines 301-307
MemoryHandle::~MemoryHandle()
a/Source/JavaScriptCore/wasm/WasmMemory.cpp_sec2
|
| 301 |
switch (m_mode) { |
302 |
switch (m_mode) { |
| 302 |
case MemoryMode::Signaling: |
303 |
case MemoryMode::Signaling: |
| 303 |
if (mprotect(memory, Memory::fastMappedBytes(), PROT_READ | PROT_WRITE)) { |
304 |
if (mprotect(memory, Memory::fastMappedBytes(), PROT_READ | PROT_WRITE)) { |
| 304 |
dataLog("mprotect failed: ", strerror(errno), "\n"); |
305 |
dataLog("mprotect failed: ", safeStrerror(errno), "\n"); |
| 305 |
RELEASE_ASSERT_NOT_REACHED(); |
306 |
RELEASE_ASSERT_NOT_REACHED(); |
| 306 |
} |
307 |
} |
| 307 |
memoryManager().freeFastMemory(memory); |
308 |
memoryManager().freeFastMemory(memory); |
|
Lines 313-319
MemoryHandle::~MemoryHandle()
a/Source/JavaScriptCore/wasm/WasmMemory.cpp_sec3
|
| 313 |
break; |
314 |
break; |
| 314 |
case MemorySharingMode::Shared: { |
315 |
case MemorySharingMode::Shared: { |
| 315 |
if (mprotect(memory, m_mappedCapacity, PROT_READ | PROT_WRITE)) { |
316 |
if (mprotect(memory, m_mappedCapacity, PROT_READ | PROT_WRITE)) { |
| 316 |
dataLog("mprotect failed: ", strerror(errno), "\n"); |
317 |
dataLog("mprotect failed: ", safeStrerror(errno), "\n"); |
| 317 |
RELEASE_ASSERT_NOT_REACHED(); |
318 |
RELEASE_ASSERT_NOT_REACHED(); |
| 318 |
} |
319 |
} |
| 319 |
memoryManager().freeGrowableBoundsCheckingMemory(memory, m_mappedCapacity); |
320 |
memoryManager().freeGrowableBoundsCheckingMemory(memory, m_mappedCapacity); |
|
Lines 406-412
RefPtr<Memory> Memory::tryCreate(PageCount initial, PageCount maximum, MemorySha
a/Source/JavaScriptCore/wasm/WasmMemory.cpp_sec4
|
| 406 |
|
407 |
|
| 407 |
if (fastMemory) { |
408 |
if (fastMemory) { |
| 408 |
if (mprotect(fastMemory + initialBytes, Memory::fastMappedBytes() - initialBytes, PROT_NONE)) { |
409 |
if (mprotect(fastMemory + initialBytes, Memory::fastMappedBytes() - initialBytes, PROT_NONE)) { |
| 409 |
dataLog("mprotect failed: ", strerror(errno), "\n"); |
410 |
dataLog("mprotect failed: ", safeStrerror(errno), "\n"); |
| 410 |
RELEASE_ASSERT_NOT_REACHED(); |
411 |
RELEASE_ASSERT_NOT_REACHED(); |
| 411 |
} |
412 |
} |
| 412 |
|
413 |
|
|
Lines 442-448
RefPtr<Memory> Memory::tryCreate(PageCount initial, PageCount maximum, MemorySha
a/Source/JavaScriptCore/wasm/WasmMemory.cpp_sec5
|
| 442 |
} |
443 |
} |
| 443 |
|
444 |
|
| 444 |
if (mprotect(slowMemory + initialBytes, maximumBytes - initialBytes, PROT_NONE)) { |
445 |
if (mprotect(slowMemory + initialBytes, maximumBytes - initialBytes, PROT_NONE)) { |
| 445 |
dataLog("mprotect failed: ", strerror(errno), "\n"); |
446 |
dataLog("mprotect failed: ", safeStrerror(errno), "\n"); |
| 446 |
RELEASE_ASSERT_NOT_REACHED(); |
447 |
RELEASE_ASSERT_NOT_REACHED(); |
| 447 |
} |
448 |
} |
| 448 |
|
449 |
|
|
Lines 516-522
Expected<PageCount, Memory::GrowFailReason> Memory::growShared(PageCount delta)
a/Source/JavaScriptCore/wasm/WasmMemory.cpp_sec6
|
| 516 |
|
517 |
|
| 517 |
dataLogLnIf(verbose, "Marking WebAssembly memory's ", RawPointer(memory), " as read+write in range [", RawPointer(startAddress), ", ", RawPointer(startAddress + extraBytes), ")"); |
518 |
dataLogLnIf(verbose, "Marking WebAssembly memory's ", RawPointer(memory), " as read+write in range [", RawPointer(startAddress), ", ", RawPointer(startAddress + extraBytes), ")"); |
| 518 |
if (mprotect(startAddress, extraBytes, PROT_READ | PROT_WRITE)) { |
519 |
if (mprotect(startAddress, extraBytes, PROT_READ | PROT_WRITE)) { |
| 519 |
dataLog("mprotect failed: ", strerror(errno), "\n"); |
520 |
dataLog("mprotect failed: ", safeStrerror(errno), "\n"); |
| 520 |
RELEASE_ASSERT_NOT_REACHED(); |
521 |
RELEASE_ASSERT_NOT_REACHED(); |
| 521 |
} |
522 |
} |
| 522 |
|
523 |
|
|
Lines 605-611
Expected<PageCount, Memory::GrowFailReason> Memory::grow(PageCount delta)
a/Source/JavaScriptCore/wasm/WasmMemory.cpp_sec7
|
| 605 |
|
606 |
|
| 606 |
dataLogLnIf(verbose, "Marking WebAssembly memory's ", RawPointer(memory), " as read+write in range [", RawPointer(startAddress), ", ", RawPointer(startAddress + extraBytes), ")"); |
607 |
dataLogLnIf(verbose, "Marking WebAssembly memory's ", RawPointer(memory), " as read+write in range [", RawPointer(startAddress), ", ", RawPointer(startAddress + extraBytes), ")"); |
| 607 |
if (mprotect(startAddress, extraBytes, PROT_READ | PROT_WRITE)) { |
608 |
if (mprotect(startAddress, extraBytes, PROT_READ | PROT_WRITE)) { |
| 608 |
dataLog("mprotect failed: ", strerror(errno), "\n"); |
609 |
dataLog("mprotect failed: ", safeStrerror(errno), "\n"); |
| 609 |
RELEASE_ASSERT_NOT_REACHED(); |
610 |
RELEASE_ASSERT_NOT_REACHED(); |
| 610 |
} |
611 |
} |
| 611 |
|
612 |
|