The previous implementations of memory.fill and memory.copy were correct in a semantic sense but not in a performant sense (the reason for their introduction into the WebAssembly spec).
This removes individual byte writes (with a check on each byte written...i.e. slow) with trusting the bounds check in the virtual instruction handler.
Follow ups
I think we should just push the bounds check into Memory
If we do this can we unify Memory.copy and Memory.uncheckedCopy
Description
The previous implementations of
memory.fill
andmemory.copy
were correct in a semantic sense but not in a performant sense (the reason for their introduction into the WebAssembly spec).This removes individual byte writes (with a check on each byte written...i.e. slow) with trusting the bounds check in the virtual instruction handler.
Follow ups
Memory
Memory.copy
andMemory.uncheckedCopy