-
-
Merge pull request #9789 from mikedn/le-intrinsic
Treat BitConverter.IsLittleEndian as an intrinsic
pgavlin committed on GitHubFeb 26, 2017 -
Merge pull request #9782 from mellinoe/ilasm-pathlength-fix
Increase the length of allowed parameters in ilasm
-
Update BitConverter from CoreFX (#9788)
* Update BitConverter from CoreFX Related to #9701 * Use ThrowHelper
-
-
[ARM/CI] Fix arm32 CI git check failure (#9798)
Because layout in corefx binary has been changed, it causes arm CI failure. And skip arm32 tests because test is not working recently. Signed-off-by: Hyung-Kyu Choi <[email protected]>
-
[ARM/CI] Update arm CI to sync up with corefx change (#9797)
Signed-off-by: Hyung-Kyu Choi <[email protected]>
-
Merge pull request #9791 from dotnet/revert-9231-MinOptsSimplifiedGCt…
…racking Revert "Simplified MinOpts GC ref tracking."
-
Revert "Simplified MinOpts GC ref tracking."
jkotas committed on GitHubFeb 25, 2017 Some checks were not successful
2 failing and 12 successful checks -
Fix GC hole when exception filter throws unhandled exception (#9785)
The extra Unix specific piece of code in the StackFrameIterator::Filter that handles the difference in the exception stack unwinding on Unix was not skipping exception trackers belonging to filter clauses. But that was not right, since filter funclet stack frames behave the same way on Windows and Unix. They can be present on the stack when we reach their parent frame if the filter hasn't finished running yet or they can be gone if the filter completed running, either succesfully or with unhandled exception. This change adds skipping of filter funclet related exception trackers at that place so that the common code processes them. This fixes the GC hole mentioned in the title that was discovered when running some tests with GCStress mode 2.
-
-
-
Merge pull request #9756 from AndyAyersMS/RefCountGenericContext
JIT: keep ref count for runtime generic context lookups
-
Use clock_gettime(CLOCK_REALTIME) in DateTime.UtcNow (#9772)
gettimeofday() is currently used in DateTime.UtcNow. Depending on the system, it may have accuracy and precision in line with either clock_gettime(CLOCK_REALTIME) or clock_gettime(CLOCK_REALTIME_COARSE), but in returning its data it's necessarily limited by struct timeval's tv_usec field (microseconds), whereas clock_gettime uses struct timespec which has tv_nsec (nanoseconds). This commit switches to use clock_gettime(CLOCK_REALTIME) to gain the additional precision (though the FILETIME through which the data is returned only supports 100-nsec precision). On my machine, there was no measurable impact to throughput.
-
Merge pull request #9598 from ahsonkhan/OptimizeSpanClear
Optimize span clear
-
Increase the length of allowed parameters in ilasm.
The way this code is structured prevents parameters longer than 128 characters from being passed. This change simply increases that to 1024 characters, although a more robust change could be made in the future to account for platform differences.
-
-
Remove NakedThrowHelper and ifdef-out its callers (#9771)
This change removes NakedThrowHelper function for Unix since it was not used. It also ifdefs out its upstream callers.
-
-
Merge pull request #9336 from mikedn/const-fold
Fix incorrect cast in gtFoldExprConst
-
Merge pull request #9769 from ianhays/filelock_osx
Remove OSX FileStream Lock/Unlock
-
Remove getcontext and setcontext usage (#9759)
It turns out that the getcontext and setcontext that I have used in my stack oveflow reporting change are not present e.g. on Alpine Linux or on Android. So I am replacing their usage with RtlCaptureContext and RtlRestoreContext instead. I have also found that the addition of the .cfi_adjust_cfa_offset to the PROLOG_SAVE_REG_PAIR has broken unwinding of all helpers that use PROLOG_WITH_TRANSITION_BLOCK, because the PROLOG_STACK_ALLOC macro updates the CFA offset. So I am fixing that by removing the CFA offset updating from the PROLOG_STACK_ALLOC and adding explicit one to the ARM64 CallSignalHandlerWrapper.
-
Merge pull request #9732 from hseok-oh/fix_9442
Fix code generation for array length check in legacy JIT
-
-
Fix incorrect cast in gtFoldExprConst
The fact that an operation is unsigned affects the operation itself but that doesn't mean that the result of the operation is also unsigned. Constants are stored as ssize_t and the node type is TYP_INT so the result has to be sign extended, not zero extended. Otherwise code that uses the return of IconValue() without first narrowing it to int will behave incorrectly. Such code does exists, even gtFoldExprConst does this when folding shift operations: uint a = uint.MaxValue; uint b = 0; int r = (int)checked(a + b); Console.WriteLine((r >> 2).ToString("X")); The above code prints 3FFFFFFF instead of the expected FFFFFFFF. This also makes gtFoldExprConst consistent with ValueNumStore::EvalFuncForConstantArgs which evaluates TYP_INT nodes as int and then casts to ssize_t.mikedn committedFeb 4, 2017 -
-
Avoid unnecessary branch in CultureAwareComparer (#9767)
* Avoid unnecessary branch in CultureAwareComparer Determine the CompareOptions up-front instead of during each operation.
-
Merge pull request #9749 from wtgodbe/XunitCopyStuff
Use -f instead of -n when copying from Core_Root in runtest.sh