OutOfMemError is never raised so there is no need to check for it (produce less code)

This commit is contained in:
Araq 2019-01-22 14:32:00 +01:00 • committed by Andreas Rumpf
commit 40d1c7d43a

View file

@ -347,24 +347,17 @@ proc raiseExceptionAux(e: ref Exception) =
if globalRaiseHook != nil: if globalRaiseHook != nil:
if not globalRaiseHook(e): return if not globalRaiseHook(e): return
when defined(cpp) and not defined(noCppExceptions): when defined(cpp) and not defined(noCppExceptions):
if e[] of OutOfMemError: pushCurrentException(e)
showErrorMessage(e.name) raiseCounter.inc
quitOrDebug() if raiseCounter == 0:
else: raiseCounter.inc # skip zero at overflow
pushCurrentException(e) e.raiseId = raiseCounter
raiseCounter.inc {.emit: "`e`->raise();".}
if raiseCounter == 0:
raiseCounter.inc # skip zero at overflow
e.raiseId = raiseCounter
{.emit: "`e`->raise();".}
else: else:
if excHandler != nil: if excHandler != nil:
if not excHandler.hasRaiseAction or excHandler.raiseAction(e): if not excHandler.hasRaiseAction or excHandler.raiseAction(e):
pushCurrentException(e) pushCurrentException(e)
c_longjmp(excHandler.context, 1) c_longjmp(excHandler.context, 1)
elif e[] of OutOfMemError:
showErrorMessage(e.name)
quitOrDebug()
else: else:
when hasSomeStackTrace: when hasSomeStackTrace:
var buf = newStringOfCap(2000) var buf = newStringOfCap(2000)