Skip to content

Commit b375946

Browse files
committed
capi: Instance memory access
1 parent c517410 commit b375946

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

include/fizzy/fizzy.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ struct FizzyInstance* fizzy_instantiate(struct FizzyModule* module,
8383
/// Free resources associated with the instance.
8484
void fizzy_free_instance(struct FizzyInstance* instance);
8585

86+
uint8_t* fizzy_get_instance_memory_data(struct FizzyInstance* instance);
87+
88+
size_t fizzy_get_instance_memory_size(struct FizzyInstance* instance);
89+
8690
/// Execute module function.
8791
///
8892
/// @param instance Pointer to module instance.

lib/fizzy/capi.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,24 @@ void fizzy_free_instance(FizzyInstance* instance)
146146
delete unwrap(instance);
147147
}
148148

149+
uint8_t* fizzy_get_instance_memory_data(struct FizzyInstance* instance)
150+
{
151+
auto& memory = unwrap(instance)->memory;
152+
if (!memory)
153+
return nullptr;
154+
155+
return memory->data();
156+
}
157+
158+
size_t fizzy_get_instance_memory_size(struct FizzyInstance* instance)
159+
{
160+
auto& memory = unwrap(instance)->memory;
161+
if (!memory)
162+
return 0;
163+
164+
return memory->size();
165+
}
166+
149167
FizzyExecutionResult fizzy_execute(
150168
FizzyInstance* instance, uint32_t func_idx, const FizzyValue* args, size_t args_size, int depth)
151169
{

0 commit comments

Comments
 (0)