diff options
Diffstat (limited to 'test/wasm2c/check-imports.txt')
-rw-r--r-- | test/wasm2c/check-imports.txt | 12 |
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 } |