Sha256: 3c8b8fc308e3fdd3e1ab4a51faea48345c4dd4a0bb448dd8842e1bc28800da19

Contents?: true

Size: 691 Bytes

Versions: 2

Compression:

Stored size: 691 Bytes

Contents

//! Implementation of Wasmtime's system primitives for Unix-like operating
//! systems.
//!
//! This module handles Linux and macOS for example.

use core::cell::Cell;

#[cfg(feature = "signals-based-traps")]
pub mod mmap;
pub mod traphandlers;
pub mod unwind;
#[cfg(feature = "signals-based-traps")]
pub mod vm;

#[cfg(all(feature = "signals-based-traps", target_os = "macos"))]
pub mod machports;
#[cfg(feature = "signals-based-traps")]
pub mod signals;

std::thread_local!(static TLS: Cell<*mut u8> = const { Cell::new(std::ptr::null_mut()) });

#[inline]
pub fn tls_get() -> *mut u8 {
    TLS.with(|p| p.get())
}

#[inline]
pub fn tls_set(ptr: *mut u8) {
    TLS.with(|p| p.set(ptr));
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/wasmtime-29.0.0/src/runtime/vm/sys/unix/mod.rs
wasmtime-28.0.0 ./ext/cargo-vendor/wasmtime-28.0.0/src/runtime/vm/sys/unix/mod.rs