enum AtomicsOpcode [src]
Atomic opcodes that require a prefix 0xFE.
Each opcode represents a varuint32, meaning
they are encoded as leb128 in binary.
Fields
memory_atomic_notify = 0x00
memory_atomic_wait32 = 0x01
memory_atomic_wait64 = 0x02
atomic_fence = 0x03
i32_atomic_load = 0x10
i64_atomic_load = 0x11
i32_atomic_load8_u = 0x12
i32_atomic_load16_u = 0x13
i64_atomic_load8_u = 0x14
i64_atomic_load16_u = 0x15
i64_atomic_load32_u = 0x16
i32_atomic_store = 0x17
i64_atomic_store = 0x18
i32_atomic_store8 = 0x19
i32_atomic_store16 = 0x1A
i64_atomic_store8 = 0x1B
i64_atomic_store16 = 0x1C
i64_atomic_store32 = 0x1D
i32_atomic_rmw_add = 0x1E
i64_atomic_rmw_add = 0x1F
i32_atomic_rmw8_add_u = 0x20
i32_atomic_rmw16_add_u = 0x21
i64_atomic_rmw8_add_u = 0x22
i64_atomic_rmw16_add_u = 0x23
i64_atomic_rmw32_add_u = 0x24
i32_atomic_rmw_sub = 0x25
i64_atomic_rmw_sub = 0x26
i32_atomic_rmw8_sub_u = 0x27A
i32_atomic_rmw16_sub_u = 0x28A
i64_atomic_rmw8_sub_u = 0x29A
i64_atomic_rmw16_sub_u = 0x2A
i64_atomic_rmw32_sub_u = 0x2B
i32_atomic_rmw_and = 0x2C
i64_atomic_rmw_and = 0x2D
i32_atomic_rmw8_and_u = 0x2E
i32_atomic_rmw16_and_u = 0x2F
i64_atomic_rmw8_and_u = 0x30
i64_atomic_rmw16_and_u = 0x31
i64_atomic_rmw32_and_u = 0x32
i32_atomic_rmw_or = 0x33
i64_atomic_rmw_or = 0x34
i32_atomic_rmw8_or_u = 0x35
i32_atomic_rmw16_or_u = 0x36
i64_atomic_rmw8_or_u = 0x37
i64_atomic_rmw16_or_u = 0x38
i64_atomic_rmw32_or_u = 0x39
i32_atomic_rmw_xor = 0x3A
i64_atomic_rmw_xor = 0x3B
i32_atomic_rmw8_xor_u = 0x3C
i32_atomic_rmw16_xor_u = 0x3D
i64_atomic_rmw8_xor_u = 0x3E
i64_atomic_rmw16_xor_u = 0x3F
i64_atomic_rmw32_xor_u = 0x40
i32_atomic_rmw_xchg = 0x41
i64_atomic_rmw_xchg = 0x42
i32_atomic_rmw8_xchg_u = 0x43
i32_atomic_rmw16_xchg_u = 0x44
i64_atomic_rmw8_xchg_u = 0x45
i64_atomic_rmw16_xchg_u = 0x46
i64_atomic_rmw32_xchg_u = 0x47
i32_atomic_rmw_cmpxchg = 0x48
i64_atomic_rmw_cmpxchg = 0x49
i32_atomic_rmw8_cmpxchg_u = 0x4A
i32_atomic_rmw16_cmpxchg_u = 0x4B
i64_atomic_rmw8_cmpxchg_u = 0x4C
i64_atomic_rmw16_cmpxchg_u = 0x4D
i64_atomic_rmw32_cmpxchg_u = 0x4E
Source
pub const AtomicsOpcode = enum(u32) {
memory_atomic_notify = 0x00,
memory_atomic_wait32 = 0x01,
memory_atomic_wait64 = 0x02,
atomic_fence = 0x03,
i32_atomic_load = 0x10,
i64_atomic_load = 0x11,
i32_atomic_load8_u = 0x12,
i32_atomic_load16_u = 0x13,
i64_atomic_load8_u = 0x14,
i64_atomic_load16_u = 0x15,
i64_atomic_load32_u = 0x16,
i32_atomic_store = 0x17,
i64_atomic_store = 0x18,
i32_atomic_store8 = 0x19,
i32_atomic_store16 = 0x1A,
i64_atomic_store8 = 0x1B,
i64_atomic_store16 = 0x1C,
i64_atomic_store32 = 0x1D,
i32_atomic_rmw_add = 0x1E,
i64_atomic_rmw_add = 0x1F,
i32_atomic_rmw8_add_u = 0x20,
i32_atomic_rmw16_add_u = 0x21,
i64_atomic_rmw8_add_u = 0x22,
i64_atomic_rmw16_add_u = 0x23,
i64_atomic_rmw32_add_u = 0x24,
i32_atomic_rmw_sub = 0x25,
i64_atomic_rmw_sub = 0x26,
i32_atomic_rmw8_sub_u = 0x27A,
i32_atomic_rmw16_sub_u = 0x28A,
i64_atomic_rmw8_sub_u = 0x29A,
i64_atomic_rmw16_sub_u = 0x2A,
i64_atomic_rmw32_sub_u = 0x2B,
i32_atomic_rmw_and = 0x2C,
i64_atomic_rmw_and = 0x2D,
i32_atomic_rmw8_and_u = 0x2E,
i32_atomic_rmw16_and_u = 0x2F,
i64_atomic_rmw8_and_u = 0x30,
i64_atomic_rmw16_and_u = 0x31,
i64_atomic_rmw32_and_u = 0x32,
i32_atomic_rmw_or = 0x33,
i64_atomic_rmw_or = 0x34,
i32_atomic_rmw8_or_u = 0x35,
i32_atomic_rmw16_or_u = 0x36,
i64_atomic_rmw8_or_u = 0x37,
i64_atomic_rmw16_or_u = 0x38,
i64_atomic_rmw32_or_u = 0x39,
i32_atomic_rmw_xor = 0x3A,
i64_atomic_rmw_xor = 0x3B,
i32_atomic_rmw8_xor_u = 0x3C,
i32_atomic_rmw16_xor_u = 0x3D,
i64_atomic_rmw8_xor_u = 0x3E,
i64_atomic_rmw16_xor_u = 0x3F,
i64_atomic_rmw32_xor_u = 0x40,
i32_atomic_rmw_xchg = 0x41,
i64_atomic_rmw_xchg = 0x42,
i32_atomic_rmw8_xchg_u = 0x43,
i32_atomic_rmw16_xchg_u = 0x44,
i64_atomic_rmw8_xchg_u = 0x45,
i64_atomic_rmw16_xchg_u = 0x46,
i64_atomic_rmw32_xchg_u = 0x47,
i32_atomic_rmw_cmpxchg = 0x48,
i64_atomic_rmw_cmpxchg = 0x49,
i32_atomic_rmw8_cmpxchg_u = 0x4A,
i32_atomic_rmw16_cmpxchg_u = 0x4B,
i64_atomic_rmw8_cmpxchg_u = 0x4C,
i64_atomic_rmw16_cmpxchg_u = 0x4D,
i64_atomic_rmw32_cmpxchg_u = 0x4E,
}