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.

Reply via email to