Justin Van Patten [Sun, 26 Nov 2017 13:47:32 +0000 (05:47 -0800)]
Sort the Action/Func delegates (#15222)
Justin Van Patten [Sun, 26 Nov 2017 02:32:15 +0000 (18:32 -0800)]
Use string.Create in BitConverter.ToString(byte[]) (#15218)
Avoids unnecessary allocations and copying, and reduces the amount of unsafe code.
dotnet-maestro-bot [Sat, 25 Nov 2017 16:42:21 +0000 (10:42 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-25925-02, preview1-25925-02, master-
20171125-0056, respectively (#15210)
dotnet bot [Sat, 25 Nov 2017 16:41:55 +0000 (08:41 -0800)]
Fix build error (#15213)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Anirudh Agnihotry [Fri, 24 Nov 2017 23:49:35 +0000 (15:49 -0800)]
added keu value to key not found exception (#15201)
dotnet-maestro-bot [Fri, 24 Nov 2017 21:09:52 +0000 (15:09 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-25924-01, preview1-25924-02, master-
20171124-0044, respectively (#15202)
mikedn [Fri, 24 Nov 2017 20:54:18 +0000 (22:54 +0200)]
Delete unused file expandarray.h (#15204)
This was used by the JIT but now it has its own copy (src\jit\jitexpandarray.h).
Anirudh Agnihotry [Fri, 24 Nov 2017 04:07:50 +0000 (20:07 -0800)]
Implementation for new string.contains api (#15180)
* string contains char added
* string Comparision added
dotnet-maestro-bot [Fri, 24 Nov 2017 01:03:46 +0000 (19:03 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-25923-02, preview1-25923-02, master-
20171123-0035, respectively (#15188)
Victor Zaytsev [Thu, 23 Nov 2017 16:07:47 +0000 (19:07 +0300)]
Fixed parameter validation for Delegate.CreateDelegate method. (#15196)
Stephen Toub [Thu, 23 Nov 2017 16:05:59 +0000 (11:05 -0500)]
Revert making Nullable<T> readonly (#15198)
* Revert making Nullable<T> readonly
* Address PR feedback
Jan Kotas [Thu, 23 Nov 2017 16:00:15 +0000 (08:00 -0800)]
Move TextInfo to shared CoreLib partition (#15195)
Jan Kotas [Thu, 23 Nov 2017 03:29:51 +0000 (19:29 -0800)]
Fix namespaces and ThrowHelper
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Jan Kotas [Thu, 23 Nov 2017 02:29:54 +0000 (18:29 -0800)]
Move Nullable and string normalization to shared CoreLib partition (#15184)
Steve MacLean [Thu, 23 Nov 2017 01:37:28 +0000 (20:37 -0500)]
[Arm64] support GBDJIT debug frame (#15174)
Bruce Forstall [Thu, 23 Nov 2017 00:31:58 +0000 (16:31 -0800)]
Merge pull request #15181 from BruceForstall/CleanupCallFlagUsage
Clean up `GTF_CALL_VIRT_KIND_MASK` and related usage
Bruce Forstall [Thu, 23 Nov 2017 00:05:59 +0000 (16:05 -0800)]
Merge pull request #15177 from sdmaclea/PR-ARM64-SIMD-morph-varTypeIsStruct
[Arm64] SIMD morph varTypeIsStruct
Bruce Forstall [Thu, 23 Nov 2017 00:04:47 +0000 (16:04 -0800)]
Merge pull request #15178 from sdmaclea/PR-ARM64-SIMD-norm-arg-type
[Arm64] SIMD Normalize struct arg type
Bruce Forstall [Thu, 23 Nov 2017 00:02:00 +0000 (16:02 -0800)]
Merge pull request #15179 from sdmaclea/PR-ARM64-assign-GT_SIMD-arg-temps
[Arm64] Assign temps to GT_SIMD arguments
Brian Robbins [Wed, 22 Nov 2017 23:37:58 +0000 (15:37 -0800)]
Disable Automatic PR Perf Jobs (#15176)
* Disable PR perf jobs.
* Actually enable on-demand PR runs.
Justin Van Patten [Wed, 22 Nov 2017 23:34:03 +0000 (15:34 -0800)]
StringBuilder: Use Decimal.TryFormat (#15170)
Bruce Forstall [Wed, 22 Nov 2017 23:33:17 +0000 (15:33 -0800)]
Merge pull request #15173 from sdmaclea/PR-ARM64-LowerVirtualStubCall-reg-allocation
[Arm64] Fix LowerVirtualStubCall reg allocation
Bruce Forstall [Wed, 22 Nov 2017 22:45:50 +0000 (14:45 -0800)]
Merge pull request #15182 from BruceForstall/TweakArmArchive
Tweak how arm/armlb/arm64 smarty archive happens
Bruce Forstall [Wed, 22 Nov 2017 22:09:21 +0000 (14:09 -0800)]
Tweak how arm/armlb/arm64 smarty archive happens
Put the powershell command to create the archive in a separate
batch file step, so the smarty command error code will be recognized
separately.
Bruce Forstall [Wed, 22 Nov 2017 22:05:09 +0000 (14:05 -0800)]
Clean up `GTF_CALL_VIRT_KIND_MASK` and related usage
Use the existing accessor functions instead of checking the bits directly.
Steve MacLean [Wed, 22 Nov 2017 21:10:41 +0000 (16:10 -0500)]
[Arm64] Assign temps to GT_SIMD arguments
Steve MacLean [Mon, 20 Nov 2017 21:27:55 +0000 (16:27 -0500)]
[Arm64] SIMD Normalize struct arg type
Steve MacLean [Fri, 10 Nov 2017 21:33:11 +0000 (16:33 -0500)]
[Arm64] SIMD morph varTypeIsStruct
Steve MacLean [Wed, 22 Nov 2017 20:15:35 +0000 (15:15 -0500)]
[Arm64] Fix LowerVirtualStubCall reg allocation
Bruce Forstall [Wed, 22 Nov 2017 19:23:21 +0000 (11:23 -0800)]
Merge pull request #15168 from BruceForstall/NoArm64Debug
Stop running Windows ARM64 Debug builds (and tests) by default
dotnet-maestro-bot [Wed, 22 Nov 2017 18:13:15 +0000 (12:13 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-25922-02, preview1-25922-03, master-
20171122-0033, respectively (#15161)
Bruce Forstall [Wed, 22 Nov 2017 17:49:06 +0000 (09:49 -0800)]
Stop running Windows ARM64 Debug builds (and tests) by default
Currently, a PR (from someone on the ARM64 whitelist) will automatically
trigger Windows ARM64 Debug builds. Due to an issue with test definitions,
this also triggers a Debug test run. This is unnecessary; Checked test
runs (and builds) should be sufficient. Save time and machine resources
by not doing Debug builds and tests by default.
Stephen Toub [Wed, 22 Nov 2017 17:48:36 +0000 (12:48 -0500)]
Add string to ReadOnlySpan<char> implicit cast (#15167)
Jan Kotas [Wed, 22 Nov 2017 14:17:04 +0000 (06:17 -0800)]
Cosmetic fixes after move to shared partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Bruce Forstall [Wed, 22 Nov 2017 16:58:36 +0000 (08:58 -0800)]
Merge pull request #15149 from BruceForstall/ArchiveMoreArm32
Archive smarty directory for arm/armlb/arm64 runs
Jacek Blaszczynski [Wed, 22 Nov 2017 16:00:00 +0000 (17:00 +0100)]
Fix all powershell invocations in scripts, CI code and tests to include -NoProfile (#15164)
Code execution in several scripts and tests can be affected by powershell profile
execution at startup. Adding -NoProfile option to all powershell invocations which
may be affected by execution of profile startup code.
Michal Strehovský [Wed, 22 Nov 2017 15:38:19 +0000 (16:38 +0100)]
Ask buildtools to also restore ILAsm (#15103)
We should start with having this restored before we start using it to make sure that nobody has tools downloaded/initialized without ILAsm.
Fei Peng [Wed, 22 Nov 2017 14:40:24 +0000 (06:40 -0800)]
Fix SSE2 and SSE4.1 APIs (#15160)
Jan Kotas [Wed, 22 Nov 2017 04:40:14 +0000 (20:40 -0800)]
Fix unused field warnings
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Sergey Andreenko [Wed, 22 Nov 2017 07:46:50 +0000 (23:46 -0800)]
[RyuJit][x86] Set unused flag when replace an unused parent with a child. (#15157)
* add the repro
* fix the issue
* Move the test to pri1
Jan Kotas [Wed, 22 Nov 2017 07:27:12 +0000 (23:27 -0800)]
Move ArraySegment and a few other files to shared CoreLib partition (#15158)
Bruce Forstall [Tue, 21 Nov 2017 23:20:24 +0000 (15:20 -0800)]
Archive smarty directory for arm/armlb/arm64 runs
Currently, we only archive the *.smrt files, which is not enough to
see why a test failed, only that it did. Instead, ZIP the entire
Smarty.run.0 directory, and upload that (it's about 26MB for a
Pri-1 test run). This allows us to see the actual output of
each test, as generated by smarty.
dotnet-maestro-bot [Wed, 22 Nov 2017 05:40:21 +0000 (23:40 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02221-02, preview1-25922-01, preview1-25921-04, master-
20171121-0025, respectively (#15112)
Stephen Toub [Wed, 22 Nov 2017 05:13:37 +0000 (00:13 -0500)]
Add Decimal.TryFormat span-based method (#15145)
* Move decimal formatting to managed code
- Move decimal formatting to shared (decimal itself is still not shared)
- Delete VM's decimal formatting code
* Add Decimal.TryFormat span-based method
* Workaround ProjectN compiler bug
Apply the same attribution that's applied to the code in corert.
* Address PR feedback
* Temporarily undo explicit layout change
Seeing whether it's the cause of these failures on Unix (Ubuntu, CentOS, and OSX):
```
JIT.Directed.coverage.oldtests.lclfldadd_cs_r.lclfldadd_cs_r
JIT.Directed.perffix.primitivevt.mixed1_cs_ro.mixed1_cs_ro
JIT.Methodical.fp.exgen.1000w1d_cs_r.1000w1d_cs_r
JIT.Methodical.fp.exgen.1000w1d_cs_ro.1000w1d_cs_ro
JIT.Methodical.fp.exgen.1000w1d_cs_do.1000w1d_cs_do
JIT.Methodical.fp.exgen.1000w1d_cs_d.1000w1d_cs_d
JIT.Methodical.fp.exgen.10w5d_cs_d.10w5d_cs_d
JIT.Methodical.fp.exgen.10w5d_cs_do.10w5d_cs_do
JIT.Methodical.fp.exgen.10w5d_cs_ro.10w5d_cs_ro
JIT.Methodical.fp.exgen.200w1d-02_cs_do.200w1d-02_cs_do
JIT.Methodical.fp.exgen.10w5d_cs_r.10w5d_cs_r
JIT.Methodical.fp.exgen.200w1d-02_cs_ro.200w1d-02_cs_ro
JIT.Directed.perffix.primitivevt.mixed1_cs_do.mixed1_cs_do
```
Example failure:
```
FAILED - JIT/Methodical/fp/exgen/200w1d-02_cs_ro/200w1d-02_cs_ro.sh
BEGIN EXECUTION
/mnt/j/workspace/dotnet_coreclr/master/checked_ubuntu_tst_prtest/bin/tests/Windows_NT.x64.Checked/Tests/coreoverlay/corerun 200w1d-02_cs_ro.exe
Unhandled Exception: System.OverflowException: Value was either too large or too small for an Int32.
at System.Convert.ThrowInt32OverflowException()
at System.Convert.ToInt32(Int64 value)
at testout1.Func_0()
at testout1.Main()
./200w1d-02_cs_ro.sh: line 243: 101339 Aborted (core dumped) $_DebuggerFullPath "$CORE_ROOT/corerun" $ExePath $CLRTestExecutionArguments
Expected: 100
Actual: 134
END EXECUTION - FAILED
```
Sergey Andreenko [Wed, 22 Nov 2017 02:20:16 +0000 (18:20 -0800)]
format spmi source (#15144)
Jan Kotas [Tue, 21 Nov 2017 22:44:58 +0000 (14:44 -0800)]
Delete unused leftovers from binary serialization (#15140)
Michal Strehovský [Tue, 21 Nov 2017 18:26:57 +0000 (19:26 +0100)]
Merge pull request dotnet/corert#4971 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Jan Kotas [Tue, 21 Nov 2017 19:20:00 +0000 (11:20 -0800)]
Move SafeBuffer and a few other files to shared CoreLib partition (#15141)
Bruce Forstall [Tue, 21 Nov 2017 18:42:07 +0000 (10:42 -0800)]
Merge pull request #15138 from BruceForstall/FixArmPri1
Temporary fix for arm/armlb/arm64 builds: always build Pri 1 tests
Jan Kotas [Tue, 21 Nov 2017 14:01:12 +0000 (06:01 -0800)]
Move UnmanagedMemoryAccessor to shared CoreLib partition (#15137)
Bruce Forstall [Tue, 21 Nov 2017 05:57:21 +0000 (21:57 -0800)]
Temporary fix for arm/armlb/arm64 builds: always build Pri 1 tests
A fix like #15075 will replace this soon.
Bruce Forstall [Tue, 21 Nov 2017 05:47:20 +0000 (21:47 -0800)]
Merge pull request #15133 from BruceForstall/FixMissingLabel
Fix genPrepForEHCodegen for arm64
Bruce Forstall [Tue, 21 Nov 2017 05:39:24 +0000 (21:39 -0800)]
Merge pull request #15131 from BruceForstall/RemoveX86LegacyBackendTesting
Remove x86 legacy_backend build and CI testing
Justin Van Patten [Tue, 21 Nov 2017 03:49:23 +0000 (19:49 -0800)]
Version: Use int.TryFormat & StringBuilder.Append(int) (#15132)
Now that `int.TryFormat` is available, along with the more efficient
`StringBuilder.Append(int)`, use them in `Version`.
Carol Eidt [Tue, 21 Nov 2017 02:13:14 +0000 (18:13 -0800)]
Merge pull request #15034 from CarolEidt/FixDivRegs
Set reg conflicts on contained IND
Justin Van Patten [Tue, 21 Nov 2017 02:11:58 +0000 (18:11 -0800)]
Reduce allocations in StringBuilder.AppendFormat for primitive types (#15110)
Use the new `TryFormat` APIs to avoid string allocations for primitive types
inside `StringBuilder.AppendFormat`, used by `string.Format`/interpolated
strings.
Santiago Fernandez Madero [Tue, 21 Nov 2017 00:29:58 +0000 (16:29 -0800)]
Change quotes.
Bruce Forstall [Tue, 21 Nov 2017 00:23:22 +0000 (16:23 -0800)]
Remove x86 legacy_backend build and CI testing
Sergey Andreenko [Tue, 21 Nov 2017 00:20:56 +0000 (16:20 -0800)]
fix the adding (#15121)
Santiago Fernandez Madero [Tue, 21 Nov 2017 00:10:57 +0000 (16:10 -0800)]
Add a core dump example.
dotnet bot [Mon, 20 Nov 2017 23:54:50 +0000 (15:54 -0800)]
Fix typo (#15129)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Carol Eidt [Wed, 15 Nov 2017 05:37:12 +0000 (21:37 -0800)]
Set reg conflicts on contained IND
For shift, rotate, mod and div, we were only excluding conflicting registers on the non-fixed operand if it is not contained. However, we still want to do that for the base and index (if any) on a contained IND.
Also, fix the LocationInfoListNodePool to attribute its memory usage to CMK_LSRA.
Mike McLaughlin [Mon, 20 Nov 2017 23:02:22 +0000 (15:02 -0800)]
Fix a few of createdump bugs. (#15079)
1) Fix createdump p_vaddr bias/base problem.
2) createdump was loading the DAC from the directory where createdump was executed from and not from the libcoreclr.so path. Fixed this.
3) Don't use the dac if the libcoreclr.so module is not found.
4) Remove the QI of ICoreDebugDataTarget4 in datatarget.cpp. Forgot to do this when the VirtualUnwind function was removed. Caused crash.
Carol Eidt [Mon, 20 Nov 2017 22:58:37 +0000 (14:58 -0800)]
Merge pull request #15120 from sdmaclea/PR-ARM64-SIMD-SIMD12-genCodeForStoreLcl
[Arm64] SIMD12 genCodeForStoreLcl*
Bruce Forstall [Mon, 20 Nov 2017 22:29:55 +0000 (14:29 -0800)]
Merge pull request #15087 from BruceForstall/FixJmpGsCheck
Fix RyuJIT/arm32 GS cookie check before JMP call
Bruce Forstall [Mon, 20 Nov 2017 22:27:25 +0000 (14:27 -0800)]
Merge pull request #15084 from BruceForstall/FixMulLongBashing3
Fix RyuJIT/arm32 GT_MUL_LONG node bashing
Bruce Forstall [Mon, 20 Nov 2017 22:23:57 +0000 (14:23 -0800)]
Merge pull request #15086 from BruceForstall/FixBitCastGenTreeDefn2
Fix GenTree definition for GT_BITCAST
Bruce Forstall [Mon, 20 Nov 2017 22:23:25 +0000 (14:23 -0800)]
Fix debuggable GenTree (#15081)
* Fix debuggable GenTree
Since the `DEBUGGABLE_GENTREE` hack was introduced, many new
GenTree types have been introduced, and gtstructs.h has shifted
around. This change fixes it so we should see accurate GenTree
vtable pointers for all cases where SetOper gets called.
* Formatting
Andy Ayers [Fri, 17 Nov 2017 00:14:06 +0000 (16:14 -0800)]
Update jitbench harness to capture steady state data
Update jitbench SHA to pick up new version that reports steady state
median response time, with fractional digits.
Bruce Forstall [Mon, 20 Nov 2017 22:05:03 +0000 (14:05 -0800)]
Fix genPrepForEHCodegen for arm64
Enable amd64 code for arm64 as well, to match the expectation of
where labels exist in genReportEH. Fixes #14831, a unique case
during MinOpts (and probably only minopts) where dead code follows
a call/finally block sequence.
Carol Eidt [Mon, 20 Nov 2017 21:07:56 +0000 (13:07 -0800)]
Merge pull request #15115 from CarolEidt/Enable14665Tests
Re-enable tests disabled for #14665
Bruce Forstall [Mon, 20 Nov 2017 21:06:26 +0000 (13:06 -0800)]
Merge pull request #14933 from sdmaclea/PR-ARM64-SIMD-Normalize-Struct-Return
[Arm64] SIMD Normalize struct return type
Bruce Forstall [Mon, 20 Nov 2017 21:01:09 +0000 (13:01 -0800)]
Merge pull request #12552 from mikedn/switch-bt
Use BT in switch lowering
Bruce Forstall [Mon, 20 Nov 2017 20:57:33 +0000 (12:57 -0800)]
Merge pull request #15117 from sdmaclea/PR-ARM64-SIMD-SIMDIntrinsicSet-life
[Arm64] SIMD fix SIMDIntrinsicSet* op2 life
Steve MacLean [Mon, 20 Nov 2017 20:34:03 +0000 (15:34 -0500)]
[Arm64] SIMD12 genCodeForStoreLcl*
Jan Kotas [Mon, 20 Nov 2017 20:19:01 +0000 (12:19 -0800)]
Move MemoryStream to shared CoreLib partition (#15116)
- Apply formating and other minor changes from CoreRT
- Prefer async implementations from CoreCLR since they are more recent and better optimized
- Apply similar changes to UnmanagedMemoryStream as well to keep the two close
Steve MacLean [Mon, 20 Nov 2017 17:40:09 +0000 (12:40 -0500)]
[Arm64] SIMD fix SIMDIntrinsicSet* op2 life
Carol Eidt [Mon, 20 Nov 2017 18:15:58 +0000 (10:15 -0800)]
Re-enable tests disabled for #14665
Jan Kotas [Mon, 20 Nov 2017 16:42:47 +0000 (08:42 -0800)]
Move TaskToApm to shared CoreLib partition (#15113)
- Get TaskToApm in sync with CoreFX copy and move it to shared CoreLib partition
- Delete redundant __Error file
- Delete remaining uses of InternalBlockCopy and replace it with BlockCopy
Bruce Forstall [Mon, 20 Nov 2017 05:26:24 +0000 (21:26 -0800)]
Merge pull request #15088 from BruceForstall/FixArmStressLclFlds
Fix STRESS_LCL_FLDS for ARM
dotnet-maestro-bot [Mon, 20 Nov 2017 04:01:28 +0000 (20:01 -0800)]
Update BuildTools, CoreClr, CoreFx to prerelease-02219-01, preview1-25920-01, preview1-25920-01, respectively (#15099)
Alex [Mon, 20 Nov 2017 02:32:25 +0000 (04:32 +0200)]
Allow ByRef return types in Dynamic Method (#15106)
* Allow ByRef return types in Dynamic Method
* Additional cleanup
Stephen Toub [Sun, 19 Nov 2017 21:10:30 +0000 (16:10 -0500)]
Fix two issues in managed number formatting (#15105)
* Fix ValueStringBuilder to return correct array to pool
When growing the builder, it's erroneously returning the new array rather than the old one.
* Fix number formatting to not share static buffer
Was missing [ThreadStatic] on a static, such that parallel formatting of numbers might end up sharing the same buffer. Oops. But instead of just adding [ThreadStatic], I've switched to starting with a relatively small buffer on the stack. It should suffice for the majority of performed formatting, and the ValueStringBuilder will grow for longer needs.
* Work around C# compiler warning about stack space being exposed
Jan Kotas [Sun, 19 Nov 2017 15:41:14 +0000 (07:41 -0800)]
Delete FriendAccessAllowedAttribute and associated dead code (#15101)
- Preserved commented out FriendAccessAllowed on types and methods that are still used as friends in System.Runtime.WindowsRuntime
Jan Kotas [Sun, 19 Nov 2017 15:39:48 +0000 (07:39 -0800)]
Move debugger attributes to shared partition (#15100)
- Break down DebuggerAttributes.cs into more files, apply cleanup done in CoreRT
- Move two outliers (DebuggerStepperBoundaryAttribute, DebuggerVisualizerAttribute) from CoreFX to CoreLib so that all debugger attributes are together
Jan Kotas [Sun, 19 Nov 2017 13:49:08 +0000 (05:49 -0800)]
Delete SuppressUnmanagedCodeSecurity on QCalls
Mike Danes [Sat, 29 Apr 2017 10:50:26 +0000 (13:50 +0300)]
Use BT in switch lowering
Jan Kotas [Sun, 19 Nov 2017 06:41:39 +0000 (22:41 -0800)]
Delete unnecesary SuppressUnmanagedCodeSecurity annotations (#15102)
Jan Kotas [Sun, 19 Nov 2017 03:24:14 +0000 (19:24 -0800)]
Merge pull request #15069 from stephentoub/coreclrnumbershared
Add TryFormat span-based methods to most primitive types
Stephen Toub [Fri, 17 Nov 2017 00:05:50 +0000 (19:05 -0500)]
Use TryFormat in StringBuilder
Avoid string allocations when appending primitives to StringBuilder. We try to format into the existing array space, and only fall back to using ToString when there isn't enough room and we're going to grow the builder anyway.
Stephen Toub [Thu, 16 Nov 2017 18:59:51 +0000 (13:59 -0500)]
Add TryFormat methods to {S}Byte, {U}Int16/32/64, and Boolean
Stephen Toub [Thu, 16 Nov 2017 17:40:04 +0000 (12:40 -0500)]
Change FormatFixed to avoid bounds checks
Match the original native code's use of pointers.
Stephen Toub [Wed, 15 Nov 2017 23:18:20 +0000 (18:18 -0500)]
Remove now dead code from managed parsing/formatting.
- Remove dead "bigNumber" code.
- Remove custom wcslen function. Use String's.
- Delete dead fcalls from runtime. FormatInt32, FormatUInt32, FormatInt64, and FormatUInt64 are no longer needed. Delete them and many of the helpers used only by them.
Stephen Toub [Wed, 15 Nov 2017 17:54:06 +0000 (12:54 -0500)]
Improve performance of managed formatting code
- Optimize NumberBuffer passing by reference instead of value. It's a large struct of ~50 bytes; copying it around has non-trivial cost.
- Replace formatting StringBuilder with ref struct and stack allocation. Avoids lots of allocation and associated throughput costs.
- Improve perf of 'D' formatting of 32-bit and 64-bit integers.
- Remove array allocations accessing NumberFormatInfo props.
- Accessing array properties like PercentGroupSizes clones the corresponding field. That's unnecessary here, as we don't mutate the array.
- Remove int[] allocation from NumberToStringFormat. Span makes it easy to start with stack space and grow to an allocated array as needed.
- Improve perf of hex formatting of integers. Including removing some sizable allocations.
- Manually inline several hot functions called in only one place.
- Tweak some range comparisons in ParseFormatSpecifier.
- Avoid large stackallocs in NumberToString{Fixed}. It's incurring non-trivial overheads.
- Tweak perf of ValueStringBuilder. In particular, make Append(string) faster for the single-char case, which is extremely common in integer formatting due to its prevalence in strings in NumberFormatInfo.
Stephen Toub [Tue, 14 Nov 2017 21:49:43 +0000 (16:49 -0500)]
Move integer parsing/formatting logic to shared
Moves existing managed parsing code to shared, to be shared with corert.
Takes the managed formatting port from corert and moves that to shared
as well.
Jan Kotas [Sat, 18 Nov 2017 20:02:58 +0000 (12:02 -0800)]
Delete unused Thread::YieldTask (#15091)
dotnet-maestro-bot [Sat, 18 Nov 2017 16:25:54 +0000 (08:25 -0800)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02217-03, preview1-25918-04, preview1-25917-04, master-
20171116-0044, respectively (#15094)
David Nissimoff [Sat, 18 Nov 2017 15:11:06 +0000 (07:11 -0800)]
Fix #15057 MemoryStream.CopyToAsync calls Write / WriteAsync with count=0 (#15070)
Jan Kotas [Sat, 18 Nov 2017 15:10:35 +0000 (07:10 -0800)]
Rename mscorlib to System.Private.CoreLib in documentation (#15090)
Fixes #15078
Jan Kotas [Sat, 18 Nov 2017 09:03:29 +0000 (01:03 -0800)]
Fix up ConfiguredValueTaskAwaitable signature for new compiler checks (#15092)