@@ -162,57 +162,6 @@ TEST_F(AOTStackFrameTest, test1)
162162 exec_env = wasm_runtime_create_exec_env (module_inst, 8 * 1024 );
163163 ASSERT_TRUE (exec_env != NULL );
164164
165- func_inst = wasm_runtime_lookup_function (module_inst, " test1" );
166- ASSERT_TRUE (func_inst != NULL );
167-
168- argv[0 ] = 33 ;
169- argv[1 ] = 44 ;
170- wasm_runtime_call_wasm (exec_env, func_inst, 2 , argv);
171- ASSERT_TRUE (wasm_runtime_get_exception (module_inst));
172-
173- frames = AOTStackFrameTest::my_frames;
174- frame_num = AOTStackFrameTest::my_frame_num;
175-
176- ASSERT_TRUE (frames != NULL );
177- ASSERT_TRUE (frame_num == 1 );
178-
179- ASSERT_TRUE (frames[0 ]->lp [0 ] == 33 );
180- ASSERT_TRUE (frames[0 ]->lp [1 ] == 44 );
181- ASSERT_TRUE (frames[0 ]->lp [2 ] == 0x11223344 );
182- ASSERT_TRUE (*(uint64 *)(frames[0 ]->lp + 3 ) == 0x12345678ABCDEF99LL );
183- ASSERT_TRUE (*(float *)(frames[0 ]->lp + 5 ) == 5566 .7788f );
184- ASSERT_TRUE (*(double *)(frames[0 ]->lp + 6 ) == 99887766.55443322 );
185-
186- wasm_runtime_destroy_exec_env (exec_env);
187- exec_env = NULL ;
188-
189- wasm_runtime_deinstantiate (module_inst);
190- module_inst = NULL ;
191-
192- wasm_runtime_unload (module );
193- module = NULL ;
194- }
195-
196- TEST_F (AOTStackFrameTest, test2)
197- {
198- MyAOTFrame *frame, **frames;
199- uint32 frame_num;
200-
201- aot_set_stack_frame_callback (aot_stack_frame_cb);
202-
203- bh_memcpy_s (test_aot_buf, sizeof (test_aot_buf), test_aot, sizeof (test_aot));
204-
205- module = wasm_runtime_load (test_aot_buf, sizeof (test_aot), error_buf,
206- sizeof (error_buf));
207- ASSERT_TRUE (module != NULL );
208-
209- module_inst = wasm_runtime_instantiate (module , 16384 , 0 , error_buf,
210- sizeof (error_buf));
211- ASSERT_TRUE (module_inst != NULL );
212-
213- exec_env = wasm_runtime_create_exec_env (module_inst, 8 * 1024 );
214- ASSERT_TRUE (exec_env != NULL );
215-
216165 func_inst = wasm_runtime_lookup_function (module_inst, " test2" );
217166 ASSERT_TRUE (func_inst != NULL );
218167
@@ -233,11 +182,9 @@ TEST_F(AOTStackFrameTest, test2)
233182 ASSERT_TRUE (*(uint64 *)(frames[0 ]->lp + 3 ) == 0x12345678ABCDEF99LL );
234183 ASSERT_TRUE (*(float *)(frames[0 ]->lp + 5 ) == 5566 .7788f );
235184 ASSERT_TRUE (*(double *)(frames[0 ]->lp + 6 ) == 99887766.55443322 );
236- ASSERT_TRUE (frames[0 ]->lp [8 ] == 0x1234 );
237- ASSERT_TRUE (frames[0 ]->lp [9 ] == 0x5678 );
238185}
239186
240- TEST_F (AOTStackFrameTest, test3 )
187+ TEST_F (AOTStackFrameTest, test2 )
241188{
242189 MyAOTFrame *frame, **frames;
243190 uint32 frame_num;
@@ -271,18 +218,14 @@ TEST_F(AOTStackFrameTest, test3)
271218 ASSERT_TRUE (frames != NULL );
272219 ASSERT_TRUE (frame_num == 2 );
273220
274- ASSERT_TRUE (frames[0 ]->sp - frames[0 ]->lp == 5 );
275- ASSERT_TRUE (frames[0 ]->ip_offset == 24 );
221+ // 5(i32) + 1(i64) local variables, occupied 7 * 4 bytes
222+ ASSERT_TRUE (frames[0 ]->sp - frames[0 ]->lp == 7 );
223+
224+ // offset of ip from module load address
225+ ASSERT_TRUE (frames[0 ]->ip_offset == 163 );
276226
277227 ASSERT_TRUE (frames[0 ]->lp [0 ] == 1234 );
278228 ASSERT_TRUE (frames[0 ]->lp [1 ] == 5678 );
279229 ASSERT_TRUE (frames[0 ]->lp [2 ] == 0x11223344 );
280230 ASSERT_TRUE (*(uint64 *)(frames[0 ]->lp + 3 ) == 0x12345678ABCDEF99LL );
281-
282- ASSERT_TRUE (frames[1 ]->lp [0 ] == 0x1234 );
283- ASSERT_TRUE (frames[1 ]->lp [1 ] == 0x5678 );
284- ASSERT_TRUE (frames[1 ]->lp [2 ] == 0x11223344 );
285- ASSERT_TRUE (*(uint64 *)(frames[1 ]->lp + 3 ) == 0x12345678ABCDEF99LL );
286- ASSERT_TRUE (*(float *)(frames[1 ]->lp + 5 ) == 5566 .7788f );
287- ASSERT_TRUE (*(double *)(frames[1 ]->lp + 6 ) == 99887766.55443322 );
288231}
0 commit comments