mirror of
				https://github.com/bytecodealliance/wasm-micro-runtime.git
				synced 2025-10-31 05:11:19 +00:00 
			
		
		
		
	fast-interp: Fix frame_offset pop order (#3101)
The issue was reported in #3062.
This commit is contained in:
		
							parent
							
								
									5a99866c01
								
							
						
					
					
						commit
						51e25ef01f
					
				|  | @ -8231,11 +8231,11 @@ re_scan: | |||
|                      idx--) { | ||||
|                     ret_type = *(func->func_type->types | ||||
|                                  + func->func_type->param_count + idx); | ||||
|                     POP_TYPE(ret_type); | ||||
| #if WASM_ENABLE_FAST_INTERP != 0 | ||||
|                     /* emit the offset after return opcode */ | ||||
|                     POP_OFFSET_TYPE(ret_type); | ||||
| #endif | ||||
|                     POP_TYPE(ret_type); | ||||
|                 } | ||||
| 
 | ||||
|                 RESET_STACK(); | ||||
|  | @ -8275,10 +8275,10 @@ re_scan: | |||
|                 if (func_type->param_count > 0) { | ||||
|                     for (idx = (int32)(func_type->param_count - 1); idx >= 0; | ||||
|                          idx--) { | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
| #if WASM_ENABLE_FAST_INTERP != 0 | ||||
|                         POP_OFFSET_TYPE(func_type->types[idx]); | ||||
| #endif | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
|                     } | ||||
|                 } | ||||
| 
 | ||||
|  | @ -8376,10 +8376,10 @@ re_scan: | |||
|                 if (func_type->param_count > 0) { | ||||
|                     for (idx = (int32)(func_type->param_count - 1); idx >= 0; | ||||
|                          idx--) { | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
| #if WASM_ENABLE_FAST_INTERP != 0 | ||||
|                         POP_OFFSET_TYPE(func_type->types[idx]); | ||||
| #endif | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
|                     } | ||||
|                 } | ||||
| 
 | ||||
|  |  | |||
|  | @ -6028,11 +6028,11 @@ re_scan: | |||
|                      idx--) { | ||||
|                     ret_type = *(func->func_type->types | ||||
|                                  + func->func_type->param_count + idx); | ||||
|                     POP_TYPE(ret_type); | ||||
| #if WASM_ENABLE_FAST_INTERP != 0 | ||||
|                     /* emit the offset after return opcode */ | ||||
|                     POP_OFFSET_TYPE(ret_type); | ||||
| #endif | ||||
|                     POP_TYPE(ret_type); | ||||
|                 } | ||||
| 
 | ||||
|                 RESET_STACK(); | ||||
|  | @ -6071,10 +6071,10 @@ re_scan: | |||
|                 if (func_type->param_count > 0) { | ||||
|                     for (idx = (int32)(func_type->param_count - 1); idx >= 0; | ||||
|                          idx--) { | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
| #if WASM_ENABLE_FAST_INTERP != 0 | ||||
|                         POP_OFFSET_TYPE(func_type->types[idx]); | ||||
| #endif | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
|                     } | ||||
|                 } | ||||
| 
 | ||||
|  | @ -6152,10 +6152,10 @@ re_scan: | |||
|                 if (func_type->param_count > 0) { | ||||
|                     for (idx = (int32)(func_type->param_count - 1); idx >= 0; | ||||
|                          idx--) { | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
| #if WASM_ENABLE_FAST_INTERP != 0 | ||||
|                         POP_OFFSET_TYPE(func_type->types[idx]); | ||||
| #endif | ||||
|                         POP_TYPE(func_type->types[idx]); | ||||
|                     } | ||||
|                 } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Xu Jun
						Xu Jun