Hi all, I am trying to add a new WASM release atomic store opcode (instead of the default seqcst atomic store). I aim to compile it on x64 to MOV, while the current i32.atomic.store compiles to (LOCK) XCHG. I've made a number of changes, largely at the functions/macros where WASM opcodes are lowered to native x64 code, by creating a new instruction similar to i32.atomic.store but emitting MOV instead. I've got it to accept my new opcode, and it runs without error in d8, but checking the output of compiling with the standard i32.atomic.store and the new opcode there's no difference. And looking deeper into the code, there's a lot of higher level functions that deals more abstractly with atomicity, memory ordering and such which is beyond me to understand right now.
Could anyone point me in the right direction of what I would need to add and in which files? Some details: 1) I am targeting the Liftoff compiler 2) The new opcode is named i32.atomic.store.release, with opcode fe04 (original i32.atomic.store has opcode fe17) You can see the changes I made here https://github.com/KayTeo/v8/commits/main/ Thanks, Keith -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/v8-dev/1df186f5-e26f-489c-82cc-f2ae9a74a454n%40googlegroups.com.
