[NativeAOT] Objective-C exception propagation (#80334)
authorAustin Wise <AustinWise@gmail.com>
Fri, 27 Jan 2023 15:26:52 +0000 (07:26 -0800)
committerGitHub <noreply@github.com>
Fri, 27 Jan 2023 15:26:52 +0000 (07:26 -0800)
commit187508c1f1cc050b644ffe25dec2821867977717
tree05d3a500ae7eea1bad124b3b985cb97b8551a000
parentc50c745fa88f0850c8e8ebed37749118929d7e87
[NativeAOT] Objective-C exception propagation (#80334)

* [NativeAOT] Objective-C exception interception

* Fix Windows build

* Add back UnwoundReversePInvoke flag after re-initing.

* Switch to preemptive mode before jumping to propagation callback

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Fix windows AMD64 offsets.
20 files changed:
src/coreclr/nativeaot/Bootstrap/main.cpp
src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/ExceptionHandling.cs
src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/InternalCalls.cs
src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/StackFrameIterator.cs
src/coreclr/nativeaot/Runtime/ICodeManager.h
src/coreclr/nativeaot/Runtime/StackFrameIterator.cpp
src/coreclr/nativeaot/Runtime/StackFrameIterator.h
src/coreclr/nativeaot/Runtime/amd64/AsmOffsetsCpu.h
src/coreclr/nativeaot/Runtime/amd64/ExceptionHandling.S
src/coreclr/nativeaot/Runtime/arm/AsmOffsetsCpu.h
src/coreclr/nativeaot/Runtime/arm64/AsmOffsetsCpu.h
src/coreclr/nativeaot/Runtime/arm64/ExceptionHandling.S
src/coreclr/nativeaot/Runtime/i386/AsmOffsetsCpu.h
src/coreclr/nativeaot/Runtime/unix/UnixNativeCodeManager.cpp
src/coreclr/nativeaot/Runtime/unix/UnixNativeCodeManager.h
src/coreclr/nativeaot/Runtime/windows/CoffNativeCodeManager.cpp
src/coreclr/nativeaot/Runtime/windows/CoffNativeCodeManager.h
src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ObjectiveCMarshal.NativeAot.cs
src/tests/Interop/ObjectiveC/ObjectiveCMarshalAPI/NativeObjCMarshalTests.cpp
src/tests/Interop/ObjectiveC/ObjectiveCMarshalAPI/Program.cs