Age | Commit message (Collapse) | Author | Files | Lines |
|
Fixes the recursive GC crash. Added FEATURE_ENABLE_HARDWARE_EXCEPTIONS to the PAL sxs exception tests
so the h/w exceptions generated by the test dlls are caught. Also added to SOS/strike project.
Also fixed sos "clrstack -i". The sos data target needed to implement ICorDebugDataTarget4::VirtualUnwind too.
|
|
[tfs-changeset: 1546051]
|
|
During the exception handling pass 1 on Unix, we only find one holder for each
frame. But for the case where there are multiple scopes embedded in each other,
each of them having their own exception holder, this is not correct and we
need to call filters for all holders on such frame, starting from the inner-most
one.
This change fixes that.
In addition, it fixes one usage of the EX_CATCH_CPP_ONLY in the src/vm/threads.cpp
where the presence of the exception holder in the EX_TRY is not correct and causes
the exception handler pass 1 to consider the managed exception handled at that place.
The fix is to create a new EX_TRY_CPP_ONLY that doesn't contain the holder and use
it at that place.
In fact, the comment at EX_CATCH_IMPL_CPP_ONLY was suggesting that a separate EX_TRY
clone would be a better solution anyways, since it eliminates one try / catch level
in the EX_CATCH_IMPL_CPP_ONLY.
|
|
When the exception handling was changed recently, the exception holder
was added only to PAL_TRY / PAL_EXCEPT macros. But it needs to be
in the EX_TRY as well, otherwise first pass of exception handling
would incorrectly consider some exceptions unhandled.
|
|
|
|
- Crossgen is now built as part of coreclr
- Crossgen successfully compiles mscorlib.dll
- Resulting mscorlib.ni.dll not yet usable
|
|
1) Usage of partially uninitialized variable when the compiler didn't know the condition is always true. This condition was calling a VolatileRead and only the VolatileRead actually matters so that right PDB annotation is generated and not optimized out in debug optimized builds. So I've removed the if.
2) Usage of nostdinc++ option as a general option - it complained when building C files
3) Usage of an unknown warning disabling compiler option with clang 3.5. The option was needed for clang 3.5.1 and later.
4) Usage of partially uninitialized variable in daccess.cpp - there is a code path that the compiler can see that doesn't initialize the status variable.
5) Empty body of a for loop warning in one or two PAL tests.
[tfs-changeset: 1411579]
|
|
[tfs-changeset: 1407945]
|