parent
21c01768b7
commit
2d9b71bca6
3 changed files with 263 additions and 0 deletions
|
|
@ -35,6 +35,7 @@ extern "C" {
|
|||
#[inline]
|
||||
#[cfg_attr(test, assert_instr(memory.atomic.wait32))]
|
||||
#[target_feature(enable = "atomics")]
|
||||
#[doc(alias("memory.atomic.wait32"))]
|
||||
pub unsafe fn memory_atomic_wait32(ptr: *mut i32, expression: i32, timeout_ns: i64) -> i32 {
|
||||
llvm_atomic_wait_i32(ptr, expression, timeout_ns)
|
||||
}
|
||||
|
|
@ -64,6 +65,7 @@ pub unsafe fn memory_atomic_wait32(ptr: *mut i32, expression: i32, timeout_ns: i
|
|||
#[inline]
|
||||
#[cfg_attr(test, assert_instr(memory.atomic.wait64))]
|
||||
#[target_feature(enable = "atomics")]
|
||||
#[doc(alias("memory.atomic.wait64"))]
|
||||
pub unsafe fn memory_atomic_wait64(ptr: *mut i64, expression: i64, timeout_ns: i64) -> i32 {
|
||||
llvm_atomic_wait_i64(ptr, expression, timeout_ns)
|
||||
}
|
||||
|
|
@ -85,6 +87,7 @@ pub unsafe fn memory_atomic_wait64(ptr: *mut i64, expression: i64, timeout_ns: i
|
|||
#[inline]
|
||||
#[cfg_attr(test, assert_instr(memory.atomic.notify))]
|
||||
#[target_feature(enable = "atomics")]
|
||||
#[doc(alias("memory.atomic.notify"))]
|
||||
pub unsafe fn memory_atomic_notify(ptr: *mut i32, waiters: u32) -> u32 {
|
||||
llvm_atomic_notify(ptr, waiters as i32) as u32
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ extern "C" {
|
|||
#[cfg_attr(test, assert_instr("memory.size", MEM = 0))]
|
||||
#[rustc_legacy_const_generics(0)]
|
||||
#[stable(feature = "simd_wasm32", since = "1.33.0")]
|
||||
#[doc(alias("memory.size"))]
|
||||
pub fn memory_size<const MEM: u32>() -> usize {
|
||||
static_assert!(MEM: u32 where MEM == 0);
|
||||
unsafe { llvm_memory_size(MEM) as usize }
|
||||
|
|
@ -48,6 +49,7 @@ pub fn memory_size<const MEM: u32>() -> usize {
|
|||
#[cfg_attr(test, assert_instr("memory.grow", MEM = 0))]
|
||||
#[rustc_legacy_const_generics(0)]
|
||||
#[stable(feature = "simd_wasm32", since = "1.33.0")]
|
||||
#[doc(alias("memory.grow"))]
|
||||
pub fn memory_grow<const MEM: u32>(delta: usize) -> usize {
|
||||
unsafe {
|
||||
static_assert!(MEM: u32 where MEM == 0);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue