Commit efbadd60 authored by Manos Koukoutos's avatar Manos Koukoutos Committed by V8 LUCI CQ

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: 's avatarMaya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81521}
parent eb743426
...@@ -503,8 +503,10 @@ void InstructionSelector::VisitLoad(Node* node, Node* value, ...@@ -503,8 +503,10 @@ void InstructionSelector::VisitLoad(Node* node, Node* value,
g.GetEffectiveAddressMemoryOperand(value, inputs, &input_count, reg_kind); g.GetEffectiveAddressMemoryOperand(value, inputs, &input_count, reg_kind);
InstructionCode code = opcode | AddressingModeField::encode(mode); InstructionCode code = opcode | AddressingModeField::encode(mode);
if (node->opcode() == IrOpcode::kProtectedLoad || if (node->opcode() == IrOpcode::kProtectedLoad ||
node->opcode() == IrOpcode::kWord32AtomicLoad || ((node->opcode() == IrOpcode::kWord32AtomicLoad ||
node->opcode() == IrOpcode::kWord64AtomicLoad) { node->opcode() == IrOpcode::kWord64AtomicLoad) &&
(AtomicLoadParametersOf(node->op()).kind() ==
MemoryAccessKind::kProtected))) {
code |= AccessModeField::encode(kMemoryAccessProtected); code |= AccessModeField::encode(kMemoryAccessProtected);
} }
Emit(code, 1, outputs, input_count, inputs, temp_count, temps); Emit(code, 1, outputs, input_count, inputs, temp_count, temps);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment