31namespace trap_handler {
33#if V8_TRAP_HANDLER_SUPPORTED
46 MetadataLock lock_holder;
50 if (data ==
nullptr) {
53 const uintptr_t
base = data->base;
55 if (fault_addr >= base && fault_addr < base + data->size) {
57 const uint32_t
offset =
static_cast<uint32_t
>(fault_addr -
base);
62#ifdef V8_ENABLE_DRUMBRAKE
65 if (data->num_protected_instructions == 0) {
68 std::memory_order_relaxed);
73 for (
unsigned j = 0; j < data->num_protected_instructions; ++j) {
74 if (data->instructions[j].instr_offset ==
offset) {
78 std::memory_order_relaxed);
89 SandboxRecordsLock lock_holder;
98 current = current->
next) {
99 if (addr >= current->base && addr < (current->base + current->size)) {
SandboxRecord * gSandboxRecordsHead
bool IsFaultAddressCovered(uintptr_t fault_addr)
CodeProtectionInfoListEntry * gCodeObjects
std::atomic_size_t gRecoveredTrapCount
bool IsAccessedMemoryCovered(uintptr_t accessed_addr)
CodeProtectionInfo * code_info
#define TH_DCHECK(condition)