platform/upstream/coreclr.git
6 years agoJIT: implement assembly name dissassembly filtering (#18306)
Andy Ayers [Wed, 6 Jun 2018 19:37:09 +0000 (12:37 -0700)]
JIT: implement assembly name dissassembly filtering (#18306)

Add `COMPlus_JitDisasmAssemblies` to specify a whitelist of assemblies
whose methods will be disassembled (also filters out order, EH, GC, and
unwind info dumps too).

Intended use is for PMI asm diffing. Since PMI runs in process, current
disassembly will dissassemble various methods in PMI itself as well
as framework methods that did not get prejitted.

With this new config option we can restrict disassembly to just the assemblies
that we're processing via PMI.

6 years agoMoves FastResourceComparer and TaskAwaiter to shared (#18283)
Maryam Ariyan [Wed, 6 Jun 2018 17:15:19 +0000 (10:15 -0700)]
Moves FastResourceComparer and TaskAwaiter to shared (#18283)

* Reduces diff in BinaryReader

* Moves FastResourceComparer to shared

* Reduces diff in FileBasedResourceGroveler

* Minor comment diff in ManifestBasedResourceGroveler

* Reducing diff by removing extra blank lines in ResourceReader

* Reduces diff by renaming private fields in AssemblyName

* String to string and Object to object in AssemblyName

* Reduces diff in TaskAwaiter

* Moves TaskAwaiter to shared

* Apply code review feedback

* Fixes failure in corert

* Revert Renaming fields in AssemblyName

6 years agoIncrease timeout and log the result for some WaitAny tests that expect AbandonedMutex...
Koundinya Veluri [Wed, 6 Jun 2018 17:09:29 +0000 (10:09 -0700)]
Increase timeout and log the result for some WaitAny tests that expect AbandonedMutexException (#18312)

Follow-up to https://github.com/dotnet/coreclr/pull/13298, missed a few cases.

6 years agoAdd instructions for making idl file changes (#18188)
Noah Falk [Wed, 6 Jun 2018 03:40:12 +0000 (20:40 -0700)]
Add instructions for making idl file changes (#18188)

6 years agoMerge pull request #18313 from dotnet-bot/from-tfs
Brian Sullivan [Wed, 6 Jun 2018 00:58:21 +0000 (17:58 -0700)]
Merge pull request #18313 from dotnet-bot/from-tfs

Merge changes from TFS

6 years agoMerge pull request #18303 from mikedn/lockadd4
Carol Eidt [Wed, 6 Jun 2018 00:31:31 +0000 (17:31 -0700)]
Merge pull request #18303 from mikedn/lockadd4

Use the actual type of LOCKADD's data operand

6 years agoFix a warning as error issue that causes a build break on the Desktop CLR
Brian Sullivan [Tue, 5 Jun 2018 22:11:08 +0000 (15:11 -0700)]
Fix a warning as error issue that causes a build break on the Desktop CLR

[tfs-changeset: 1702868]

6 years agoUse sysconf(_SC_NPROCESSORS_CONF) instead of sysconf(_SC_NPROCESSORS_ONLN) in PAL...
Egor Chesakov [Tue, 5 Jun 2018 18:38:56 +0000 (11:38 -0700)]
Use sysconf(_SC_NPROCESSORS_CONF) instead of sysconf(_SC_NPROCESSORS_ONLN) in PAL and GC ONLY on ARM and ARM64 (#18289)

6 years agoFixed typos on readme (#18304)
Alfred Myers [Tue, 5 Jun 2018 18:23:36 +0000 (15:23 -0300)]
Fixed typos on readme (#18304)

6 years agoUse the actual type of LOCKADD's data operand
Mike Danes [Tue, 5 Jun 2018 16:29:22 +0000 (19:29 +0300)]
Use the actual type of LOCKADD's data operand

The data operand can theoretically be a small int so we need to use its actual type to determine instruction size.

In practice this issue does not seem to happen as the importer is pretty insistent in spilling interlocked arguments to lclvars that have the proper type. Even when the data argument is already a small int lclvar (e.g. short method argument) this still doesn't cause problems because there's a cast between the method argument and LOCKADD.

6 years agoUpdate SDK used to build jitutils to 2.1 RC (#18290)
Andy Ayers [Tue, 5 Jun 2018 14:52:35 +0000 (07:52 -0700)]
Update SDK used to build jitutils to 2.1 RC (#18290)

In anticipation of taking a dependence on netcoreapp2.1 for the
forthcoming PMI work from jitutils.

Also make sure to shut down build servers before cleaning up the SDK.

6 years agoUse WChar instead of char (#18294)
Luqun Lou [Tue, 5 Jun 2018 13:40:34 +0000 (06:40 -0700)]
Use WChar instead of char (#18294)

6 years agoJIT: tolerate byref/nint return type mismatches during inlining (#18274)
Andy Ayers [Mon, 4 Jun 2018 23:02:01 +0000 (16:02 -0700)]
JIT: tolerate byref/nint return type mismatches during inlining (#18274)

Have the jit tolerate byref/nint return type mismatches for inlines
same way that it tolerates them for ret instructions.

Fixes #18270.

6 years agoAdding function headers to the 'emitIns_SIMD_*' methods and clarifying comments on...
Tanner Gooding [Sun, 3 Jun 2018 03:53:03 +0000 (20:53 -0700)]
Adding function headers to the 'emitIns_SIMD_*' methods and clarifying comments on related code.

6 years agoUpdating the x86 HWIntrinsics to support containment for most one-operand intrinsics.
Tanner Gooding [Sun, 3 Jun 2018 03:41:06 +0000 (20:41 -0700)]
Updating the x86 HWIntrinsics to support containment for most one-operand intrinsics.

6 years agoFixing up ContainCheckHWIntrinsic to use intrinsicId and to switch on the category...
Tanner Gooding [Sun, 3 Jun 2018 01:55:51 +0000 (18:55 -0700)]
Fixing up ContainCheckHWIntrinsic to use intrinsicId and to switch on the category for 1/3 arg intrinsics

6 years agoFixing the name of the paramters in the emitIns_SIMD_* methods.
Tanner Gooding [Sun, 3 Jun 2018 01:53:20 +0000 (18:53 -0700)]
Fixing the name of the paramters in the emitIns_SIMD_* methods.

6 years agoMerge pull request #18267 from mikedn/lockadd3
Carol Eidt [Mon, 4 Jun 2018 21:57:09 +0000 (14:57 -0700)]
Merge pull request #18267 from mikedn/lockadd3

Cleanup LOCKADD handling

6 years agoMake Encoding.Unicode.GetString faster on 64-bit platforms (#18263)
Jan Kotas [Mon, 4 Jun 2018 20:09:29 +0000 (13:09 -0700)]
Make Encoding.Unicode.GetString faster on 64-bit platforms (#18263)

UnicodeEncoding was taking fast path only when both source and destination were 8-byte aligned. It was not
the case for Unicode.GetString.

The fix is to just check the source alignment as fast path precondition, and use unaligned write for destination.

Also removed alternative fast path that is not needed anymore, tweaked local variable assignments for better
register allocation, and fixed performance issue introduced by recent big endian portability fix.

6 years agoR2RDump - Dump AvailableTypes section contents (#18227)
Amy [Mon, 4 Jun 2018 18:40:58 +0000 (11:40 -0700)]
R2RDump - Dump AvailableTypes section contents (#18227)

* Move R2RReader constructor to separate functions, parse READYTORUN_SECTION_AVAILABLE_TYPES

* Fix bug from merging, output formatting changes

* Rename availableTypes variables, save availableTypes as string instead of tuple

6 years agoCleanup LOCKADD handling
Mike Danes [Sun, 3 Jun 2018 21:50:17 +0000 (00:50 +0300)]
Cleanup LOCKADD handling

LOCKADD nodes are generated rather early and there's no reason for that:
* The CORINFO_INTRINSIC_InterlockedAdd32/64 intrinsics are not actually used. Even if they would be used we can still import them as XADD nodes and rely on lowering to generate LOCKADD when needed.
* gtExtractSideEffList transforms XADD into LOCKADD but this can be done in lowering. LOCKADD is an XARCH specific optimization after all.

Additionally:
* Avoid the need for special handling in LSRA by making GT_LOCKADD a "no value" oper.
* Split LOCKADD codegen from XADD/XCHG codegen, attempting to use the same code for all 3 just makes things more complex.
* The address is always in a register so there's no real need to create an indir node on the fly, the relevant emitter functions can be called directly.

The last point above is actually a CQ issue - we always generate `add [reg], imm`, more complex address modes are not used. Unfortunately this problem starts early, when the importer spills the address to a local variable. If that ever gets fixed then we'll could probably generate a contained LEA in lowering.

6 years agoFixed a couple of comments on TimeSpan.SecondsPerTick and Thread.SleepInternal (...
Alfred Myers [Mon, 4 Jun 2018 18:01:50 +0000 (15:01 -0300)]
Fixed a couple of comments on TimeSpan.SecondsPerTick and Thread.SleepInternal (#18276)

* Fixed comment for TimeSpan.SecondsPerTick

* Fixed comment on Thread.SleepInternal

6 years agoOptimise HtmlEncode to produce less garbage
Benjamin Hodgson [Mon, 19 Feb 2018 14:20:05 +0000 (14:20 +0000)]
Optimise HtmlEncode to produce less garbage

do the same optimisation for HtmlDecode

remove now-unneeded reference

Add tests for new ValueStringBuilder methods

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoFlow EventSources to EventPipe on Windows (#18217)
Brian Robbins [Mon, 4 Jun 2018 17:26:53 +0000 (10:26 -0700)]
Flow EventSources to EventPipe on Windows (#18217)

6 years agoWork in VM towards cross-bitness crossgen (#18245)
Egor Chesakov [Mon, 4 Jun 2018 17:08:22 +0000 (10:08 -0700)]
Work in VM towards cross-bitness crossgen (#18245)

* Replace sizeof expressions with target-specific constants:

* sizeof(ObjHeader) -> OBJHEADER_SIZE
* sizeof(Object) -> OBJECT_SIZE
* ObjSizeOf(Object) -> OBJECT_BASESIZE
* sizeof(ArrayBase) -> ARRAYBASE_SIZE
* ObjSizeOf(ArrayBase) -> ARRAYBASE_BASESIZE

* Remove ObjSizeOf macro

* Use OBJECT_SIZE in ArrayBase::GetBoundsOffset

* Cast ppObj to CORCOMPILE_GCREFMAP_TOKENS* before dereferencing in FakePromote

* LOG2_PTRSIZE should depend on _TARGET_64BIT_

6 years agoFix error during compilation with /permissive- (#18272)
Andrey Kurdyumov [Mon, 4 Jun 2018 16:24:37 +0000 (22:24 +0600)]
Fix error during compilation with /permissive- (#18272)

6 years agoBe more aggressive with Partial NGen (#18240)
Michelle McDaniel [Mon, 4 Jun 2018 16:06:09 +0000 (09:06 -0700)]
Be more aggressive with Partial NGen (#18240)

* Be more aggressive with partial ngen

In partial ngen, we only compile those methods that both have profile
data and have the ReadMethodCode flag set in the profile flags. That
means that we miss some functions that do have counts, which affects the
performance of assemblies crossgened with partial ngen. This change
makes partial ngen more aggressive by, in the cold path, first checking
to see if we already considered this method in the hot section, which
means that it has profile data, and only rejecting those methods that
were not already considered.

6 years agoMerge pull request #18264 from luqunl/18192
Carol Eidt [Mon, 4 Jun 2018 15:27:39 +0000 (08:27 -0700)]
Merge pull request #18264 from luqunl/18192

Set GTF_RELOP_QMARK in gtNewQmarkNode

6 years agoFix build break (#18278) (#18279)
Russ Keldorph [Mon, 4 Jun 2018 15:11:18 +0000 (08:11 -0700)]
Fix build break (#18278) (#18279)

6 years agoDelete unused file (#18271)
Jan Kotas [Mon, 4 Jun 2018 05:12:21 +0000 (22:12 -0700)]
Delete unused file (#18271)

6 years agoTypo (#18266)
John Doe [Sun, 3 Jun 2018 22:07:51 +0000 (15:07 -0700)]
Typo (#18266)

* addres -> address

* depedant -> dependent

* gaurantee -> guarantee

* gaurantees -> guarantees

* lable -> label

* lazieness -> laziness

* lcoation -> location

* enquing -> enqueuing

* enregsitered -> enregistered

* ensurin -> ensuring

6 years agoWarnings cleanup (#18260)
Robin Sue [Sun, 3 Jun 2018 18:12:26 +0000 (20:12 +0200)]
Warnings cleanup (#18260)

* Cleanup all disabled warnings that do not trigger

* Fix warning about line continuation in single line comment

* Eliminiate all unreferenced local variables and reenable warning

6 years agoSet GTF_RELOP_QMARK in gtNewQmarkNode
luqunl [Sun, 3 Jun 2018 16:51:50 +0000 (09:51 -0700)]
Set GTF_RELOP_QMARK in gtNewQmarkNode

6 years agoTypo (#18261)
John Doe [Sun, 3 Jun 2018 02:03:47 +0000 (19:03 -0700)]
Typo (#18261)

* accomodate -> accommodate

* accross -> across

* adddress -> address

* bookeeping -> bookkeeping

* arbitary -> arbitrary

* calulating -> calculating

* fromClas -> fromClass

* comand -> command

* comming -> coming

* comparisions -> comparisons

* configuiration -> configuration

* contraints -> constraints

* datastructures -> data structures

* defintely -> definitely

* defered -> deferred

* diassemble -> disassemble

* Emptry -> Empty

* everytime -> every time

* fragmetation -> fragmentation

* instaces -> instances

* interpretting -> interpreting

* intialize -> initialize

* loction -> location

6 years agoTry to fix issues with Unicode on big endian OSes (#18254)
Calvin [Sun, 3 Jun 2018 02:03:12 +0000 (23:03 -0300)]
Try to fix issues with Unicode on big endian OSes (#18254)

Mono had some patches in their fork of referencesource to resolve
issues on big endian. Essentially, compile-time endianness handling
is no good for big endian platforms, because they have to consume a
Monolite intended for all platforms in order to bootstrap. So then,
all big endian platforms are now consuming a bootstrap tarball made
on little endian systems, and bad things happen as a result.

This makes it so that endianness is checked at runtime by using
System.BitConverter.IsLittleEndian, not by a compiler definition.

This integrates mono/mono@1f9b218 and mono/mono@92cec46, which won't
apply cleanly to current CoreFX.

mono/mono#8679 may get fixed by this, but as the comments say,
there could be more patches missing. This just integrates the
patches known to me on UnicodeEncoding and UTF8Encoding.

6 years agoCleanup and remove unused parameters from genCreateAddrMode (#18258)
Robin Sue [Sat, 2 Jun 2018 22:40:54 +0000 (00:40 +0200)]
Cleanup and remove unused parameters from genCreateAddrMode (#18258)

* Cleanup and remove unused parameters from genCreateAddrMode, fixes #18177

6 years agoEnable tailcall_v4\smallFrame\smallFrame (#18246)
Sergey Andreenko [Sat, 2 Jun 2018 22:40:13 +0000 (15:40 -0700)]
Enable tailcall_v4\smallFrame\smallFrame (#18246)

* the bad il was removed

PR #11316  removed the bad IL sequences from this test.

* reenable for linux

6 years agoMerge BCryptGenRandom.cs (#18233)
Marco Rossignoli [Sat, 2 Jun 2018 21:57:59 +0000 (23:57 +0200)]
Merge BCryptGenRandom.cs (#18233)

6 years agoFixing some flags that were queried incorrectly.
Tanner Gooding [Sat, 2 Jun 2018 19:15:26 +0000 (12:15 -0700)]
Fixing some flags that were queried incorrectly.

6 years agoApplying the formatting patch.
Tanner Gooding [Sat, 2 Jun 2018 18:34:14 +0000 (11:34 -0700)]
Applying the formatting patch.

6 years agoUpdating the x86 HWIntrinsics to query flags via explicit methods.
Tanner Gooding [Sat, 2 Jun 2018 18:19:57 +0000 (11:19 -0700)]
Updating the x86 HWIntrinsics to query flags via explicit methods.

6 years agoMoving more methods to be static methods on HWIntrinsicInfo
Tanner Gooding [Sat, 2 Jun 2018 17:44:17 +0000 (10:44 -0700)]
Moving more methods to be static methods on HWIntrinsicInfo

6 years agoMoving the simdSizeOfHWIntrinsic and numArgsOfHWIntrinsic methods to be static method...
Tanner Gooding [Sat, 2 Jun 2018 16:49:04 +0000 (09:49 -0700)]
Moving the simdSizeOfHWIntrinsic and numArgsOfHWIntrinsic methods to be static methods on HWIntrinsicInfo

6 years agoMoving various x86 HWIntrinsicInfo lookup methods to be static methods on HWIntrinsicInfo
Tanner Gooding [Sat, 2 Jun 2018 16:29:47 +0000 (09:29 -0700)]
Moving various x86 HWIntrinsicInfo lookup methods to be static methods on HWIntrinsicInfo

6 years agoMoving the x86 lookupHWIntrinsic and lookupHWIntrinsicISA methods to be static method...
Tanner Gooding [Sat, 2 Jun 2018 16:07:31 +0000 (09:07 -0700)]
Moving the x86 lookupHWIntrinsic and lookupHWIntrinsicISA methods to be static methods on HWIntrinsicInfo

6 years agoMoving the getHWIntrinsicInfo and getHWIntrinsicName methods to be static methods...
Tanner Gooding [Sat, 2 Jun 2018 15:29:36 +0000 (08:29 -0700)]
Moving the getHWIntrinsicInfo and getHWIntrinsicName methods to be static methods on HWIntrinsicInfo

6 years agoMoving the xarch HWIntrtinsicInfo type into its own header file.
Tanner Gooding [Sat, 2 Jun 2018 15:02:29 +0000 (08:02 -0700)]
Moving the xarch HWIntrtinsicInfo type into its own header file.

6 years agoJIT: Eliminate RegTracker (#18179) (#18230)
Andrew Au [Sat, 2 Jun 2018 19:49:28 +0000 (12:49 -0700)]
JIT: Eliminate RegTracker (#18179) (#18230)

* Replace regTracker.rsTrackRegTrash with regSet.verifyRegUsed

* Replace regTracker.rsTrackRegCopy with regSet.verifyRegUsed

* Replace regTracker.rsTrackRegIntCns with regSet.verifyRegUsed

* Replace regTracker.rsTrashRegSet with regSet.verifyRegistersUsed

* Move verifyReg* method implementation from header file to implementation file

* Replace regTracker.rsTrackRegLclVar with regSet.verifyRegistersUsed

* Eliminate RegTracker

* Fixed the funclet prolog special case

* Experiment - Changing the verification code to actually set the mask

* Adding function headers

* Removed a few trailing spaces

6 years agoImplement corefx/#16619 Add FormattableString.CurrentCulture (#18253)
Mikhail Shilkov [Sat, 2 Jun 2018 17:34:04 +0000 (19:34 +0200)]
Implement corefx/#16619 Add FormattableString.CurrentCulture (#18253)

6 years agoEnable Alpine cross build for arm and arm64 (#18234)
Jan Vorlicek [Sat, 2 Jun 2018 08:23:10 +0000 (10:23 +0200)]
Enable Alpine cross build for arm and arm64 (#18234)

* Enable Alpine cross build for arm and arm64

This change enables cross build and rootfs creation for
Alpine Linux ARM / ARM64 targets.

Besides that, I've cleaned up the toolchain.cmake and got rid
of the explicit specification of GCC version specific include
and lib folders for all targets except of Tizen. Clang is able
to figure that out on its own the same way as it does when doing
regular non-cross builds, but it needed one more option for that.

I've also fixed a bug in the `add_compile_param` macro that caused
ignoring of parameters in cases where another parameter that was
a substring of the one being added was already present. So for example
if an option `-L${CMAKE_SYSROOT}/usr/lib/gcc` was already added,
attempt to add option `-L${CMAKE_SYSROOT}/usr/lib` would do nothing.

* Fix to  make it work with cmake 2.8 too

The older cmake that is still in use on Ubuntu 14.04 doesn't have
support for specifying sysroot and target via cmake variables.
So I've replaced those by explicit setting of the compiler / linker
options instead.

6 years agoJIT: fix issue with zero-length stackalloc (#18183)
Andy Ayers [Sat, 2 Jun 2018 07:25:23 +0000 (00:25 -0700)]
JIT: fix issue with zero-length stackalloc (#18183)

Defer calling `setNeedsGSSecurityCookie` until we know for sure that
the jit won't do the zero-length stackalloc optimization.

Closes #18176.

6 years agoAdding more NoContainment flags to the x86 hwintrinsic list
Tanner Gooding [Fri, 1 Jun 2018 15:59:23 +0000 (08:59 -0700)]
Adding more NoContainment flags to the x86 hwintrinsic list

6 years agoUpdating the x86 hwintrinsic code to better check for containment support.
Tanner Gooding [Fri, 1 Jun 2018 15:47:52 +0000 (08:47 -0700)]
Updating the x86 hwintrinsic code to better check for containment support.

6 years agoReduce race risk in MutexWaitOne2::PosTest4() (#18195)
Steve MacLean [Sat, 2 Jun 2018 02:04:39 +0000 (22:04 -0400)]
Reduce race risk in MutexWaitOne2::PosTest4() (#18195)

6 years agoMerge pull request #18059 from helloguo/fix18039
Carol Eidt [Fri, 1 Jun 2018 23:56:59 +0000 (16:56 -0700)]
Merge pull request #18059 from helloguo/fix18039

Fix issue18039: Add SSE2 intrinsic MoveScalar for type long and ulong

6 years ago[arm64] Disable `a % b = a & (b - 1);` optimization. (#18206)
Sergey Andreenko [Fri, 1 Jun 2018 23:19:18 +0000 (16:19 -0700)]
[arm64] Disable `a % b = a & (b - 1);` optimization. (#18206)

* Disable `a % b = a & (b - 1);` optimization on arm64

Morph can't relay on Lower optimization that it can't guarantee.

* improve checks in lower

We do not expect MOD/UMOD for integer/long types in lower for arm64.

6 years agoUpdating the HWIntrinsic codegen to ensure ival always fits in a byte.
Tanner Gooding [Fri, 1 Jun 2018 14:08:02 +0000 (07:08 -0700)]
Updating the HWIntrinsic codegen to ensure ival always fits in a byte.

6 years agoFix CoreRT build breaks in Stream moved to shared
Jan Kotas [Fri, 1 Jun 2018 15:59:27 +0000 (08:59 -0700)]
Fix CoreRT build breaks in Stream moved to shared

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoAdded disassembler CoreDisTools to dump runtime functions (#18180)
Amy [Fri, 1 Jun 2018 20:44:28 +0000 (13:44 -0700)]
Added disassembler CoreDisTools to dump runtime functions (#18180)

Remove obsolete targets

Remove unused NewDiffer function, fix error with uninitialized declaringTypeHandle

6 years agorebase
helloguo [Fri, 1 Jun 2018 20:06:24 +0000 (13:06 -0700)]
rebase

6 years agofix SSE2 intrinsic MoveScalar for type long and ulong
helloguo [Sat, 19 May 2018 00:25:39 +0000 (17:25 -0700)]
fix SSE2 intrinsic MoveScalar for type long and ulong

6 years agoNative lib relative path (#18239)
Aaron Robinson [Fri, 1 Jun 2018 19:16:03 +0000 (12:16 -0700)]
Native lib relative path (#18239)

* Typo in #define

* Don't add prefix for relative path to native images if the path contains a platform path delimiter

* Use already defined delimiter macro
Create max variation count variable

6 years agoFix GitHub_16041 test. (#18210)
Sergey Andreenko [Fri, 1 Jun 2018 18:08:33 +0000 (11:08 -0700)]
Fix GitHub_16041 test. (#18210)

* fix StructY size

This was doing a cpblk of 28 bytes (size of StructY) from StructX, but StructX was only 12 bytes big. Change StructY to 12.

* fix size

6 years agoMark JIT/Regression/JitBlue/GitHub_18056 as JitOptimizationSensitive (#18184)
Egor Chesakov [Fri, 1 Jun 2018 17:59:22 +0000 (10:59 -0700)]
Mark JIT/Regression/JitBlue/GitHub_18056 as JitOptimizationSensitive (#18184)

6 years agoR2RDump - Commandline interface (#18136)
Amy [Fri, 1 Jun 2018 15:05:44 +0000 (08:05 -0700)]
R2RDump - Commandline interface (#18136)

* Use ReadCompressedData for NativeHashTable, fix ref signature types, save array dimension, use AppendLine to avoid line-ending problems

* Include System.CommandLine, arg parsing, read/write file

* Add commandline options to search sections/methods/runtimeFunctions, option to dump raw data

* Added comments, save cli options in global variables, renamed some functions

* Add DumpByte function to R2RSection and R2RHeader, indent raw bytes

* Change some cli option names, use DumpRuntimeFunction, return list of query matches, changes to ArgStringToInt

* Move DumpBytes to R2RDump, print method of runtime function

* Use writer object instead of Console

* Use TextWriter instead of own writer class

* Handle jagged arrays and other cases using MethodDefinition.DecodeSignature with a slightly modified DisassemblingTypeProvider

* Close the _writer in finally block

6 years agoMerge pull request #18216 from vancem/FixThreadNameSet
Vance Morrison [Fri, 1 Jun 2018 14:53:12 +0000 (07:53 -0700)]
Merge pull request #18216 from vancem/FixThreadNameSet

Fix Managed Thread Name Setting

6 years agoMoves Stream to shared location (#18142)
Marek Safar [Fri, 1 Jun 2018 03:57:00 +0000 (05:57 +0200)]
Moves Stream to shared location (#18142)

* Moves Stream to shared location

* Review tweaks

* Add NotImplementedException for SyncStream due to https://github.com/dotnet/corert/issues/3251

6 years agoFix SpanHelpers.ClearWithoutReferences alignment detection (#18222)
Pent Ploompuu [Fri, 1 Jun 2018 03:02:45 +0000 (06:02 +0300)]
Fix SpanHelpers.ClearWithoutReferences alignment detection (#18222)

6 years agoReview feedback
Vance Morrison [Fri, 1 Jun 2018 00:39:58 +0000 (17:39 -0700)]
Review feedback

6 years agoMerge pull request #18220 from sdmaclea/PR-HasPendingGCStressInstructionUpdate
Bruce Forstall [Fri, 1 Jun 2018 00:07:34 +0000 (17:07 -0700)]
Merge pull request #18220 from sdmaclea/PR-HasPendingGCStressInstructionUpdate

Fix HasPendingGCStressInstructionUpdate CONSISTENCY_CHECK

6 years agoArm stepping fixes (#18129)
Chris Sienkiewicz [Fri, 1 Jun 2018 00:04:59 +0000 (17:04 -0700)]
Arm stepping fixes (#18129)

* Ensure thumb bit is set when initializing a code region.
* Use macro rather than manually setting thumb bit in debugger.cpp
* Ensure thumb bit is set when calling FindOrCreateInitAndAddJitInfo.
* Add an assert to FindOrCreateInitAndAddJitInfo when on arm to ensure the thumb bit is set

6 years agoAdd additional features to SOS DumpAsync command (#18213)
Stephen Toub [Thu, 31 May 2018 21:09:41 +0000 (17:09 -0400)]
Add additional features to SOS DumpAsync command (#18213)

1. Computing GC roots is a relatively slow operation, and doing it for every state machine object found in a large heap can be time consuming.  Making it opt-in with -roots command-line flag.

2. Added -waiting command-line flag.  DumpAsync will now retrieve the <>1__state field from the StateMachine, and if -waiting is specified, it'll filter down to state machines that have a state value >= 0, meaning the state machines are waiting at an await point.  For example, given this program:
```C#
using System.Threading.Tasks;
class Program
{
    static async Task Main() { await MethodA(0); await MethodA(int.MaxValue); }
    static async Task MethodA(int delay) => await MethodB(delay);
    static async Task MethodB(int delay) { await Task.Yield(); await Task.Delay(delay); }
}
```
using `!DumpAsync` outputs:
```
         Address               MT     Size Name
#0
0000026848693438 00007ff88ea35e58      120  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodB>d__2, test]]
StateMachine: Program+<MethodB>d__2 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000008        0         System.Int32  1 instance               -2 <>1__state
00007ff8e9bd82f8  4000009        8 ...TaskMethodBuilder  1 instance 0000026848693490 <>t__builder
00007ff8e9bc4bc0  400000a        4         System.Int32  1 instance                0 delay
00007ff8e9bee4d0  400000b       10 ...able+YieldAwaiter  1 instance 0000026848693498 <>u__1
00007ff8e9bcead0  400000c       18 ...vices.TaskAwaiter  1 instance 00000268486934a0 <>u__2
Continuation: 00000268486934b0 (System.Object)

#1
0000026848693e68 00007ff88ea36cc8      112  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodA>d__1, test]]
StateMachine: Program+<MethodA>d__1 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000004        0         System.Int32  1 instance               -2 <>1__state
00007ff8e9bd82f8  4000005        8 ...TaskMethodBuilder  1 instance 0000026848693ec0 <>t__builder
00007ff8e9bc4bc0  4000006        4         System.Int32  1 instance                0 delay
00007ff8e9bcead0  4000007       10 ...vices.TaskAwaiter  1 instance 0000026848693ec8 <>u__1
Continuation: 00000268486934b0 (System.Object)

#2
0000026848693ed8 00007ff88ea37188      112  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<Main>d__0, test]]
StateMachine: Program+<Main>d__0 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000001        0         System.Int32  1 instance                1 <>1__state
00007ff8e9bd82f8  4000002        8 ...TaskMethodBuilder  1 instance 0000026848693f30 <>t__builder
00007ff8e9bcead0  4000003       10 ...vices.TaskAwaiter  1 instance 0000026848693f38 <>u__1
Continuation: 0000026848693f48 (System.Threading.Tasks.Task+SetOnInvokeMres)

#3
0000026848695d30 00007ff88ea35e58      120  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodB>d__2, test]]
StateMachine: Program+<MethodB>d__2 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000008        0         System.Int32  1 instance                1 <>1__state
00007ff8e9bd82f8  4000009        8 ...TaskMethodBuilder  1 instance 0000026848695d88 <>t__builder
00007ff8e9bc4bc0  400000a        4         System.Int32  1 instance       2147483647 delay
00007ff8e9bee4d0  400000b       10 ...able+YieldAwaiter  1 instance 0000026848695d90 <>u__1
00007ff8e9bcead0  400000c       18 ...vices.TaskAwaiter  1 instance 0000026848695d98 <>u__2
Continuation: 0000026848695dd0 (System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodA>d__1, test]])

#4
0000026848695dd0 00007ff88ea36cc8      112  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodA>d__1, test]]
StateMachine: Program+<MethodA>d__1 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000004        0         System.Int32  1 instance                0 <>1__state
00007ff8e9bd82f8  4000005        8 ...TaskMethodBuilder  1 instance 0000026848695e28 <>t__builder
00007ff8e9bc4bc0  4000006        4         System.Int32  1 instance       2147483647 delay
00007ff8e9bcead0  4000007       10 ...vices.TaskAwaiter  1 instance 0000026848695e30 <>u__1
Continuation: 0000026848693ed8 (System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<Main>d__0, test]])

Found 5 state machines.
```
while using `!DumpAsync -waiting` outputs only:
```
         Address               MT     Size Name
#0
0000026848693ed8 00007ff88ea37188      112  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<Main>d__0, test]]
StateMachine: Program+<Main>d__0 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000001        0         System.Int32  1 instance                1 <>1__state
00007ff8e9bd82f8  4000002        8 ...TaskMethodBuilder  1 instance 0000026848693f30 <>t__builder
00007ff8e9bcead0  4000003       10 ...vices.TaskAwaiter  1 instance 0000026848693f38 <>u__1
Continuation: 0000026848693f48 (System.Threading.Tasks.Task+SetOnInvokeMres)

#1
0000026848695d30 00007ff88ea35e58      120  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodB>d__2, test]]
StateMachine: Program+<MethodB>d__2 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000008        0         System.Int32  1 instance                1 <>1__state
00007ff8e9bd82f8  4000009        8 ...TaskMethodBuilder  1 instance 0000026848695d88 <>t__builder
00007ff8e9bc4bc0  400000a        4         System.Int32  1 instance       2147483647 delay
00007ff8e9bee4d0  400000b       10 ...able+YieldAwaiter  1 instance 0000026848695d90 <>u__1
00007ff8e9bcead0  400000c       18 ...vices.TaskAwaiter  1 instance 0000026848695d98 <>u__2
Continuation: 0000026848695dd0 (System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodA>d__1, test]])

#2
0000026848695dd0 00007ff88ea36cc8      112  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodA>d__1, test]]
StateMachine: Program+<MethodA>d__1 (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000004        0         System.Int32  1 instance                0 <>1__state
00007ff8e9bd82f8  4000005        8 ...TaskMethodBuilder  1 instance 0000026848695e28 <>t__builder
00007ff8e9bc4bc0  4000006        4         System.Int32  1 instance       2147483647 delay
00007ff8e9bcead0  4000007       10 ...vices.TaskAwaiter  1 instance 0000026848695e30 <>u__1
Continuation: 0000026848693ed8 (System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<Main>d__0, test]])

Found 3 state machines.
```
skipping the two state machines that have a `<>1__state` field value of -2 (meaning it's completed).  Note that this change has the somewhat unfortunate impact of taking a dependency on what's effectively an implementation detail of Roslyn, but the value the filtering provides is deemed to be worth it.  This design is unlikely to change in the future, and as with other diagnostic/debugging features that rely on such details, it can be updated if Roslyn ever changes its scheme.  In the meantime, the code will output a warning message if it can't find the state field.

3. If a state machine is found to have 0 roots but also to have a <>1__state value >= 0, that suggests it was dropped without having been completed, which is likely a sign of an application bug.  The command now prints out an information message to highlight that state.  For example, this program:
```C#
using System;
using System.Threading.Tasks;
class Program
{
    static void Main()
    {
        Task.Run(async () => await new TaskCompletionSource<bool>().Task);
        Console.ReadLine();
    }
}
```
when processed with `!DumpAsync -roots` results in:
```
         Address               MT     Size Name
#0
0000020787fb5b30 00007ff88ea1afe8      112  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Boolean, System.Private.CoreLib],[Program+<>c+<<Main>b__0_0>d, test]]
StateMachine: Program+<>c+<<Main>b__0_0>d (struct)
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8e9bc4bc0  4000003        0         System.Int32  1 instance                0 <>1__state
00007ff8e9bd0b88  4000004        8 ...Private.CoreLib]]  1 instance 0000020787fb5b88 <>t__builder
00007ff8e9bffd58  4000005       10 ...Private.CoreLib]]  1 instance 0000020787fb5b90 <>u__1
Continuation: 0000020787fb3fc8 (System.Threading.Tasks.UnwrapPromise`1[[System.Boolean, System.Private.CoreLib]])
GC roots:
Incomplete state machine (<>1__state == 0) with 0 roots.

Found 1 state machines.
```

6 years agoReview feedback
Vance Morrison [Thu, 31 May 2018 21:09:06 +0000 (14:09 -0700)]
Review feedback

6 years agoFix number formatting exception with empty NumberGroupSizes array (#18221)
Stephen Toub [Thu, 31 May 2018 21:08:55 +0000 (17:08 -0400)]
Fix number formatting exception with empty NumberGroupSizes array (#18221)

6 years ago[Arm64] Implement genZeroInitFltRegs for float (#18200)
Steve MacLean [Thu, 31 May 2018 20:58:03 +0000 (16:58 -0400)]
[Arm64] Implement genZeroInitFltRegs for float (#18200)

6 years agoReview feedback
Vance Morrison [Thu, 31 May 2018 20:55:27 +0000 (13:55 -0700)]
Review feedback

6 years agoReview feedback
Vance Morrison [Thu, 31 May 2018 20:54:26 +0000 (13:54 -0700)]
Review feedback

6 years agoFixed misspelling
Vance Morrison [Thu, 31 May 2018 20:25:21 +0000 (13:25 -0700)]
Fixed misspelling

6 years agoReview feedback (avoid passing out unpinned managed pointers).
Vance Morrison [Thu, 31 May 2018 19:51:31 +0000 (12:51 -0700)]
Review feedback (avoid passing out unpinned managed pointers).

6 years agoAdd test case for optimized box vector assert (#18163)
Andy Ayers [Thu, 31 May 2018 19:25:22 +0000 (12:25 -0700)]
Add test case for optimized box vector assert (#18163)

Test case for issue #18043 was left out of #18046. Adding it now.

6 years agoMerge pull request #18191 from BruceForstall/RemoveUnusedDefines
Bruce Forstall [Thu, 31 May 2018 19:21:36 +0000 (12:21 -0700)]
Merge pull request #18191 from BruceForstall/RemoveUnusedDefines

Remove unused defines

6 years agoSupport new Japanese calendar eras (#18209)
Tarek Mahmoud Sayed [Thu, 31 May 2018 17:31:11 +0000 (10:31 -0700)]
Support new Japanese calendar eras (#18209)

Japan is going to introduce the new era next year 2019, this new era will be added to the Japanese calendar. This new era would affect anyone converting, formatting or parsing dates using the Japanese calendar.
Users who formatted future dates before introducing the new era and then try to parse these dates after introducing the new era will fail and get parsing exception. The reason is the year number will not be valid in the old era anymore because the new era set a year limit to the old era.

Here is an example:

Format a date like "平成 32年2月1日" which saying year 32 in the era "平成". after we introduce the new era, the old era "平成" will be limited up to and including year 31 so year 32 is exceeding the era end.

The fix is to allow the parser succeeds with such dates and have a config switch which can be used to for anyone want the old behavior.

6 years agoFix HasPendingGCStressInstructionUpdate CONSISTENCY_CHECK
Steve MacLean [Thu, 31 May 2018 16:50:12 +0000 (12:50 -0400)]
Fix HasPendingGCStressInstructionUpdate CONSISTENCY_CHECK

6 years agoMoving MissingFieldException (fully) and MissingMethodException (partially) to shared...
Maryam Ariyan [Thu, 31 May 2018 02:55:47 +0000 (19:55 -0700)]
Moving MissingFieldException (fully) and MissingMethodException (partially) to shared (#18207)

6 years agoExpose Exception.set_HResult as Public (#18203)
Luqun Lou [Thu, 31 May 2018 02:37:50 +0000 (19:37 -0700)]
Expose Exception.set_HResult as Public (#18203)

* Expose Exception.set_HResult as Public

* Remove internal Exception.SetErrorCode

6 years agoFix Managed Thread Name Setting
Vance Morrison [Wed, 30 May 2018 22:39:21 +0000 (15:39 -0700)]
Fix Managed Thread Name Setting

System.Thread has a  'Name' Property that will call the Windows OS SetThreadDescription that will give the thread that friendly name for debuggers and profilers.   However this code was broken in a couple ways.

First, it actually calls the  SetThreadDescription  with a null name when a thread is created (even if later the name is set.   Secondly, if the Thread.Name is set before the thread is actually started, then SetThreadDescription is not called at all.

This change fixes both of these issues.   First, when a thread is created it uses the Name property if it is set.   Second if the name property is set, it does not call SetThreadDescription if the Thread has not been created.   Third, it skips calls to SetThreadDescription if the name is null.

6 years agoMerge pull request #18173 from sdmaclea/PR-FIX-GCSTRESS-ASSERTION
Bruce Forstall [Wed, 30 May 2018 22:21:27 +0000 (15:21 -0700)]
Merge pull request #18173 from sdmaclea/PR-FIX-GCSTRESS-ASSERTION

Fix GCStress assertion

6 years agoRemove unused defines
Bruce Forstall [Wed, 30 May 2018 00:31:03 +0000 (17:31 -0700)]
Remove unused defines

More fallout from removing `LEGACY_BACKEND`.

6 years agoInline Span.CopyTo (#18006)
Ben Adams [Wed, 30 May 2018 18:03:04 +0000 (19:03 +0100)]
Inline Span.CopyTo (#18006)

6 years agoImprove the labeling of .NET Threads. (#18193)
Vance Morrison [Wed, 30 May 2018 12:38:21 +0000 (05:38 -0700)]
Improve the labeling of .NET Threads. (#18193)

There was already some support for labeling threads using the Window SetThreadDescription API, however it was missing some important cases (like labeling the ThreadPool and GC server and Background threads).   Fix this.   Also make the naming consistant (they all start with .NET).

These names show up in PerfView traces and can be used by debuggers or other profilers as well.

6 years agoMoves ArraySortHelper common code to shared location (#18125)
Marek Safar [Wed, 30 May 2018 12:37:36 +0000 (14:37 +0200)]
Moves ArraySortHelper common code to shared location (#18125)

6 years agoAdd sos DumpAsync command (#18160)
Stephen Toub [Wed, 30 May 2018 02:53:56 +0000 (22:53 -0400)]
Add sos DumpAsync command (#18160)

Debugging async methods with sos can be time consuming and relies on knowing how to use dumpheap, dumpvc, gcroot, and other commands to get the desired information, while often digging through a myriad of objects on the heap to find the desired info.

This commit adds a new DumpAsync command, which finds the async state machine objects on the GC heap and outputs relevant information about each, including the fields of its state machine, any registered continuation, and GC roots for the state machine object (as they often serve as a valid substitute for call stacks).

Example program used as a test:
```C#
using System.Threading.Tasks;

class Program
{
    static async Task Main() => await MethodA();
    static async Task MethodA() => await MethodB();
    static async Task MethodB() => await MethodC();
    static async Task MethodC() => await MethodD();
    static async Task MethodD() => await Task.Delay(int.MaxValue);
}
```
and example command output:
```
0:011> !DumpAsync -type MethodD
         Address               MT     Size Name
000001989f413de0 00007ff88c506ba8      112  System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodD>d__4, test]]
StateMachine: Program+<MethodD>d__4
              MT    Field   Offset                 Type VT     Attr            Value Name
00007ff8d3df4b80  400000d        0         System.Int32  1 instance                0 <>1__state
00007ff8d3e082c0  400000e        8 ...TaskMethodBuilder  1 instance 000001989f413e38 <>t__builder
00007ff8d3dfea90  400000f       10 ...vices.TaskAwaiter  1 instance 000001989f413e40 <>u__1
Continuation: 000001989f413e50 (System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodC>d__3, test]])
GC roots:
    Thread 2936c:
        000000071a37e050 00007ff8d3ac1657 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken) [d:\repos\coreclr\src\System.Private.CoreLib\src\System\Threading\Tasks\Task.cs @ 2977]
            rbp+10: 000000071a37e0c0
                ->  000001989f413fa0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<Main>d__0, test]]
                ->  000001989f413f30 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodA>d__1, test]]
                ->  000001989f413ec0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodB>d__2, test]]
                ->  000001989f413e50 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodC>d__3, test]]
                ->  000001989f413de0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodD>d__4, test]]

    HandleTable:
        000001989d8415f8 (pinned handle)
        -> 00000198af3e1038 System.Object[]
        -> 000001989f413410 System.Threading.TimerQueue[]
        -> 000001989f413468 System.Threading.TimerQueue
        -> 000001989f413330 System.Threading.TimerQueueTimer
        -> 000001989f412e40 System.Threading.Tasks.Task+DelayPromise
        -> 000001989f413de0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Threading.Tasks.VoidTaskResult, System.Private.CoreLib],[Program+<MethodD>d__4, test]]

Found 1 state machines.
```

6 years agoMerge pull request #18118 from sdmaclea/PR-ARM64-compFloatingPointUsed
Carol Eidt [Wed, 30 May 2018 00:11:17 +0000 (17:11 -0700)]
Merge pull request #18118 from sdmaclea/PR-ARM64-compFloatingPointUsed

[Arm64] Set compFloatingPointUsed for SIMD HWIntrincsics

6 years agoUpdate BuildTools to preview1-02829-01 (#18171)
dotnet-maestro-bot [Tue, 29 May 2018 23:13:48 +0000 (16:13 -0700)]
Update BuildTools to preview1-02829-01 (#18171)

6 years agoMoving common logic of StackFrame into shared (#18134)
Maryam Ariyan [Tue, 29 May 2018 23:13:13 +0000 (16:13 -0700)]
Moving common logic of StackFrame into shared (#18134)

Related to: #9474

6 years agoFix GCStress assertion
Steve MacLean [Tue, 29 May 2018 17:35:03 +0000 (13:35 -0400)]
Fix GCStress assertion

6 years agoMerge pull request #18127 from CarolEidt/StructAbiDoc
Carol Eidt [Tue, 29 May 2018 19:01:36 +0000 (12:01 -0700)]
Merge pull request #18127 from CarolEidt/StructAbiDoc

Design doc for struct passing

6 years agoDesign doc for struct passing
Carol Eidt [Fri, 25 May 2018 17:53:18 +0000 (10:53 -0700)]
Design doc for struct passing

6 years agoamend call (#18159)
Marco Rossignoli [Tue, 29 May 2018 18:11:25 +0000 (20:11 +0200)]
amend call (#18159)

6 years agoUpdate CoreClr, CoreFx, PgoData to preview1-26529-04, preview1-26529-04, master-20180...
dotnet-maestro-bot [Tue, 29 May 2018 16:00:34 +0000 (09:00 -0700)]
Update CoreClr, CoreFx, PgoData to preview1-26529-04, preview1-26529-04, master-20180529-0053, respectively (#18139)