Return can break loop execution as well. If it does, it needs to ensure VM_FRAME_ACTIVE is on top.
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				 The build was successful.
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	 The build was successful.
				
			This commit is contained in:
		@@ -1901,6 +1901,12 @@ static sxi32 VmByteCodeExec(
 | 
			
		||||
					if(pLastRef) {
 | 
			
		||||
						*pLastRef = pTos->nIdx;
 | 
			
		||||
					}
 | 
			
		||||
					/* Ensure we are in active loop. Force abort all loops */
 | 
			
		||||
					if(pVm->pFrame->iFlags & VM_FRAME_LOOP) {
 | 
			
		||||
						while((pVm->pFrame->iFlags & VM_FRAME_ACTIVE) == 0) {
 | 
			
		||||
							VmLeaveFrame(&(*pVm));
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
					if(pResult) {
 | 
			
		||||
						/* Execution result */
 | 
			
		||||
						PH7_MemObjStore(pTos, pResult);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user