summaryrefslogtreecommitdiff
path: root/src/jit/unwind.h
AgeCommit message (Collapse)AuthorFilesLines
2019-04-12Update maximum allowed arm prolog sizeBruce Forstall1-2/+2
Change #23715 changed the localloc stack probe loop to load a negative constant instead of zero to start the probing loop. This increased the size of the probing loop, and hence the size of the maximum prolog, by 4 bytes. Bump the assert on the maximum size to match. Note that as the comment says, the maximum size there is not actually a maximum (it was originally), it is just to alert us when the maximum generated prolog size has gone up. Fixes #23920
2018-10-31Clean up string literal implicit const casting and some two-phase lookup ↵Jeremy Koritzinsky1-1/+1
nits on Windows (#20730) * Remove implicit c-string const casting and clean up some C++ standards conformance bugs. * Fix const string conversion in FCSigCheck.
2017-03-14Fix #9457jashook1-4/+20
To optimize code size we only added a UWC_END code if the last code in uecMem does not equal UWC_END. However, the uec codes are variable sized and allow any value to follow the code. Therefore, the value has the small possibility to equal the value of UWC_END (0x4e on arm64 and 0xFF on arm32). Which incorrectly leaves the unwind array unterminated.
2016-08-11Reformat jit sources with clang-tidy and formatMichelle McDaniel1-197/+209
This change is the result of running clang-tidy and clang-format on jit sources.
2016-07-29Massage code for clang-formatMichelle McDaniel1-7/+14
This change starts the process of updating the jit code to make it ready for being formatted by clang-format. Changes mostly include reflowing comments that go past our column limit and moving comments around ifdefs so clang-format does not modify the indentation. Additionally, some header files are manually reformatted for pointer alignment and marked as clang-format off so that we do not lose the current formatting.
2016-07-20ARM64: Enable Function FragmentKyungwoo Lee1-0/+1
Fixes https://github.com/dotnet/coreclr/issues/6064 Fixes https://github.com/dotnet/coreclr/issues/6122 Basically this enable function fragment. Unwind data for arm64 can express only 1MB range. For the large function, we should split unwind data for each fragment of function. Other than the first fragment (the host region), each fragment has a phantom prolog starting with "end_c(0xe5)". I confirmed that this implementation aligns with window's unwinder, and tested with COMPlus_JitSplitFunctionSize=32 for a few test cases which split both main and funclets.
2016-03-16Update code to use COMPlus_ instead of COMPLUS_ when referencing knobsManu1-1/+1
2016-01-27Update license headersdotnet-bot1-4/+3
2015-07-24Add ARM target for CoreCLR on Linux.Ben Pye1-1/+2
c_runtime/vprintf/test1 is disabled as casting NULL to va_list is against the C specification. Fix SetFilePointer tests on 32 bit platforms. Define _FILE_OFFSET_BITS=64 so that we have long file support on 32 bit platforms. Implement context capture/restore for ARM. Link libgcc_s before libunwind on ARM so C++ exceptions work. Translate armasm to gas syntax. Specify Thumb, VFPv3, ARMv7 for the ARM target. Add ARM configuration to mscorlib build Implement GetLogicalProcessorCacheSizeFromOS in PAL. Set UNWIND_CONTEXT_IS_UCONTEXT_T from configure check.
2015-01-30Initial commit to populate CoreCLR repo dotnet-bot1-0/+832
[tfs-changeset: 1407945]