Displaying 8 results from an estimated 8 matches for "local_unwind".
2020 May 03
2
[RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally)
Hi,
Per Reid’s feedback, I have separated two SEH missing features.
This thread now is only focusing on _local_unwind(), Jumping out of _finally.
The design is documented in Wiki here: https://github.com/tentzen/llvm-project/wiki/Windows-SEH:-Local_Unwind-(aka:-Jumping-Out-of-_Finally)
The implementation can be seen here: https://github.com/tentzen/llvm-project/compare/SEH-LU-base...SEH-LU?expand=1
There are onl...
2020 Apr 02
2
[RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally) and -EHa (Hardware Exception Handling)
...'m more concerned about.
-Eli
From: Ten Tzen <tentzen at microsoft.com>
Sent: Wednesday, April 1, 2020 7:55 PM
To: Eli Friedman <efriedma at quicinc.com>; llvm-dev <llvm-dev at lists.llvm.org>
Cc: aaron.smith at microsoft.com
Subject: [EXT] RE: [llvm-dev] [RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally) and -EHa (Hardware Exception Handling)
? Take your example, replace "_try" with C++ "try", replace the "_finally" with "catch(....)" with a "throw;" at the end of the catch block, replace the "_except()" wit...
2020 Apr 02
2
[RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally) and -EHa (Hardware Exception Handling)
Reply inline
From: Ten Tzen <tentzen at microsoft.com>
Sent: Wednesday, April 1, 2020 3:54 PM
To: Eli Friedman <efriedma at quicinc.com>; llvm-dev <llvm-dev at lists.llvm.org>
Cc: aaron.smith at microsoft.com
Subject: [EXT] RE: [llvm-dev] [RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally) and -EHa (Hardware Exception Handling)
? For goto in finally, why are you inventing a completely new mechanism for handling this sort of construct? What makes this different from our existing handling of goto out of catch blocks? Maybe there's something obvious...
2020 Apr 01
2
[RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally) and -EHa (Hardware Exception Handling)
Resending; I accidentally dropped llvm-dev.
-Eli
From: Eli Friedman
Sent: Wednesday, April 1, 2020 1:01 PM
To: Ten Tzen <tentzen at microsoft.com>
Cc: aaron.smith at microsoft.com
Subject: RE: [EXT] [llvm-dev] [RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally) and -EHa (Hardware Exception Handling)
This looks like it outlines the implementation pretty well.
For goto in finally, why are you inventing a completely new mechanism for handling this sort of construct? What makes this different from our existing handling of goto o...
2020 Apr 01
2
[RFC] [Windows SEH] Local_Unwind (Jumping out of a _finally) and -EHa (Hardware Exception Handling)
...outside of the _finally clause, a "local-unwind" must be triggered to properly invoke _finally clauses alone the path from the goto statement to the target label. Since _finally clause can be executed in either "normal execution path" as well as "exception path", the _local_unwind can take place in both paths too.
Let's demonstrate all possible paths in the following example.
try {
try {
try {
/* set counter = 1 */
Counter += 1;
if (ex)
RtlRaiseException(&ExceptionRecord);
} finally {
Counter += 1;
if (abnorm...
2020 Apr 15
2
[RFC] [Windows SEH][-EHa] Support Hardware Exception Handling
...ous Windows SEH RFC below. This RFC only focus on supporting HW Exception Handling.
A detailed implementation can be seen in here: https://github.com/tentzen/llvm-project/commit/8a2421c274b683051e456cbe12c177e3b934fb5e
It passes all MSVC SEH suite (excluding those with “Jumping out of _finally” ( _Local_Unwind)).
Thanks,
--Ten
**** The rules for C code: ****
For C-code, one way (MSVC approach) to achieve SEH -EHa semantic is to
follow three rules. First, no exception can move in or out of _try
region., i.e., no "potential faulty instruction can be moved across _try
boundary. S...
2020 Apr 16
2
[RFC] [Windows SEH][-EHa] Support Hardware Exception Handling
...e&data=02%7C01%7Ctentzen%40microsoft.com%7C334ed759562941d3f2ba08d7e194d0d6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637225901600853320&sdata=Dx710jfERAD7dDrNvsuEFOYVOrYgeYcRLAlt3mmW8es%3D&reserved=0>
It passes all MSVC SEH suite (excluding those with “Jumping out of _finally” ( _Local_Unwind)).
Thanks,
--Ten
**** The rules for C code: ****
For C-code, one way (MSVC approach) to achieve SEH -EHa semantic is to
follow three rules. First, no exception can move in or out of _try
region., i.e., no "potential faulty instruction can be moved across _try
boundary. S...
2020 Apr 16
2
[RFC] [Windows SEH][-EHa] Support Hardware Exception Handling
...data=02%7C01%7Ctentzen%40microsoft.com%7C33176bc44b81431207c808d7e1e5e5d8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637226249850799028&sdata=1oIbyAttvZLWbe5dEa3ROBG16D6sS%2F5A8%2BQRyU6P%2Fa4%3D&reserved=0>
It passes all MSVC SEH suite (excluding those with “Jumping out of _finally” ( _Local_Unwind)).
Thanks,
--Ten
**** The rules for C code: ****
For C-code, one way (MSVC approach) to achieve SEH -EHa semantic is to
follow three rules. First, no exception can move in or out of _try
region., i.e., no "potential faulty instruction can be moved across _try
boundary. S...