Do not set protected memory for all atomics
Bug: v8:12946 Change-Id: If62b67a47f63832e6edca749ce1a45cf3a85316d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743384 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/main@{#81521}
This commit is contained in:
parent
eb74342600
commit
efbadd6096
@ -503,8 +503,10 @@ void InstructionSelector::VisitLoad(Node* node, Node* value,
|
||||
g.GetEffectiveAddressMemoryOperand(value, inputs, &input_count, reg_kind);
|
||||
InstructionCode code = opcode | AddressingModeField::encode(mode);
|
||||
if (node->opcode() == IrOpcode::kProtectedLoad ||
|
||||
node->opcode() == IrOpcode::kWord32AtomicLoad ||
|
||||
node->opcode() == IrOpcode::kWord64AtomicLoad) {
|
||||
((node->opcode() == IrOpcode::kWord32AtomicLoad ||
|
||||
node->opcode() == IrOpcode::kWord64AtomicLoad) &&
|
||||
(AtomicLoadParametersOf(node->op()).kind() ==
|
||||
MemoryAccessKind::kProtected))) {
|
||||
code |= AccessModeField::encode(kMemoryAccessProtected);
|
||||
}
|
||||
Emit(code, 1, outputs, input_count, inputs, temp_count, temps);
|
||||
|
Loading…
Reference in New Issue
Block a user