Carol Eidt [Tue, 26 Sep 2017 14:55:29 +0000 (07:55 -0700)]
Merge pull request #14171 from wateret/ryu-arm-putarg-bitcast
[RyuJIT/armarch] Put arguments with GT_BITCAST
Hanjoung Lee [Mon, 25 Sep 2017 11:50:27 +0000 (20:50 +0900)]
[RyuJIT/armarch] Put arguments with GT_BITCAST
Put arguments with GT_BITCAST instead of GT_COPY for arm32/arm64
Fix #14008
Hyung-Kyu Choi [Tue, 26 Sep 2017 00:37:04 +0000 (09:37 +0900)]
[ARM32] Update armel rootfs for Tizen (#14173)
* [Tizen/ARM32] Update armel rootfs for Tizen
- Add lttng-ust-dev to Tizen rootfs for cross build
- Use rootfs of the latest Tizen 4.0
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [Tizen/ARM32] Update Tizen CI script
- Update arm32 CI script for Tizen to use the latest environment
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Bruce Forstall [Tue, 26 Sep 2017 00:22:03 +0000 (17:22 -0700)]
Add CI PR triggers for x86_arm and x64_arm64 testing (#14158)
* Add CI PR triggers for x86_arm and x64_arm64 testing
* Fix bug
* Don't do GC stress with altjit
Brian Sullivan [Mon, 25 Sep 2017 23:54:25 +0000 (16:54 -0700)]
Merge pull request #14041 from sdmaclea/PR-ARM64-SET-FLAGS
[Arm64] Use GTF_SET_FLAGS/GTF_USE_FLAGS
Steve MacLean [Mon, 25 Sep 2017 19:07:22 +0000 (15:07 -0400)]
[Arm64] Repsond to feedback
Steve MacLean [Tue, 19 Sep 2017 22:27:11 +0000 (18:27 -0400)]
Cleanup gentree per comments
Steve MacLean [Fri, 15 Sep 2017 22:08:09 +0000 (18:08 -0400)]
[Arm64] Use GTF_SET_FLAGS/GTF_USE_FLAGS
Bruce Forstall [Mon, 25 Sep 2017 17:10:41 +0000 (10:10 -0700)]
Merge pull request #14145 from BruceForstall/CleanupTestsLst
Re-enable tests that should now pass
Carol Eidt [Mon, 25 Sep 2017 14:47:33 +0000 (07:47 -0700)]
Merge pull request #14080 from hqueue/arm/ryujit/issue_13750
[RyuJIT] Fix assertion condition for interval of constant value in LSRA
Fei Peng [Mon, 25 Sep 2017 12:22:36 +0000 (05:22 -0700)]
[mscorlib] Enable hardware intrinsic in debug and reflection (#14164)
Hyung-Kyu Choi [Wed, 20 Sep 2017 07:05:07 +0000 (16:05 +0900)]
[RyuJIT/ARM32] Fix assertion condition in LSRA for ARM32
Update assertion condition when handling an inactive
constant interval for ARM32, because an inactive constant
interval may be encountered.
Fix #13750
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Tanner Gooding [Sat, 23 Sep 2017 21:23:23 +0000 (14:23 -0700)]
Moving parts of `System.Math` and `System.MathF` to be shared with CoreRT. (#14119)
* Moving parts of `System.MathF` to be shared with CoreRT.
* Moving parts of `System.Math` to be shared with CoreRT.
* Updating the new 'Round' named intrinsic to map to the legacy 'Round' intrinsic.
* Adding back the case statement for CORINFO_INTRINSIC_Round, since it is required for Desktop compat.
Bruce Forstall [Sat, 23 Sep 2017 20:39:13 +0000 (13:39 -0700)]
Merge pull request #14153 from mikedn/x86-newarr-nint
Make GitHub_14116 test work on 32 bit
Mike Danes [Sat, 23 Sep 2017 18:42:43 +0000 (21:42 +0300)]
Make GitHub_14116 test work on 32 bit
newarr expects int32 or native int on the stack. x64 JIT hapilly allows an int64 as well but the x86 JIT asserts.
Also change the constant to 0xFFFFFFF1FFFFFFFF so OverflowException is thrown on 32 bit as well.
Bruce Forstall [Sat, 23 Sep 2017 01:06:06 +0000 (18:06 -0700)]
Merge pull request #14143 from sdmaclea/PR-FEEDBACK-14139
Respond to Feedback #14139
Steve MacLean [Sat, 23 Sep 2017 01:03:40 +0000 (21:03 -0400)]
[Arm64/Arm] Favor emitActualTypeSize for non-memory (#14046)
* [Arm64/Arm] Favor emitActualTypeSize for non-memory
Register ops size is generally referred to
by emitActualTypeSize. 'Actual' size refers to the
size in register as opposed to size in memory
* [Arm64] Remove bogus CQ ToDo
* Fix formatting
Bruce Forstall [Sat, 23 Sep 2017 00:57:34 +0000 (17:57 -0700)]
Re-enable tests that should now pass
Bruce Forstall [Sat, 23 Sep 2017 00:39:15 +0000 (17:39 -0700)]
Merge pull request #14109 from hseok-oh/ryujit/fix_13738
[RyuJIT/ARM32] JitStress=1 test: padding local variable
Roman Artemev [Sat, 23 Sep 2017 00:11:38 +0000 (17:11 -0700)]
Merge pull request #14118 from rartemev/devdiv_491206
Fixed return constant value cache on 32 bit VMs
Bruce Forstall [Sat, 23 Sep 2017 00:09:09 +0000 (17:09 -0700)]
Merge pull request #14117 from mikedn/earyprop-neg-length
Don't early-propagate negative array lengths
Steve MacLean [Fri, 22 Sep 2017 23:59:22 +0000 (19:59 -0400)]
[Arm64] Add Floor/Ceiling intrinsics (#14132)
* [Arm64] Add Floor/Ceiling intrinsics
* Templatize emitActualTypeSize
Victor "Nate" Graf [Fri, 22 Sep 2017 23:47:15 +0000 (16:47 -0700)]
Create dotnet deployment and acquisition size on disk test (#13956)
* [WIP] First version of SoDBench. Contains bugs
* [WIP] Move SoDBench files and increase error checking
* [WIP] Add NugetConfig to enable pulling packages from myget
* [WIP] Remove unhelpful templates and add back oses
* [WIP] Add ability to specify channel
* [WIP] Improve CSV writing
* [WIP] Improve options parsing
* Fix syntax error
* [WIP] Add test leg to perf.groovy
* [WIP] Adjust label to target an existing machine pool
* Change label to run on virtual machine
* Use setMachineAffinity
* Add ASP.NET-Core feed and deafult to master as the channel
* Change channel to master in perf.groovy
* Move NuGet.Config up a directory so it only needs to be written once
* Add CommandLine to external dependencies
* Remove CommandLine as it is now in external.depproj
* Adjust wget command to work more consistantly
* Change calculation of relative paths for clarity
* Set job to run daily instead of on push/PR
* Build sodbench on job run
* Remove MSBuild from job
* Fix quote placement
* Change metadata to be more accurate
* Add rollup totals for each measured category
* Refactor to use a tree rather than a dictionary
* Limit report size
* Publish in release configuration
Steve MacLean [Fri, 22 Sep 2017 23:11:33 +0000 (19:11 -0400)]
[Arm64] Implement JCC/SETCC nodes (#14101)
* [Arm64] Implement JCC/SETCC nodes
* Fix formatting
Steve MacLean [Fri, 22 Sep 2017 22:16:52 +0000 (18:16 -0400)]
Respond to Feedback #14139
Bruce Forstall [Fri, 22 Sep 2017 22:13:32 +0000 (15:13 -0700)]
Merge pull request #13167 from alpencolt/ryu-arm-remove-lea-0-offset
[RyuJIT/ARM32] Remove LEA[b+0]
Roman Artemev [Fri, 22 Sep 2017 20:51:10 +0000 (13:51 -0700)]
Added IntegralValue() method
Brian Sullivan [Fri, 22 Sep 2017 21:34:47 +0000 (14:34 -0700)]
Merge pull request #14139 from sdmaclea/PR-ARM64-EMIT-CBxZ-TBxZ
[Arm64] Add emitters for cbz, cbnz, tbz, and tbnz
Jarret Shook [Fri, 22 Sep 2017 21:16:33 +0000 (14:16 -0700)]
Merge pull request #14140 from jashook/pri0_arm_jobs
Set default arm jobs to pri0
jashook [Fri, 22 Sep 2017 21:02:55 +0000 (14:02 -0700)]
Fix incorrect use of local var
jashook [Fri, 22 Sep 2017 20:40:53 +0000 (13:40 -0700)]
Fix build logic as well
Victor "Nate" Graf [Fri, 22 Sep 2017 20:30:02 +0000 (13:30 -0700)]
Disable tracing tests on Windows at runtime, not build (#14127)
Kasper Fabæch Brandt [Fri, 22 Sep 2017 19:51:00 +0000 (21:51 +0200)]
FileStream should not truncate files when opening fails. Fixes dotnet/corefx#24081 (#14043)
Brian Sullivan [Fri, 22 Sep 2017 18:27:12 +0000 (11:27 -0700)]
Merge pull request #14142 from sdmaclea/PR-ARM64-FIX-TYPO
[Arm64] Fix typo
Steve MacLean [Fri, 22 Sep 2017 17:50:01 +0000 (13:50 -0400)]
[Arm64] Fix typo
Jarret Shook [Fri, 22 Sep 2017 17:40:42 +0000 (10:40 -0700)]
Merge pull request #14141 from jashook/fix_post_build_typo
fix arm64_post_build typo
jashook [Fri, 22 Sep 2017 17:38:59 +0000 (10:38 -0700)]
fix arm64_post_build typo
Brian Sullivan [Fri, 22 Sep 2017 17:32:04 +0000 (10:32 -0700)]
Merge pull request #14050 from mikedn/earlyprop-range-check
Remove constant range checks in earlyprop
jashook [Fri, 22 Sep 2017 16:34:42 +0000 (09:34 -0700)]
Set default arm jobs to pri0
Dan Moseley [Fri, 22 Sep 2017 16:31:24 +0000 (09:31 -0700)]
Remove ResId class (#14135)
Bruce Forstall [Fri, 22 Sep 2017 16:24:35 +0000 (09:24 -0700)]
Merge pull request #14129 from BruceForstall/FixArm64TriggerString
Fix ARM64 trigger strings to match job names
Steve MacLean [Tue, 19 Sep 2017 16:39:20 +0000 (12:39 -0400)]
[Arm64] Add emitters for cbz, cbnz, tbz, or tbnz
Tanner Gooding [Fri, 22 Sep 2017 10:47:24 +0000 (03:47 -0700)]
Fixing `FloatingPointUtils.round` to include the fix for #12137 (#14133)
Brian Robbins [Fri, 22 Sep 2017 08:17:48 +0000 (01:17 -0700)]
Fix SIGSEGV in EventPipe on Shutdown (#14123)
* Fix a crash that occurs when a provider is registered after the configuration object has been destroyed.
* Code review feedback.
Koundinya Veluri [Fri, 22 Sep 2017 07:17:16 +0000 (00:17 -0700)]
Improve thread pool worker thread's spinning for work (#13921)
Improve thread pool worker thread's spinning for work
Closes https://github.com/dotnet/coreclr/issues/5928
Replaced UnfairSemaphore with a new implementation in CLRLifoSemaphore
- UnfairSemaphore had a some benefits:
- It tracked the number of spinners and avoids waking up waiters as long as the signal count can be satisfied by spinners
- Since spinners get priority over waiters, that's the main "unfair" part of it that allows hot threads to remain hot and cold threads to remain cold. However, waiters are still released in FIFO order.
- Spinning helps with throughput when incoming work is bursty
- All of the above benefits were retained in CLRLifoSemaphore and some were improved:
- Similarly to UnfairSemaphore, the number of spinners are tracked and preferenced to avoid waking up waiters
- For waiting, on Windows, a I/O completion port is used since it releases waiters in LIFO order. For Unix, added a prioritized wait function to the PAL to register waiters in reverse order for LIFO release behavior. This allows cold waiters to time out more easily since they will be used less frequently.
- Similarly to SemaphoreSlim, the number of waiters that were signaled to wake but have not yet woken is tracked to help avoid waking up an excessive number of waiters
- Added some YieldProcessorNormalized() calls to the spin loop. This avoids thrashing on Sleep(0) by adding a delay to the spin loop to allow it to be more effective when there are no threads to switch to, or the only other threads to switch to are other similar spinners.
- Removed the processor count multiplier on the max spin count and retuned the default max spin count. The processor count multiplier was causing excessive CPU usage on machines with many processors.
Sergey Andreenko [Fri, 22 Sep 2017 04:30:15 +0000 (21:30 -0700)]
fix checkLclVarSemantics (#14053)
* extract CheckLclVarSemantics from CheckLIR.
* add a test that shows the silent bad execution.
* fix the checker.
* add the test to the exclude list.
* rename consumed to used
Stephen Toub [Fri, 22 Sep 2017 01:49:15 +0000 (18:49 -0700)]
Merge pull request #13105 from stephentoub/asyncmem
Reduce allocations when async methods yield
Roman Artemev [Fri, 22 Sep 2017 01:07:33 +0000 (18:07 -0700)]
Fixed test return value
Jarret Shook [Fri, 22 Sep 2017 00:49:34 +0000 (17:49 -0700)]
Merge pull request #14126 from jashook/use_new_x64_client
Add support for priority and update x64 client
Roman Artemev [Thu, 21 Sep 2017 23:37:38 +0000 (16:37 -0700)]
Fixed formating
Roman Artemev [Thu, 21 Sep 2017 23:20:27 +0000 (16:20 -0700)]
Handle long value in MergedReturns optimization
Roman Artemev [Thu, 21 Sep 2017 21:45:01 +0000 (14:45 -0700)]
Added microtest
Roman Artemev [Thu, 21 Sep 2017 20:16:49 +0000 (13:16 -0700)]
Fixed return constant value cache on 32 bit VMs
Bruce Forstall [Thu, 21 Sep 2017 23:47:41 +0000 (16:47 -0700)]
Fix ARM64 trigger strings to match job names
In particular, add "Cross" to the trigger strings.
Jarret Shook [Thu, 21 Sep 2017 22:59:06 +0000 (15:59 -0700)]
Merge pull request #14108 from jashook/spmi_get_helper
Fix superPMI getHelperFunction
jashook [Thu, 21 Sep 2017 22:55:18 +0000 (15:55 -0700)]
Add support for priority and update x64 client
Jan Kotas [Thu, 21 Sep 2017 21:53:29 +0000 (14:53 -0700)]
Update stub dispatch hidden argument convention for CoreRT (#14120)
Sergey Andreenko [Thu, 21 Sep 2017 21:45:07 +0000 (14:45 -0700)]
[Jit] fgMorphCast does not reset GTF_ASG (#14102)
add repro for DevDiv_495792.
fix the issue.
Bruce Forstall [Thu, 21 Sep 2017 20:37:09 +0000 (13:37 -0700)]
Merge pull request #14107 from sdmaclea/PR-ARM64-REMOVE-DEAD
[Arm64] Remove LegacyBackend defines
Mike Danes [Thu, 21 Sep 2017 19:50:16 +0000 (22:50 +0300)]
Don't early-propagate negative array lengths
There's no need for that and if the negative array length is not representable in 32 bit we'll end up producing a GT_CNS_INT node that has TYP_INT and a 64 bit value.
That's because the original type (always TYP_INT) of the GT_ARR_LENGTH is preserved when changing the node to GT_CNS_INT.
Mike Danes [Fri, 18 Aug 2017 20:58:30 +0000 (23:58 +0300)]
Remove constant range checks in earlyprop
Alexander Soldatov [Wed, 2 Aug 2017 13:17:32 +0000 (16:17 +0300)]
[RyuJIT] Regression test #13057
LEA[b+0] was not eliminated on ARM which cause assertion on code generation
Steve MacLean [Thu, 21 Sep 2017 15:04:26 +0000 (11:04 -0400)]
Fix formatting
Hyeongseok Oh [Thu, 21 Sep 2017 07:18:30 +0000 (16:18 +0900)]
[RyuJIT/ARM32] JitStress=1 test: padding local variable
JitStress=1 test make padding offset for local variable.
On ARM32, padding value must support stack alignment.
Tomas Weinfurt [Thu, 21 Sep 2017 07:03:16 +0000 (00:03 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr
Joseph Tremoulet [Thu, 21 Sep 2017 02:09:01 +0000 (22:09 -0400)]
Merge pull request #14099 from JosephTremoulet/LiteralBase
Change base of literals in k-nucleotide-9
jashook [Wed, 20 Sep 2017 23:56:31 +0000 (16:56 -0700)]
Fix superPMI getHelperFunction
Steve MacLean [Wed, 20 Sep 2017 23:05:43 +0000 (19:05 -0400)]
[Arm64] Remove LegacyBackend defines
Bruce Forstall [Wed, 20 Sep 2017 22:02:00 +0000 (15:02 -0700)]
Merge pull request #14039 from OpenVisionLabs/typos
Correction of typos in several infrastructure files
Joseph Tremoulet [Wed, 20 Sep 2017 21:25:02 +0000 (17:25 -0400)]
Change base of literals in k-nucleotide-9
This keeps it in sync with the copies in the release branches (the
release/1.1.0 branch required this since older C# compilers don't accept
the binary literals), and improves readability.
Bruce Forstall [Wed, 20 Sep 2017 21:23:00 +0000 (14:23 -0700)]
Merge pull request #13541 from hqueue/arm/ryujit/issue_12614_enable_unrolling_for_cpblk
[RyuJIT/ARM32] enable unrolling for cpblk
Bruce Forstall [Wed, 20 Sep 2017 19:48:48 +0000 (12:48 -0700)]
Merge pull request #14089 from BredPet/switch_generation
ARM32: fix switch jump table generation bug for RyuJIT
William Godbe [Wed, 20 Sep 2017 19:34:09 +0000 (12:34 -0700)]
Merge pull request #14048 from wtgodbe/RIDs
Restore packages for every Windows architecture by default
Bruce Forstall [Wed, 20 Sep 2017 18:35:20 +0000 (11:35 -0700)]
Merge pull request #14086 from sdmaclea/PR-ARM-REMOVE-OBS-ASSERT
[Arm] Remove obsolete assert
Bruce Forstall [Wed, 20 Sep 2017 18:12:14 +0000 (11:12 -0700)]
Improve instructions for installing VS2017 and building for ARM (#14073)
* Improve instructions for installing VS2017 and building for ARM
* Add section on cross-building ARM for Windows
Sergey Andreenko [Wed, 20 Sep 2017 18:04:16 +0000 (11:04 -0700)]
mark argplace node as no_lir (#14044)
mark argplace node as no_lir
Petr Bred [Wed, 20 Sep 2017 17:05:52 +0000 (20:05 +0300)]
ARM32: fix switch jump table generation bug for RyuJIT
Signed-off-by: Petr Bred <bredpetr@gmail.com>
Jeff Schwartz [Wed, 20 Sep 2017 17:17:32 +0000 (10:17 -0700)]
When building as standalone GC the free object is initialized with 0 flags. This leads to the free list plugs not having the right size on heap traversal (often leading to a crash). The fix is for the free object to be an array with a compenent size of 1 byte.
Tijoy Tom [Wed, 20 Sep 2017 16:44:37 +0000 (09:44 -0700)]
Merge pull request #14085 from qmfrederik/marshal-utf8-intptr-zero
Fix marshaling IntPtr.Zero to UTF8 strings, add unit tests
Steve MacLean [Wed, 20 Sep 2017 15:29:31 +0000 (11:29 -0400)]
[Arm] Remove obsolete assert
Assert should have been removed with #14018
Fixes #14082
Andy Ayers [Wed, 20 Sep 2017 15:15:44 +0000 (08:15 -0700)]
Reset static state per iteration for k-nucleotide-9 (#14081)
Otherwise iterations keep getting slower and slower.
Also bump inner iteration count to 10 to restore the nominal one second
duration per iteration.
Jonghyun Park [Wed, 20 Sep 2017 14:43:05 +0000 (23:43 +0900)]
16-byte Stack Aligned StubDispatchFixupStub (#14078)
Frederik Carlier [Wed, 20 Sep 2017 14:21:59 +0000 (16:21 +0200)]
Test marshaling IntPtr.Zero to UTF8 strings, add unit tests
Bruce Forstall [Wed, 20 Sep 2017 06:03:08 +0000 (23:03 -0700)]
Merge pull request #14075 from BruceForstall/AllowMoreStressModes
Refine ARM64 CI stress modes allowed
Bruce Forstall [Wed, 20 Sep 2017 00:28:32 +0000 (17:28 -0700)]
Refine ARM64 CI stress modes allowed
For JitStressRegs, allow 0x10, 0x80, 0x1000; don't use simple 10 or 80
in names (to match netci.groovy).
Remove "tieredcompilation" from allowed modes; it is not supported in the
CI smarty helper currently.
Joseph Tremoulet [Tue, 19 Sep 2017 23:25:53 +0000 (19:25 -0400)]
Merge pull request #14068 from JosephTremoulet/HelixExclude
Update exclusions for moved tests
Bruce Forstall [Tue, 19 Sep 2017 21:59:46 +0000 (14:59 -0700)]
Merge pull request #14069 from BruceForstall/FixFormatting
Fix jit-format error
Jan Vorlicek [Tue, 19 Sep 2017 21:48:35 +0000 (23:48 +0200)]
Fix rlimit setting of RLIM_NOFILE on OSX (#14054)
This change fixes an issue with rlimit setting of RLIM_NOFILE. The problem
is that the rlim_max that we get from getrlimit is too large and so setting
the rlimit_cur to that value fails. The OSX man page for rlimit has a compat
note about it, stating that the rlimit_cur needs to be limited to
min(OPEN_MAX, rlim_max) if one wants to set it to rlim_max.
Bruce Forstall [Tue, 19 Sep 2017 21:45:25 +0000 (14:45 -0700)]
Fix jit-format error
Bruce Forstall [Tue, 19 Sep 2017 21:42:29 +0000 (14:42 -0700)]
Support PR trigger of ARM JIT stress jobs (#14055)
Add a list of jobs known to the ARM64 CI, and allow those to be triggered.
Also, allow Release triggered jobs to run tests (before, the label said
"Build and Test", but no test was done).
For the newly added jobs, make them weekly triggered, not daily triggered,
for the periodic jobs, to reduce machine usage.
Joseph Tremoulet [Tue, 19 Sep 2017 21:01:52 +0000 (17:01 -0400)]
Update exclusions for moved tests
Change #13994 moved some tests that were excluded from Helix runs, but
failed to update the exclusion list; fix that oversight and exclude the
tests in their new locations.
Fixes #14034.
Bruce Forstall [Tue, 19 Sep 2017 21:03:40 +0000 (14:03 -0700)]
Merge pull request #14059 from hseok-oh/ryujit/fix_13760
[RyuJIT/ARM32] Fix TreeNodeInfoInit for STOREIND with writebarrier
Koundinya Veluri [Tue, 19 Sep 2017 20:54:37 +0000 (13:54 -0700)]
Move initialization of YieldProcessorNormalized to the finalizer thread (#14058)
Move initialization of YieldProcessorNormalized to the finalizer thread
Fixes https://github.com/dotnet/coreclr/issues/13984
- Also moved relevant functions out of the Thread class as requested in the issue
- For some reason, after moving the functions out of the Thread class, YieldProcessorNormalized was not getting inlined anymore. It seems to be important to have it be inlined such that the memory loads are hoisted out of outer loops. To remove the dependency on the compiler to do it (even with forceinline it's not possible to hoist sometimes, for instance InterlockedCompareExchnage loops), changed the signatures to do what is intended.
Stephen Toub [Tue, 19 Sep 2017 20:47:53 +0000 (13:47 -0700)]
Add span-based Guid.{Try}Parse{Exact} methods (#14062)
This commit does two things:
- Changes the existing Guid.{Try}Parse{Exact} methods to work in terms of spans rather than strings.
- Then adds new overloads that accept spans and that uses the same underlying span-based support.
Due to the first change, performance actually improves for several of the guid formats, in particular due to substring allocations that are no longer incurred. For example, this program:
```C#
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
var sw = new Stopwatch();
const int Iters = 1000000;
Console.WriteLine("Pattern\tBytes\tTime");
foreach (string pattern in new[] { "D", "B", "P", "N", "X" })
{
string input = Guid.NewGuid().ToString(pattern);
Guid.Parse(input);
long a = GC.GetAllocatedBytesForCurrentThread();
sw.Restart();
for (int i = 0; i < Iters; i++) Guid.Parse(input);
sw.Stop();
a = GC.GetAllocatedBytesForCurrentThread() - a;
Console.WriteLine($"\"{pattern}\"\t{a / Iters}\t{(int)(sw.Elapsed.TotalMilliseconds / Iters * 1000000)}ns");
}
}
}
```
on my machine previously output:
```
Pattern Bytes Time
"D" 0 218ns
"B" 0 217ns
"P" 0 210ns
"N" 168 388ns
"X" 744 765ns
```
and with this change outputs:
```
Pattern Bytes Time
"D" 0 213ns
"B" 0 192ns
"P" 0 196ns
"N" 0 372ns
"X" 0 577ns
```
Brian Sullivan [Tue, 19 Sep 2017 20:44:47 +0000 (13:44 -0700)]
Merge pull request #14018 from sdmaclea/PR-ARM-Remove-extra-cast
[Arm/Arm64] LowerCast remove small int widen cast
Brian Sullivan [Tue, 19 Sep 2017 20:13:55 +0000 (13:13 -0700)]
Merge pull request #13941 from sdmaclea/PR-ARM64-CMP-EXTENDED
[Arm64] Do not extend within Compare/Test nodes
Joseph Tremoulet [Tue, 19 Sep 2017 20:01:01 +0000 (16:01 -0400)]
Merge pull request #14063 from JosephTremoulet/Fannkuch-5
Fix expected values in fannkuch-redux-5
wtgodbe [Mon, 18 Sep 2017 21:17:07 +0000 (14:17 -0700)]
Restore packages for every Windows architecture by default
Joseph Tremoulet [Tue, 19 Sep 2017 18:09:54 +0000 (14:09 -0400)]
Fix expected values in fannkuch-redux-5
The validation logic was testing against `chksum`, which actually can
vary depending on the number of processors (as that is used to determine
the number of threads across which the work is partitioned, and the
checksum is sensitive to the bucketing). Change it to test against
`maxflips` instead, which is stable.
Fixes #14040.
Joseph Tremoulet [Tue, 19 Sep 2017 15:39:51 +0000 (11:39 -0400)]
Merge pull request #14061 from JosephTremoulet/BenchmarkReadme
Update BenchmarksGames README.txt