summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-04-23Merge pull request #17746 from BruceForstall/FixUbuntuArmCorefxCronJobsBruce Forstall1-0/+7
Fix Ubuntu arm corefx triggers: no cron trigger on build job
2018-04-23Fix Ubuntu arm corefx triggers: no cron trigger on build jobBruce Forstall1-0/+7
2018-04-23Merge pull request #17742 from BruceForstall/FixUbuntuArmCorefxTestExclusionsBruce Forstall3-3/+6
Fix arm corefx test exclusions
2018-04-23Fix arm corefx test exclusionsBruce Forstall3-3/+6
1. Enable using the test exclusion file for Ubuntu arm32. 2. Update the Ubuntu and Windows arm32 exclusion files based on current GitHub issues.
2018-04-23Merge pull request #17729 from BruceForstall/EnableArm32UbuntuCorefxTestingBruce Forstall3-80/+206
Enable Ubuntu arm32 corefx testing
2018-04-23Set -march=armv7-a for Alpine Linux ARM32 (#17730)kasper32-4/+2
* Set -march=armv7-a for Alpine Linux ARM32 * Remove armv7-linux-gnueabi[hf] * Cast RLIM_INFINITY to size_t
2018-04-23Enable Invoke and GetValue for ref-returning members (#17732)Atsushi Kanamori7-52/+84
* Reapply https://github.com/dotnet/coreclr/pull/17639 * tryagain-wip 4/23/2018 7:27:37 AM - Fix Invoke of enum-returning methods * Assert for refbufargs implying valuetype * Catch ref to void in managed layer
2018-04-23Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02723-01, ↵dotnet-maestro-bot3-11/+11
preview1-26423-05, preview3-26423-04, master-20180423-0039, respectively (#17683)
2018-04-22Enable Ubuntu arm32 corefx testingBruce Forstall3-80/+206
2018-04-21Fix FakePromote assert (#17724)Jan Vorlicek1-2/+5
This assert was firing when there was a struct with explicit layout and two byref fields overlapping each other. The assert was checking that the respective location on the stack was not reported yet. To fix that, I have changed the assert to fire only if the already reported kind of reference was different from the current one. That enables overlapping of two byref fields or two ref fields, but not a byref and ref fields.
2018-04-21Use volatile load to read brick table entries (#17717)Jan Kotas2-15/+9
Fixes #17716
2018-04-20Fix getting the Absolute path while looking up the TZ files (#17711)Tarek Mahmoud Sayed1-2/+2
2018-04-20Disable GC Coop mode switching during fatal error handling during GC ↵Sung Yoon Whang3-5/+69
exception (#17710)
2018-04-20Merge pull request #17673 from CarolEidt/Fix17634Carol Eidt2-1/+48
Treat EDI as killed by MaskMove
2018-04-20Add better coverage for Marshal.GetDelegateForFunctionPointer (#15339)Vitek Karas2-10/+91
Also fixes the test Main to correctly collect result codes from all 3 subtests.
2018-04-20Preserve pinned flag in {ReadOnly}Memory<T>.Slice (dotnet/corefx#29246) (#17712)dotnet bot2-7/+19
* Preserve pinned flag in {ReadOnly}Memory<T>.Slice * Address PR feedback. Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
2018-04-20Treat EDI as killed by MaskMoveCarol Eidt2-1/+48
It should really only be a fixed reference, not a kill, but if the reference is changed by `LinearScan::resolveConflictingDefAndUse()` it can fail to cause the value in EDI to be killed. Fix #17634
2018-04-20Update xml comment for {ReadOnly}Memory.Pin method (dotnet/corefx#29137) ↵dotnet bot2-8/+34
(#17709) Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
2018-04-20Fix GC tests that contain GC.Collect() used in wrong scope (#17680)Sung Yoon Whang37-287/+451
* Fix GC tests that contain GC.Collect() used in wrong scope * Fix GCLarge * fix typos/build errors * More test failures... * more ci failure fix * Fix all the build errors * Fix test failure
2018-04-20Merge pull request #17700 from BruceForstall/AddAdityaBruce Forstall1-0/+1
Add adityamandaleeka to arm64 users
2018-04-20Merge pull request #17688 from briansull/avx_configBrian Sullivan1-2/+11
Fix for Retail/Checked Asm diffs
2018-04-20Merge pull request #17699 from BruceForstall/NoVerboseBuildBruce Forstall1-3/+3
Stop building Linux with "verbose"
2018-04-20Add adityamandaleeka to arm64 usersBruce Forstall1-0/+1
2018-04-20Stop building Linux with "verbose"Bruce Forstall1-3/+3
Using "verbose" creates an extraordinary amount of output, obscuring interesting output. I don't know of a compelling reason to continue using "verbose", so stop doing so.
2018-04-19Fix nested spin locks in thread pool etw firing (#17677)Koundinya Veluri1-3/+4
`UnManagedPerAppDomainTPCount::QueueUnmanagedWorkRequest` fires an ETW event inside a spin lock and a nested spin lock is taken here: ``` SpinLock::GetLock + 0x8E (0x719da71d) EventPipeBufferManager::AllocateBufferForThread + 0x7B (0x71afa92e) EventPipeBufferManager::WriteEvent + 0x250 (0x71afbe0a) EventPipe::WriteEventInternal + 0x125 (0x71951c93) EventPipe::WriteEvent + 0x91 (0x71951714) EventPipeWriteEventThreadPoolEnqueue + 0x9E (0x71d468a6) FireEtwThreadPoolEnqueue + 0xF (0x71b7a04b) UnManagedPerAppDomainTPCount::QueueUnmanagedWorkRequest + 0x21D (0x71b7a597) ``` Nesting spin locks is not allowed, moved the ETW firing outside the lock.
2018-04-19Check for retail config for EnableAVXBrian Sullivan1-2/+11
Disable AVX2 when AVX is disabled
2018-04-19Merge pull request #15737 from mikedn/cast-narrow-storeCarol Eidt1-4/+7
Skip commas when trying to remove some narrowing casts
2018-04-19Rollback https://github.com/dotnet/coreclr/pull/17639 (#17671)Atsushi Kanamori7-69/+22
2018-04-19GCStress: try to reduce races and tolerate races better (#17330)Andy Ayers14-211/+237
This change addresses races that cause spurious failures in when running GC stress on multithreaded applications. * Instruction update race Threads that hit a gc cover interrupt where gc is not safe can race to overrwrite the interrupt instruction and change it back to the original instruction. This can cause confusion when handling stress exceptions as the exception code raised by the kernel may be determined by disassembling the instruction that caused the fault, and this instruction may now change between the time the fault is raised and the instruction is disassembled. When this happens the kernel may report an ACCESS_VIOLATION where there was actually an attempt to execute a priveledged instruction. x86 already had a tolerance mechanism here where when gc stress was active and the exception status was ACCESS_VIOLATION the faulting instruction would be retried to see if it faults the same way again. In this change we extend this to tolerance to cover x64 and also enable it regardless of the gc mode. We use the exception information to further screen as these spurious AVs look like reads from address 0xFF..FF. * Instrumentation vs execution race The second race happens when one thread is jitting a method and another is about to call the method. The first thread finishes jitting and publishes the method code, then starts instrumenting the method for gc coverage. While this instrumentation is ongoing, the second thread then calls the method and hits a gc interrupt instruction. The code that recognizes the fault as a gc coverage interrupt gets confused as the instrumentation is not yet complete -- in particular the m_GcCover member of the MethodDesc is not yet set. So the second thread triggers an assert. The fix for this is to instrument for GcCoverage before publishing the code. Since multiple threads can be jitting a method concurrently the instrument and public steps are done under a lock to ensure that the instrumentation and code are consistent (come from the same thread). With this lock in place we have removed the secondary locking done in SetupGcCoverage as it is no longer needed; only one thread can be instrumenting a given jitted method for GcCoverage. However we retain a bailout` clause that first looks to see if m_GcCover is set and if so skips instrumentation, as there are prejit and rejit cases where we will retry instrumentation. * Instruction cache flushes In some cases when replacing the interrupt instruction with the original the instruction cache was either not flushed or not flushed with sufficient length. This possibly leads to an increased frequency of the above races. No impact expected for non-gc stress scenarios, though some of the code changes are in common code paths. Addresses the spurious GC stress failures seen in #17027 and #17610.
2018-04-19add field Name to exception (#17668)Marco Rossignoli2-5/+5
2018-04-19Update CoreClr, CoreFx, PgoData to preview1-26419-06, preview3-26419-05, ↵dotnet-maestro-bot2-8/+8
master-20180419-0038, respectively (#17667)
2018-04-19[Arm64/Linux] Fix GenericPInvokeCalliHelper (#17659)Steve MacLean7-49/+9
2018-04-19Update BuildTools, CoreClr, CoreFx to preview1-02719-02, preview1-26419-02, ↵dotnet-maestro-bot3-9/+9
preview3-26419-01, respectively (#17662)
2018-04-18Fix GC leakwheel scenario test (#17656)Sung Yoon Whang1-34/+43
* Fix GC leakwheel scenario test * Should be passing for most cases
2018-04-18Tweak order of interface declarations on string (#17660)Jan Kotas1-1/+1
Fixes https://github.com/dotnet/corefx/issues/29158
2018-04-18Fix reading Time zone rules using Julian days (#17635)Tarek Mahmoud Sayed2-35/+111
* Fix reading Time zone rules using Julian days * Order the condition correctly * Start searching from month 1 and not 0 * Exclude n Julian format * fix typo * Adding the suggested assert
2018-04-18Merge pull request #17658 from CarolEidt/UnixDefines2Wes Haggard1-1/+0
Remove incorrect UNIX_AMD64_ABI define
2018-04-18Update BuildTools, CoreClr, CoreFx to preview3-02718-02, preview1-26418-02, ↵dotnet-maestro-bot3-9/+9
preview3-26418-02, respectively (#17638)
2018-04-18Delete RuntimeMethodHandle.GetSecurityFlag (#17643)Jan Kotas12-253/+7
CAS leftover
2018-04-18Remove incorrect UNIX_AMD64_ABI defineCarol Eidt1-1/+0
2018-04-18Fix ephemeral limits checks in write barrier for ARM64 (#17641)Jan Vorlicek2-4/+4
The code was incorrectly using signed conditions, which doesn't work for server GC where the high ephemeral limit is 0xffffffffffffffff and so it was checking if the address is less than -1, which is never the case. So the card table was never updated.
2018-04-18Enable Invoke and GetValue for ref-returning members (#17639)Atsushi Kanamori7-22/+69
* Enable Invoke and GetValue for ref-returning members https://github.com/dotnet/corefx/issues/15960 Returned magic object is the object pointed to by the ref. If the ref is null, NullReferenceException. * Fix error message * Found way to reuse InvokeUtil::CreateObject * Remove comment, BYREF case.
2018-04-18Merge pull request #17624 from BruceForstall/DisableHangingCoreFxTestBruce Forstall1-0/+1
[arm32] Disable corefx Microsoft.Win32.SystemEvents.Tests
2018-04-18Merge pull request #17652 from sdmaclea/PR-ARM64-ENABLE-CI-CROSSCOMPONENT-BUILDBruce Forstall1-1/+1
[Arm64/Linux] Enable crosscomponent build in CI
2018-04-18Merge pull request #17648 from dotnet/dev/unix_test_workflowBruce Forstall1-9/+6
Disallow Ubuntu arm32 non-PR jobs in non-master branches
2018-04-18[Arm64/Linux] Enable crosscomponent build in CISteve MacLean1-1/+1
2018-04-18Merge pull request #17636 from BruceForstall/NoUnixTextWorkflowNonPRJobsBruce Forstall1-9/+6
Disallow Ubuntu arm32 non-PR jobs in non-master branches
2018-04-18Fix OutputRID for linux-musl official buildWes Haggard1-1/+1
Need to include the `-x64` in the output rid.
2018-04-18Merge pull request #16962 from CarolEidt/UnixDefinesCarol Eidt46-403/+393
Unix/x64 ABI cleanup
2018-04-18Update BuildTools, CoreClr, CoreFx, PgoData to preview3-02717-01, ↵dotnet-maestro-bot3-11/+11
preview1-26418-01, preview3-26418-01, master-20180418-0040, respectively (#17621)