summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-02-03Update static_assert usage to c_static_assert_msgFilip Navara3-15/+12
2019-02-03Avoid memory allocation in EnumSymbols for small buffersFilip Navara1-15/+20
2019-02-03Fix error handling in GetLocaleIso639LanguageTwoLetterNameFilip Navara1-0/+2
2019-02-03Update one more place to use version.c instead of version.cppFilip Navara1-3/+3
2019-02-03Simplify and fix error handlingFilip Navara2-84/+4
2019-02-03Change NormalizationForm to address feedback.Filip Navara2-8/+8
2019-02-03Fix enum alignmentkasper31-2/+3
2019-02-03Address feedbackkasper31-20/+22
2019-02-03Convert version.cpp to Ckasper33-10/+4
2019-02-03Address feedbackkasper33-70/+54
2019-02-03Convert System.Globalization.Native to Ckasper325-564/+902
2019-02-03Rename fileskasper313-0/+0
2019-02-02Move Interop.GetTimestamp.cs to shared CoreLib partition. (#35031)Filip Navara1-0/+17
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-02-02Spill tree temp large vectors around calls (#22311)Carol Eidt3-36/+91
* Spill tree temp large vectors around calls The code was there to handle lclVars, but there was an implicit assumption that non-lclVar large vector tree temps would never be live across a call. Fixes the GitHub_20657 failure in #22253
2019-02-02Avoid delegate/work item allocations when setting async continuation (#22373)Stephen Toub1-3/+11
When awaiting a task, there's a race between seeing whether the task has completed (in which case we just continue running synchronously), finding the task hasn't completed (in which case we hook up a continuation), and then by the time we try to hook up the continuation finding the task has already completed. In that final case, we don't want to just execute the callback synchronously, as we risk a stack dive, so we queue it. That queueing currently entails two allocations in the common case: one for the work item object, and one for the Action delegate we force into existence for the state machine box's MoveNext method (in the common case it's now never allocated because you only await Tasks and ValueTasks known to the runtime, which bypasses its creation). We can instead just queue the box itself, and avoid both allocations.
2019-02-02Rename ResourceManager fields to follow conventions (#22371)Jan Kotas2-145/+119
2019-02-02Propagate preferences (#19429)Carol Eidt6-99/+363
* Propagate preferences Instead of selecting a single relatedInterval for preferencing, follow the chain of relatedIntervals (preferenced intervals). Change when preferences are propagated to the relatedInterval; do it in allocateRegisters, so that we can update it when we see a last use. Also tune when and how intervals are preferenced, including allowing multiple uses on an RMW node to have the target as their preference. Fixes #11463 Contributes to #16359
2019-02-01Update dependencies from dotnet/arcade (#22096)dotnet-maestro[bot]4-9/+9
* Update dependencies from https://github.com/dotnet/arcade build 20190118.4 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19068.4 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19068.4 * Update dependencies from https://github.com/dotnet/arcade build 20190119.2 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19069.2 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19069.2 * Update dependencies from https://github.com/dotnet/arcade build 20190120.2 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19070.2 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19070.2 * Update dependencies from https://github.com/dotnet/arcade build 20190122.5 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19072.5 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19072.5 * Update dependencies from https://github.com/dotnet/arcade build 20190123.5 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19073.5 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19073.5 * Update dependencies from https://github.com/dotnet/arcade build 20190130.6 This change updates the following dependencies - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19080.6 - Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19080.6
2019-02-01Make Import of Helix.Sdk conditional in tests/helixpublishwitharcade.proj ↵Egor Chesakov1-4/+4
(#22360)
2019-02-01Move Marshal::UnsafeAddrOfPinnedArrayElement to shared partition (#22359)Marek Safar2-30/+30
2019-02-01Make Exception._HResult private (#22354)Jan Kotas8-17/+17
2019-02-01Fix the scratch register used for arm64 stack probing (#22313)Bruce Forstall1-2/+10
* Fix the scratch register used for arm64 stack probing In some circumstances, genFnProlog might pick a callee-saved register to be the initReg. This doesn't work for stack probing since we might need a scratch register before we save the callee-save regs. So, always use R9 (REG_SCRATCH) instead. Fixes #22284 * Formatting
2019-02-01Preserve Vector Arg registers on Arm64 (#22257)Carol Eidt10-81/+83
* Preserve Vector Arg registers on Arm64 Fix #14371
2019-02-01Remove stale warning 420 pragmas (#22352)Stephen Toub8-20/+0
It used to be that the CS0420 warning ("a reference to a volatile field will not be treated as volatile") would fire when a volatile was used with an Interlocked.* operation. That warning was unnecessary, as Interlocked.* would itself provide the relevant barriers, and these functions were special cased in Roslyn a long time ago. But there are still lots of places where pragmas disabling the warning have stuck around. I'm deleting them all.
2019-02-01Move ResourceManager to shared CoreLib. (#22249)Filip Navara11-339/+366
* Move ResourceManager to shared CoreLib. * Split UAP code out of ResourceManager.cs into separate files. * Remove ResourceManager.NonUap.cs. * Do not access internal field (CoreRT build fix). * Fix non-Windows builds (CoreRT). * Remove obsolete Debug code.
2019-02-01Exclude RecursiveException and MultipleException from GCStress runs. (#22340)Sergey Andreenko2-0/+4
Fixes #20460. See issue #22339.
2019-02-01Update the double/float formatters to return the shortest roundtrippable ↵Tanner Gooding7-760/+1634
string. (#22040) * Updating Number.Formatting to always compute a round-trippable number by default. * Adding a third-party notice entry for the Grisu3 reference implementation * Fixing up the Grisu3 algorithm to better match the reference implementation (including comments, etc) * Porting the Grisu3 implementation that generates the shortest roundtrippable sequence. * Updating the Dragon4 algorithm to support printing the shortest roundtrippable string. * Fixing the double/float formatters to ignore precision specifiers for 'R' * Fixing the double/float formatters to handle +0.0 and -0.0 * Fix the casing of `point` in THIRD-PARTY-NOTICES Co-Authored-By: tannergooding <tagoo@outlook.com> * Fixing the double/float formatting code to consider a precision specifier of 0 to be the same as default. * Fixing the double/float formatter so that nMaxDigits is set appropriately. * Changing the double/float formatting logic to account for the format when determining the correct precision to request. * Updating the double/float formatter to take the format specifier into account when determining the number of digits to request. * Fixing the double/float formatting code to continue handling zero correctly. * Disabling some outdated CoreFX tests. * Responding to various feedback from the PR
2019-02-01Refactor helixpublishwitharcade.proj (#22346)Egor Chesakov3-95/+112
2019-02-01Ensure method is active in PrepareMethod (#22351)Andy Ayers1-0/+2
Fixes an assert when first call to PrepareMethod for an assembly is an interop method.
2019-02-01Annotate types moved from S.R.ExtensionsMichal Strehovský4-0/+12
Testing how much hate this is going to bring me. These annotations let ProjectN deal with the fact that we now have two definitions of System.Environment in the system. This is needed as long as Project N is stuck on 2.1-level version of the framework. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-02-01Revert "Re-point Jenkins to new Ubuntu ARM64 queue"Russ Keldorph1-2/+2
This reverts commit 193d5da27fecb7bf95e7342f1c4b9e2b63ce5313.
2019-02-01Coreclr gnuport (#22129)Sinan Kaya15-44/+89
* Abstract away NOINLINE statement MSVC and GNU compilers use different attributes for noinline. Abstract away compiler differences. * Replace __sync_swap with __atomic_exchange_n __sync_swap doesn't exist on GNU. Replacing with __atomic_exchange_n which is universally available. * Define CDECL for GNUC __cdecl is not defined by default on GNU compilers. * Define gcc version of __declspec(thread) * Correct pointer casting A pointer value is usually unsigned long on most platforms. Casting it to integer causes signedness issues. Use size_t to be efficient on all 32 and 64 bit architectures. * Put quotes around the error string Correct error statement. GNU G++ is picky about the string following the error statement with ' character in it. It needs to be enclosed with double quotes. * Fix casting problem Seeing these warnings with GNU G++ compiler src/pal/src/sync/cs.cpp: In function ‘void CorUnix::InternalInitializeCriticalSectionAndSpinCount(PCRITICAL_SECTION, DWORD, bool)’: src/pal/src/sync/cs.cpp:630:48: warning: converting to non-pointer type ‘SIZE_T {aka long unsigned int}’ from NULL [-Wconversion-null] pPalCriticalSection->OwningThread = NULL; ^ src/pal/src/sync/cs.cpp: In function ‘void CorUnix::InternalLeaveCriticalSection(CorUnix::CPalThread*, _CRITICAL_SECTION*)’: src/pal/src/sync/cs.cpp:880:43: warning: converting to non-pointer type ‘SIZE_T {aka long unsigned int}’ from NULL [-Wconversion-null] pPalCriticalSection->OwningThread = NULL; ^ * Abstract optnone compiler attribute GNU compiler doesn't support optnone attribute. pal/src/exception/seh-unwind.cpp:449:77: warning: ‘optnone’ attribute directive ignored [-Wattributes] * Set the aligned attribute for GNU compiler * Make __rotl and __rotr functions portable GNU compiler doesn't have an intrinsic for these. Open code them using the provided implementation. * Define deprecated attribute for gcc * Add throw specifier for GCC /usr/include/string.h:43:28: error: declaration of ‘void* memcpy(void*, const void*, size_t) throw ()’ has a different exception specifier size_t __n) __THROW __nonnull ((1, 2));
2019-01-31Fixing a GC hole in Number.BigInteger (#22334)Tanner Gooding1-2/+5
2019-01-31Add -skipcrossarchnative option to build.cmd (#22091)Bruce Forstall2-9/+23
* Add -skipcrossarchnative option to build.cmd This allows you to skip building the cross-architecture native components. * Add -skipcrossarchnative to build.sh
2019-01-31Replace several Nullable<T>.Value with .GetValueOrDefault() (#22297)Stephen Toub5-12/+12
The former does extra work that the latter doesn't do, and they're equivalent when we know it contains a value, such as immediately after a HasValue check.
2019-01-31AsyncSteppingFix - Eagerly initialize the AsyncStateMachineBox to avoid ↵Andrew Au3-9/+38
expression evaluation in ProjectN async stepping. [tfs-changeset: 1732745] Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-31Increase arm64 timeout. (#22298)Sergey Andreenko1-0/+6
* increase arm64 debug/checked timeout. * Increase timeout only for corefx jobs.
2019-01-31[Arm64/arm32] GCStress failure in ↵José Rivero1-0/+1
tracing/eventsourcetrace/eventsourcetrace/eventsourcetrace.sh (#22328) Marking this test `GCStressIncompatible` = True for now.
2019-01-31Re-point Jenkins to new Ubuntu ARM64 queueRuss Keldorph1-2/+2
Move Jenkins off the Ubuntu.1604.Arm64.Open queue so it can be repurposed for Azure DevOps. This "Iron" queue should only be used by Jenkins.
2019-02-01Support for dumping GC info in R2RDump (#22216)Tomáš Rylek1-1/+44
Thanks to tons of help from Jan Vorlicek I found out that a huge failure bucket in the CoreCLR Pri#1 tests is caused by incorrect GC info for generic methods causing failures in catch clauses where the exception type is a generic referring to a generic parameter of the method. As part of investigation of this issue I'm adding provisions for dumping the GC info alongside methods to make the differences between CPAOT and Crossgen easier to analyze. For now I have only implemented the AMD64 variant of the GC info. Thankfully it turns out that the same GC info is used by both ARM32 and ARM64 so that the only remaining debt is supplying a variant of the new code for X86. Thanks Tomas
2019-01-31Update python lookup in CMakeLists.txt to match build.(sh|cmd) (#22145)Omair Majid1-1/+1
Use the same logic that's used in build.sh/build.cmd to lookup python: first search for `python3`, then fall back to `python2` and finally to `python`.
2019-01-31Fix ProjectN build breaks (dotnet/corert#6924)Michal Strehovský1-0/+1
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-31Fix for missing GC ref map record on ARM64 for the X8 register (#22309)Tomáš Rylek3-4/+14
GC stress testing revealed a deficiency in GC ref map on ARM64 - we weren't emitting the entry corresponding to the X8 return buffer address because a recent refactoring changed its location in the transition block. This change generalizes transition block by exposing a new function GetOffsetOfFirstGCRefMapSlot() that returns the same value as GetOffsetOfArgumentRegisters() except on ARM64 where it returns the offset of the X8 register in the transition block (above the callee-saved registers and 8-byte padding i.e. at position 13 corresponding to offset 0x68, or GetOffsetOfArgumentRegisters() - 8). Thanks Tomas
2019-01-31Add design document for unloadability (#22166)Jan Vorlicek2-0/+423
* Add design document for the unloadability
2019-01-31Replace Environment.s_macOS with use of PLATFORM_OSXStephen Toub1-17/+18
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-31Adapt corert to Environment moving from corefxStephen Toub1-2/+10
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-31Stop collecting source line information during a stacktrace for the E… ↵Aaron Robinson1-1/+1
(#22305) * Stop collecting source line information during a stacktrace for the Exception.Source property. * Code review feedback
2019-01-30Add managed implementation of GetSystemMaxDBCSCharSize (#22290)Marek Safar7-21/+14
2019-01-30Add timeoutPerTestCollection and use this to control Helix workitem timeout ↵Egor Chesakov4-16/+32
(#22312)
2019-01-30Update CoreFx, IbcData, PgoData to preview.19080.2, master-20190130.3, ↵dotnet-maestro-bot1-7/+7
master-20190130.3, respectively (#22310)