MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / wasmtime_store_limiter

Function wasmtime_store_limiter

crates/c-api/src/store.rs:193–219  ·  view source on GitHub ↗
(
    store: &mut wasmtime_store_t,
    memory_size: i64,
    table_elements: i64,
    instances: i64,
    tables: i64,
    memories: i64,
)

Source from the content-addressed store, hash-verified

191
192#[unsafe(no_mangle)]
193pub extern "C" fn wasmtime_store_limiter(
194 store: &mut wasmtime_store_t,
195 memory_size: i64,
196 table_elements: i64,
197 instances: i64,
198 tables: i64,
199 memories: i64,
200) {
201 let mut limiter = StoreLimitsBuilder::new();
202 if memory_size >= 0 {
203 limiter = limiter.memory_size(memory_size as usize);
204 }
205 if table_elements >= 0 {
206 limiter = limiter.table_elements(table_elements as usize);
207 }
208 if instances >= 0 {
209 limiter = limiter.instances(instances as usize);
210 }
211 if tables >= 0 {
212 limiter = limiter.tables(tables as usize);
213 }
214 if memories >= 0 {
215 limiter = limiter.memories(memories as usize);
216 }
217 store.store.data_mut().store_limits = limiter.build();
218 store.store.limiter(|data| &mut data.store_limits);
219}
220
221#[unsafe(no_mangle)]
222pub extern "C" fn wasmtime_context_get_data(store: WasmtimeStoreContext<'_>) -> *mut c_void {

Callers 1

limiterMethod · 0.85

Calls 9

memory_sizeMethod · 0.80
newFunction · 0.50
table_elementsMethod · 0.45
instancesMethod · 0.45
tablesMethod · 0.45
memoriesMethod · 0.45
data_mutMethod · 0.45
buildMethod · 0.45
limiterMethod · 0.45

Tested by

no test coverage detected