summaryrefslogtreecommitdiff
path: root/test/wasm2c/check-imports.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2c/check-imports.txt')
-rw-r--r--test/wasm2c/check-imports.txt12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/wasm2c/check-imports.txt b/test/wasm2c/check-imports.txt
index a5d3ae61..f2fe508e 100644
--- a/test/wasm2c/check-imports.txt
+++ b/test/wasm2c/check-imports.txt
@@ -149,6 +149,14 @@ static inline void* wasm_rt_segue_read_base() {
}
}
static inline void wasm_rt_segue_write_base(void* base) {
+#if WASM_RT_SEGUE_FREE_SEGMENT
+ if (wasm_rt_last_segment_val == base) {
+ return;
+ }
+
+ wasm_rt_last_segment_val = base;
+#endif
+
if (wasm_rt_fsgsbase_inst_supported) {
__builtin_ia32_wrgsbase64((uintptr_t)base);
} else {
@@ -825,11 +833,13 @@ void wasm2c_test_instantiate(w2c_test* instance, struct w2c_env* w2c_env_instanc
init_tables(instance);
init_memories(instance);
#if WASM_RT_USE_SEGUE
+#if !WASM_RT_SEGUE_FREE_SEGMENT
void* segue_saved_base = wasm_rt_segue_read_base();
+#endif
wasm_rt_segue_write_base((*instance->w2c_env_0x5F_linear_memory).data);
#endif
init_elem_instances(instance);
-#if WASM_RT_USE_SEGUE
+#if WASM_RT_USE_SEGUE && !WASM_RT_SEGUE_FREE_SEGMENT
wasm_rt_segue_write_base(segue_saved_base);
#endif
}