зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1429034: Add WasmAtomicExchangeHeap to GetObject for alias analysis; r=lth
MozReview-Commit-ID: 6zVtGJJLUjU --HG-- extra : rebase_source : d03394a7b802ec16f94694f840e21e15732ecb63 extra : histedit_source : fa491355c1a5c623b0ccf471da5e4fc904a7059a
This commit is contained in:
Родитель
a02911a2b6
Коммит
f0969b8242
|
@ -570,3 +570,16 @@ for (let addr of [1,2,3,5,6,7]) {
|
||||||
(atomic.wake (get_local 0) (i32.const 1))))`).exports.f(addr),
|
(atomic.wake (get_local 0) (i32.const 1))))`).exports.f(addr),
|
||||||
RuntimeError, unaligned);
|
RuntimeError, unaligned);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ensure alias analysis works even if atomic and non-atomic accesses are
|
||||||
|
// mixed.
|
||||||
|
assertErrorMessage(() => wasmEvalText(`(module
|
||||||
|
(memory 0 1 shared)
|
||||||
|
(func (export "main")
|
||||||
|
i32.const 1
|
||||||
|
i32.const 2816
|
||||||
|
i32.atomic.rmw16_u.xchg align=2
|
||||||
|
i32.load16_s offset=83 align=1
|
||||||
|
drop
|
||||||
|
)
|
||||||
|
)`).exports.main(), RuntimeError, unaligned);
|
||||||
|
|
|
@ -144,6 +144,7 @@ GetObject(const MDefinition* ins)
|
||||||
case MDefinition::Opcode::WasmStore:
|
case MDefinition::Opcode::WasmStore:
|
||||||
case MDefinition::Opcode::WasmCompareExchangeHeap:
|
case MDefinition::Opcode::WasmCompareExchangeHeap:
|
||||||
case MDefinition::Opcode::WasmAtomicBinopHeap:
|
case MDefinition::Opcode::WasmAtomicBinopHeap:
|
||||||
|
case MDefinition::Opcode::WasmAtomicExchangeHeap:
|
||||||
case MDefinition::Opcode::WasmLoadGlobalVar:
|
case MDefinition::Opcode::WasmLoadGlobalVar:
|
||||||
case MDefinition::Opcode::WasmStoreGlobalVar:
|
case MDefinition::Opcode::WasmStoreGlobalVar:
|
||||||
case MDefinition::Opcode::ArrayJoin:
|
case MDefinition::Opcode::ArrayJoin:
|
||||||
|
|
Загрузка…
Ссылка в новой задаче