What is Vectored Exception Handling used for?
    David Holmes 
    david.holmes at oracle.com
       
    Mon Nov 13 05:38:53 UTC 2023
    
    
  
Hi Julian,
On 13/11/2023 12:49 am, Julian Waters wrote:
>  From what I can tell, Vectored Exception Handling replaces Structured 
> Exception Handling (at least for some cases) on ARM64 Windows, and it 
> replaces Structured Exception Handling in thread_native_entry for 
> thread->call_run() and for calls to JNI_CreateJavaVM_inner 
> and jni_DestroyJavaVM_inner. But in the Vectored Exception Filter, it 
> only seems to work for faults that happen in the CodeCache, which 
> neither of the above cases (at least to my knowledge) are. The above 
> confuses me a little, what is Vectored Exception Handling used for 
> within HotSpot, since the few use cases for it aren't actually handled 
> by the Vectored Filter?
If the vectored handler doesn't handle it (and it only handles the 
codecache) then it passes up to the topLevelUnhandledExceptionFilter 
which calls report_error.
VEH was proposed for hotspot in place of SEH but it was rejected, but 
there is a good discussion of it:
https://bugs.openjdk.org/browse/JDK-8247941
However it is required for Windows-Aarch64
https://bugs.openjdk.org/browse/JDK-8248496
so came in for that port. It was also used by AOT at some point.
HTH,
David
> best regards,
> Julian
    
    
More information about the hotspot-dev
mailing list