From 4c1e450c7f9d587ded99aa67d3840312eb128fe6 Mon Sep 17 00:00:00 2001 From: Syrus Akbary Date: Mon, 15 Oct 2018 12:51:34 +0200 Subject: [PATCH] Added function pointer to the instance functions --- src/webassembly/instance.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/webassembly/instance.rs b/src/webassembly/instance.rs index dd8946c59..a1e89ea8f 100644 --- a/src/webassembly/instance.rs +++ b/src/webassembly/instance.rs @@ -119,14 +119,16 @@ impl Instance { for (ref func_context, func_offset) in context_and_offsets.iter() { let mut trap_sink = TrapSink::new(*func_offset); let mut reloc_sink = RelocSink::new(); + let mut func_pointer = (region_start as usize + func_offset) as *mut u8; unsafe { func_context.emit_to_memory( &*isa, - (region_start as usize + func_offset) as *mut u8, + *&mut func_pointer, &mut reloc_sink, &mut trap_sink, ); }; + functions.push(func_pointer as usize); } // Set protection of this memory region to Read + Execute