Cleanup hardware exception handling (#5916)
authorJan Vorlicek <janvorli@microsoft.com>
Wed, 22 Jun 2016 12:26:17 +0000 (14:26 +0200)
committerJan Kotas <jkotas@microsoft.com>
Wed, 22 Jun 2016 12:26:17 +0000 (05:26 -0700)
commit3651e5f3da9f72cde9b50078023430839fee7037
treee348124bd86608026b1013e2b7fe83606afc2835
parenta9bb89bdec89f5a81c47586491db86f8f3cbfdce
Cleanup hardware exception handling (#5916)

Currently, we were checking for the exception address being in a marked jit
helper and unwinding to the caller context if it was there at two places.
Once in the HandleHardwareException to get context for the faulting exception
frame and once in DispatchManagedException to get the first managed frame.
This change modifies the code in HandleHardwareException to update the context
record in the exception itself so that we can leave out the same change in
the DispatchManagedException.
I have also added updating of the exception address in the exception record
so that the exception address is set to be in the managed caller of the helper.
src/vm/exceptionhandling.cpp
src/vm/exceptmacros.h