- Timestamp:
- Dec 12, 2023 8:50:56 AM (10 months ago)
- File:
-
- 1 edited
-
trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py
r102581 r102582 289 289 del dVars[sVarName]; 290 290 291 def implicitFree(oStmt, dFreedVars, dVars, sVar): 292 oVarInfo = dVars.get(sVar); 293 if oVarInfo: 294 dFreedVars[sVar] = oVarInfo; 295 del dVars[sVar]; 296 else: 297 self.raiseProblem('Variable %s was used after implictly freed by %s!' % (sVar, oStmt.sName,)); 298 291 299 dFreedVars = {}; 292 300 for iStmt in range(len(aoStmts) - 1, -1, -1): … … 380 388 # 381 389 for sParam in oStmt.asParams: 382 oVarInfo = dVars.get(sParam); 383 if oVarInfo: 384 dFreedVars[sParam] = oVarInfo; 385 del dVars[sParam]; 386 else: 387 self.raiseProblem('Variable %s was used after implictly freed by %s!' % (sParam, oStmt.sName,)); 390 implicitFree(oStmt, dFreedVars, dVars, sParam); 388 391 389 392 elif oStmt.sName in ('IEM_MC_PUSH_U16', 'IEM_MC_PUSH_U32', 'IEM_MC_PUSH_U32_SREG', 'IEM_MC_PUSH_U64', … … 394 397 # 395 398 for sParam in oStmt.asParams: 396 oVarInfo = dVars.get(sParam); 397 if oVarInfo: 398 dFreedVars[sParam] = oVarInfo; 399 del dVars[sParam]; 400 else: 401 self.raiseProblem('Variable %s was used after implictly freed by %s!' % (sParam, oStmt.sName,)); 399 implicitFree(oStmt, dFreedVars, dVars, sParam); 402 400 else: 403 401 #
Note:
See TracChangeset
for help on using the changeset viewer.

