Pat Gavlin [Fri, 21 Apr 2017 17:26:05 +0000 (10:26 -0700)]
Fix fgNewBBinRegion when inserting into filters.
In order to ensure that the GC operates properly when handling
exceptions, the CLR ABI requires that control exits a filter region
throguh its terminal instruction. `fgNewBBinRegion` was violating this
invariant, however, which lead to GC stress failures when the GC was
invoked immediately after a filter finished executing but before control
entered any handlers. This change fixes the behavior of
`fgNewBBinRegion` when inserting new blocks into filter regions.
There are two cases to consider when inserting a new BB into a filter
region:
1. The filter region consists of multiple blocks
2. The filter region consists of a single block
The first case is straightforward: instead of inserting a new BB after
the last block of the filter, insert it before the last block of the
filter. Because the filter contains multiple blocks, the predecessor of
the filter must also be in the filter region.
The latter case requires splitting the single block, as inserting a new
block before the single block would otherwise change control flow (the
filter would begin with the new block rather than the single block). In
order to acheive this with minimal complexity, this change first inserts
a `BBJ_ALWAYS` block that transfers control to the existing single
block, then inserts a second new block immediately before the existing
single block. The second new block is then returned. To put it
visually, the transformation is from this:
```
filter start: BBN (BBJ_EHFILTERRET)
```
to this:
```
filter start: BBN + 1 (BBJ_ALWAYS -> BBN)
BBN + 2 (jumpKind)
BBN (BBJ_EHFILTERRET)
```
and the function returns `BBN + 2`.
Fixes VSO 406163.
Jonghyun Park [Fri, 21 Apr 2017 15:51:12 +0000 (00:51 +0900)]
[x86/Linux] Correctly initialize nonVolRegPtrs in LazyMachState::unwindLazyState (#10888)
Jan Kotas [Fri, 21 Apr 2017 15:44:43 +0000 (08:44 -0700)]
Mark CharEnumerator as [Serializable] (#11124)
Fixes https://github.com/dotnet/corefx/issues/18704
SaeHie Park [Fri, 21 Apr 2017 14:28:07 +0000 (23:28 +0900)]
[x86/Linux] Fix pow of tryrun (#11099)
x86/Linux has compatible math pow()
This will fix CoreFX System.Tests.MathFTests.Pow() failures
Yi Zhang (CLR) [Fri, 21 Apr 2017 09:01:40 +0000 (02:01 -0700)]
Add Marshal.GetExceptionPointers (#11125)
* Add Marshal.GetExceptionPointers
* Remove SecurityCritical
Hyeongseok Oh [Fri, 21 Apr 2017 06:13:02 +0000 (15:13 +0900)]
[ARM32/RyuJIT] Argument passing for multireg struct (#10846)
* [Linux/ARM32] Enable fgMorphMultiregStructArgs
Enable fgMorphMultiregStructArgs: morph struct argument to GT_FILED_LIST when size <= 4
Cannot handle split struct that using register and stack
* Fix formatting
Fix formatting error
* Fix typo and commit with not added file
- Fix typo
- Commit with not added file: src/jit/compiler.h
* Fix formatting and build error
* Fix comment and block using NYI macro
- Fix comment
- Block using NYI when struct passed by value can be split between registers and stack
Jonghyun Park [Fri, 21 Apr 2017 05:42:25 +0000 (14:42 +0900)]
[x86/Linux] Relax inst_JMP assert condition (#11062)
* [x86/Linux] Do NOT use exception-throwing block on ESP framed method
* Fix format error
* Relax assert condition
* Fix format error
* Revert changes in codegencommon.cpp
* Add parentheses
William Godbe [Fri, 21 Apr 2017 05:04:29 +0000 (22:04 -0700)]
Merge pull request #11024 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively (master)
dotnet-bot [Fri, 21 Apr 2017 02:27:34 +0000 (02:27 +0000)]
Update CoreClr, CoreFx to preview1-25221-01, preview1-25221-01, respectively
Joseph Musser [Fri, 21 Apr 2017 01:54:30 +0000 (21:54 -0400)]
Update StringBuilder.AppendJoin to approved API (#11059)
* Updated StringBuilder.AppendJoin to approved API
* Organized StringBuilder.AppendJoin overloads
* Added ThrowHelper, removed Contract.Ensures
* Inline array accesses
SaeHie Park [Fri, 21 Apr 2017 01:46:30 +0000 (10:46 +0900)]
Enable corerun to select Globalization Invariant mode (#11097)
* Enable corerun to select Globalization Invariant mode
* Support 'true' also
Gaurav Khanna [Thu, 20 Apr 2017 23:26:17 +0000 (16:26 -0700)]
Fix R2R workaround for Diasymreader (#11116)
Ben Adams [Thu, 20 Apr 2017 22:58:31 +0000 (23:58 +0100)]
Inline List.Clear (#11104)
Peter Smulovics [Thu, 20 Apr 2017 22:46:39 +0000 (18:46 -0400)]
Fixing Delegate's hash code's distribution (#11019)
Delegate's GetHashCode just returns the hash code of the delegate type. For a scenario where delegates are used as keys in a dictionary, this leads to obvious performance problems. We should look at coming up with a better GetHashCode that properly factors in the target object and method, in all of the various forms a delegate can take.
William Godbe [Thu, 20 Apr 2017 22:35:26 +0000 (15:35 -0700)]
Merge pull request #11115 from wtgodbe/readytoruntests
Move readytorun tests into directory one level deeper
Aditya Mandaleeka [Thu, 20 Apr 2017 21:20:22 +0000 (14:20 -0700)]
Merge pull request #11033 from adityamandaleeka/handle_table_local_gc_store
Move handle object manipulation functions to interface
wtgodbe [Thu, 20 Apr 2017 20:49:57 +0000 (13:49 -0700)]
Move readytorun tests into directory one level deeper
Michelle McDaniel [Thu, 20 Apr 2017 20:14:54 +0000 (13:14 -0700)]
Merge pull request #11020 from adiaaida/hardenPerf
Strip quotes out of BenchviewCommitName
Aditya Mandaleeka [Thu, 20 Apr 2017 19:42:30 +0000 (12:42 -0700)]
Rename CompareAndSwap to InterlockedCompareExchange.
William Godbe [Thu, 20 Apr 2017 18:44:13 +0000 (11:44 -0700)]
Merge pull request #11086 from wtgodbe/SecurityPermissions
Add dependency on System.Security.Permissions
wtgodbe [Wed, 19 Apr 2017 23:01:03 +0000 (16:01 -0700)]
Add dependency on System.Security.Permissions
Mike McLaughlin [Thu, 20 Apr 2017 17:13:45 +0000 (10:13 -0700)]
Add the Linux minidump support documentation (#11087)
Add the Linux minidump support documentation
One minor fix to createdump.
Jonghyun Park [Thu, 20 Apr 2017 16:05:51 +0000 (01:05 +0900)]
[x86/Linux] Use CDECL as STDAPICALLTYPE (#10969)
* [x86/Linux] Use CDECL as STDAPICALLTYPE
* Use system default calling convention for internal functions
Michelle McDaniel [Mon, 17 Apr 2017 16:39:00 +0000 (09:39 -0700)]
Strip quotes out of BenchviewCommitName
When we pass the name of the pr to submission-metadata.py, we need the
name of the pr to not include quotes, or submission-metadata.py will fail
because it has the "wrong" parameters (because parts of the name are no
longer quoted). This change strips quotation marks out of the benchview
commit name to harden against this kind of failure.
ragmani [Thu, 20 Apr 2017 14:39:54 +0000 (23:39 +0900)]
[x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun. (#11063)
* [x86/Linux] fix a problem that stack was broken by changing stdcall to cdecl in case of readytorun.
add DynamicHelperArgsStub and change jmp to call.
* [x86/Linux] set cfi_def_cfa_offset of DynamicHelperArgsStub to 16.
Andy Ayers [Thu, 20 Apr 2017 00:21:23 +0000 (17:21 -0700)]
Merge pull request #11083 from AndyAyersMS/FixNonDevUseOfCheckProjects
Update CheckProjects to not fail for non-dev CORE_ROOT
Bruce Forstall [Wed, 19 Apr 2017 23:19:08 +0000 (16:19 -0700)]
Merge pull request #11081 from mikedn/static-noway
Convert some noway_assert to static_assert
Swaroop Sridhar [Fri, 14 Apr 2017 03:12:00 +0000 (20:12 -0700)]
Add LinkBench to CoreCLR BenchView
This change adds Linker tests as scenario tests tracked in
BenchView for CoreCLR benchmarks.
The Benchmarks added are:
HelloWorld, WebAPI, CoreFx, MusicStore (MSIL and ReadyToRun), Roslyn.
The metrics are:
MSIL size before and after ILLINK
Total publish-dir size before and after ILLINK
% Reduction in MSIL and Total dir-size after linking.
Aditya Mandaleeka [Wed, 19 Apr 2017 22:18:57 +0000 (15:18 -0700)]
Move ResetOBJECTHANDLE and the associated holder to the VM side.
Pat Gavlin [Wed, 19 Apr 2017 22:16:26 +0000 (15:16 -0700)]
Merge pull request #11077 from pgavlin/gh10940
Spill side-effects in impAssignMultiRegTypeToVar.
Jan Vorlicek [Wed, 19 Apr 2017 22:13:30 +0000 (15:13 -0700)]
Add NUMA and thread affinity support for Unix (#10938)
* Add NUMA and thread affinity support for Unix
This change adds new PAL functions for NUMA and thread affinity support
for Unix and also enables related code in GC and VM for FEATURE_PAL.
It doesn't reflect the limits imposed by CGROUPS on systems with
CGROUPS enables yet.
Jarret Shook [Wed, 19 Apr 2017 22:07:28 +0000 (15:07 -0700)]
Merge pull request #10257 from jashook/reflection_invoke_arm64
[Arm64] For reflection invoke, use ArgLocDesc
William Godbe [Wed, 19 Apr 2017 22:05:26 +0000 (15:05 -0700)]
Merge pull request #11085 from wtgodbe/SkipTests
Skip failing tests in Helix
wtgodbe [Wed, 19 Apr 2017 22:04:46 +0000 (15:04 -0700)]
Skip failing tests in Helix
Andy Ayers [Wed, 19 Apr 2017 21:07:24 +0000 (14:07 -0700)]
Update CheckProjects to not fail for non-dev CORE_ROOT
CheckProjects expects to be able to find the jit test project files
relative to the value of the `CORE_ROOT` environment variable. This
fails when we have test setups like cross-tests or helix where the
test binary tree has been copied away from the repo after building.
Tolerate these cases by returning a success code if the `CORE_ROOT`
path is not pointing at the expected place.
Fixes #11079.
Fixes #10635.
Mike Danes [Wed, 19 Apr 2017 21:06:40 +0000 (00:06 +0300)]
Convert some noway_assert to static_assert
Jonghyun Park [Wed, 19 Apr 2017 20:50:56 +0000 (05:50 +0900)]
[x86/Linux] Corretly pop args after unmanaged function call (#11007)
* [x86/Linux] Corretly pop args after unmanaged function call
* Fix x86/Windows build error
Pat Gavlin [Wed, 19 Apr 2017 20:38:05 +0000 (13:38 -0700)]
Add a regression test.
Brian Sullivan [Wed, 19 Apr 2017 19:33:20 +0000 (12:33 -0700)]
Merge pull request #11049 from briansull/fixMaxOffset
Fix incorrect test of structSize during struct promotion
Michal Strehovský [Wed, 19 Apr 2017 19:01:57 +0000 (12:01 -0700)]
Add test coverage for Rank 1 multidimensional arrays (#11034)
These have some weird behaviors worth covering.
Daniel Podder [Wed, 19 Apr 2017 18:59:58 +0000 (13:59 -0500)]
IBC: Disable `-partialNGEN -minify` for SPC.dll (#10950)
Add some fixes around the use of IBCMerge in CoreCLR, along with a BuildTools patch (which the fixes are dependent upon):
* don't restore the default optdata package through BuildTools
* don't use partial ngen by default in CoreCLR for SPC.dll
Pat Gavlin [Wed, 19 Apr 2017 18:26:46 +0000 (11:26 -0700)]
Spill side-effects in impAssignMultiRegTypeToVar.
This importer function converts IR from the form
tree
to
/- tree
STMT - =
\- lclVar
in order to conform to the JIT's representation of multi-register values.
Today, it does not check whether or not the tree being spilled has any
side-effects that may interfere with the side-effects of trees that are
already on the evaluation stack, which can lead to bad codegen. This
change fixes this function to spill any side-effects on the stack
before generating the temp assign.
Fixes #10940.
Bruce Forstall [Wed, 19 Apr 2017 18:25:35 +0000 (11:25 -0700)]
Merge pull request #11044 from alpencolt/ryu-arm-localloc-subs-fix
[RyuJIT/ARM32] Use 'subs' instead of 'sub' on localloc
Stephen Toub [Wed, 19 Apr 2017 17:44:12 +0000 (13:44 -0400)]
Merge pull request #11070 from stephentoub/add_stat_fields
Add Dev/Ino fields to Interop.Sys.FileStatus
jashook [Wed, 19 Apr 2017 17:03:13 +0000 (10:03 -0700)]
For Reflection invoke, use ArgLocDesc
For arm64 if the struct needs to be passed in registers, then pass
that information along when we do the reflection invoke.
Note this adds more test cases for passing different struct types via reflection.
I am guessing similar work would need to be done for Arm32.
Jim Ma [Wed, 19 Apr 2017 16:39:23 +0000 (16:39 +0000)]
Change ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun. (#10967)
* Change ICLRRuntimeHost2 to ICLRRuntimeHost4 for Windows corerun.
Since we've introduced ICLRRuntimeHost4 in PR #10842 for Unix, we apply it for Windows corerun as well.
Fix #10960
Yi Zhang (CLR) [Wed, 19 Apr 2017 15:37:44 +0000 (08:37 -0700)]
Stop treating test files as executable and fix encoding (#11065)
* change encoding to UTF-8
* change line ending to UNIX
* remove executable attribute
Stephen Toub [Wed, 19 Apr 2017 15:20:42 +0000 (11:20 -0400)]
Add Dev/Ino fields to Interop.Sys.FileStatus
Roger [Wed, 19 Apr 2017 15:08:00 +0000 (11:08 -0400)]
Mac OS X is now macOS (README.md) (#11068)
Jonghyun Park [Wed, 19 Apr 2017 08:55:18 +0000 (17:55 +0900)]
[x86/Linux] Do NOT run GC on Transition (#11056)
Viktor Hofer [Wed, 19 Apr 2017 02:36:14 +0000 (04:36 +0200)]
Revert "Add SecurityZone stub" (#11053)
Bruce Forstall [Wed, 19 Apr 2017 00:14:13 +0000 (17:14 -0700)]
Merge pull request #10933 from hqueue/ryujit/enable_nodebash_stats
Fix clang build error when enabling NODEBASH_STATS
Bruce Forstall [Wed, 19 Apr 2017 00:13:16 +0000 (17:13 -0700)]
Merge pull request #11021 from mskvortsov/array-offset-mla
[RyuJIT/ARM32] Use mla for array offset computation
Sean Gillespie [Wed, 19 Apr 2017 00:12:09 +0000 (17:12 -0700)]
Some fixes for the GC Reliability Framework (#11029)
* Quality-of-life fixes for the GC reliability framework to make it run
a little better on CoreCLR
* Remove some p/invokes to kernel32 when building on Core
* Minor fixes to run on non-Windows platforms
* Re-enable ReliabilityFramework sanity run
Mike McLaughlin [Tue, 18 Apr 2017 23:54:53 +0000 (16:54 -0700)]
Implement the createdump policy options and env variables (#11032)
Added these command line options:
-f, --name - dump path and file name. The pid can be placed in the name with %d. The default is "/tmp/coredump.%d"
-n, --normal - create minidump (default).
-h, --withheap - create minidump with heap.
-m, --micro - create triage minidump.
-d, --diag - enable diagnostic messages.
Added these environment variables:
COMPlus_DbgMiniDumpType - if set to "1" generate MiniDumpNormal, "2" MiniDumpWithPrivateReadWriteMemory, "3" MiniDumpFilterTriage. Default is MiniDumpNormal.
COMPlus_DbgMiniDumpName - if set, use as the template to create the dump path and file name. The pid can be placed in the name with %d. The default is "/tmp/coredump.%d".
William Godbe [Tue, 18 Apr 2017 23:43:11 +0000 (16:43 -0700)]
Merge pull request #11054 from wtgodbe/spacing
Fix spacing in build-test.cmd in Pipeline
wtgodbe [Tue, 18 Apr 2017 23:42:00 +0000 (16:42 -0700)]
Fix spacing in build-test.cmd in Pipeline
Matt Ellis [Tue, 18 Apr 2017 23:36:55 +0000 (16:36 -0700)]
Merge pull request #11050 from ellismg/remove-duplicate-resources
Remove some duplicate resource strings
William Godbe [Tue, 18 Apr 2017 22:37:22 +0000 (15:37 -0700)]
Merge pull request #11052 from wtgodbe/emptyArgs
Create default variables for Crossgen, TargetsNonWindows in pipebuild
wtgodbe [Tue, 18 Apr 2017 22:36:14 +0000 (15:36 -0700)]
Create default variables for Crossgen, TargetsNonWindows in pipebuild
Jan Kotas [Tue, 18 Apr 2017 22:29:43 +0000 (17:29 -0500)]
Convert a few test files from UTF16 to ASCII and add license (#11051)
William Godbe [Tue, 18 Apr 2017 22:02:10 +0000 (15:02 -0700)]
Merge pull request #10979 from wtgodbe/R2RWindows
Enable running Crossgen tests on Windows in Helix
Gaurav Khanna [Tue, 18 Apr 2017 21:02:14 +0000 (14:02 -0700)]
Remove /RELEASE option required for device drivers (#11023)
Stephen Toub [Tue, 18 Apr 2017 20:43:53 +0000 (16:43 -0400)]
Merge pull request #11047 from stephentoub/task_iscompletedsuccessfully
Expose Task.IsCompletedSuccessfully
Matt Ellis [Tue, 18 Apr 2017 20:26:01 +0000 (13:26 -0700)]
Remove some duplicate resource strings
wtgodbe [Fri, 14 Apr 2017 21:31:34 +0000 (14:31 -0700)]
Enable running Crossgen tests on Windows in Helix
Eric Erhardt [Tue, 18 Apr 2017 19:07:13 +0000 (14:07 -0500)]
Merge pull request #10948 from eerhardt/GetPreviousAdjRulePerf
Fix perf of DateTime.Now on Unix
Joseph Tremoulet [Tue, 18 Apr 2017 18:43:19 +0000 (14:43 -0400)]
Merge pull request #11045 from JosephTremoulet/TraceEventVersion
Run-xunit-perf: update TraceEvents version number
Rahul Kumar [Tue, 18 Apr 2017 18:33:59 +0000 (11:33 -0700)]
fail fast on exceptions that indicate corrupted process state (#10957)
Brian Sullivan [Tue, 18 Apr 2017 18:32:21 +0000 (11:32 -0700)]
Fix incorrect test of structSize in struct promoted
Fixes the desktop test Crossgen NI and Ngen NI validation
Jonghyun Park [Tue, 18 Apr 2017 18:27:29 +0000 (03:27 +0900)]
[x86/Linux] EH Support for Per-Frame P/Invoke Init (#10966)
Stephen Toub [Tue, 18 Apr 2017 17:57:19 +0000 (13:57 -0400)]
Expose Task.IsCompletedSuccessfully
Sergey Andreenko [Tue, 18 Apr 2017 17:44:01 +0000 (10:44 -0700)]
small clean-up and bug fix in genIntToIntCast (#10989)
genintToIntCast was cleaned-up, the assert that was wrong for x86 was deleted. The repro was added.
Joseph Tremoulet [Tue, 18 Apr 2017 16:47:25 +0000 (12:47 -0400)]
Run-xunit-perf: update TraceEvents version number
The perf harness needs 1.0.3-alpha-experimental now.
Eric Erhardt [Tue, 18 Apr 2017 16:39:01 +0000 (11:39 -0500)]
Assert GetAdjustmentRuleForTime sets ruleIndex correctly.
Alexander Soldatov [Tue, 18 Apr 2017 14:51:20 +0000 (17:51 +0300)]
[RyuJIT/ARM32] Use 'subs' instead of 'sub' on localloc
Previous implementation used sub instruction for counter
conditional execution for iterating over loops which cause incorrect
behavior.
Bruce Forstall [Tue, 18 Apr 2017 14:18:10 +0000 (07:18 -0700)]
Merge pull request #11035 from BruceForstall/NumSuccImprovement
Hoist calls to NumSucc() out of loops
Mikhail Skvortcov [Tue, 18 Apr 2017 13:02:17 +0000 (16:02 +0300)]
RyuJIT/ARM32: use mla for array offset computation
ragmani [Tue, 18 Apr 2017 10:01:55 +0000 (19:01 +0900)]
[x86/Linux] changed to the AT&T syntax to solve a problem related broken stack. (#10932)
This is a problem similar to #10383.
Signed-off-by: ragmani <ragmani0216@gmail.com>
Buyduck [Tue, 18 Apr 2017 08:02:14 +0000 (11:02 +0300)]
* fixed class size calculation (#10916)
Tarek Mahmoud Sayed [Tue, 18 Apr 2017 05:02:08 +0000 (22:02 -0700)]
Fix String.Replace implementation (#11039)
* Fix String.Replace implementation
String.Replace was callin ga low level CompareInfo method IndexOfCore which cannot be called in some conditions like when using ordinal ignore case option or when running in invariant mode.
The fix is to call a higher level method in CompareInfo which can handle such cases becfore calling the lower level method
* fix typo
Andy Ayers [Tue, 18 Apr 2017 04:47:38 +0000 (21:47 -0700)]
Merge pull request #10995 from svick/patch-1
Update Viewing JIT dumps to 2.0 and csproj
William Godbe [Tue, 18 Apr 2017 03:16:22 +0000 (20:16 -0700)]
Fix error caused by passing -TargetsWindows at end of Command Line (#11031)
Michael Letterle [Fri, 31 Mar 2017 15:32:32 +0000 (11:32 -0400)]
Do not throw an assertion on no mscorlib
It's okay to use debuggable attributes from other BaseAsmRef's
Fixes #10608
Brian Robbins [Tue, 18 Apr 2017 01:35:37 +0000 (18:35 -0700)]
Merge pull request #11036 from brianrob/remove_eventcounter
Remove EventCounter from System.Private.CoreLib
danmosemsft [Mon, 17 Apr 2017 23:58:10 +0000 (16:58 -0700)]
Fix build break
Omar Tawfik [Mon, 17 Apr 2017 23:33:09 +0000 (16:33 -0700)]
Rename attribute to IsReadOnlyAttribute (#11026)
Bruce Forstall [Mon, 17 Apr 2017 23:32:36 +0000 (16:32 -0700)]
Use isInternalRegDelayFree to avoid temp reg overallocation (#11025)
Use isInternalRegDelayFree to avoid temp reg overallocation
Brian Robbins [Mon, 17 Apr 2017 23:16:22 +0000 (16:16 -0700)]
Remove EventCounter from System.Private.CoreLib.
Bruce Forstall [Mon, 17 Apr 2017 23:00:51 +0000 (16:00 -0700)]
Hoist calls to NumSucc() out of loops
Should be a minor throughput improvement.
Aditya Mandaleeka [Mon, 17 Apr 2017 22:53:38 +0000 (15:53 -0700)]
Remove handle assignment validation from GC side.
Aditya Mandaleeka [Mon, 17 Apr 2017 22:51:58 +0000 (15:51 -0700)]
Add handle assignment validation to VM side.
Jan Kotas [Mon, 17 Apr 2017 22:37:09 +0000 (17:37 -0500)]
Improve performance of Object.GetType for arrays (#10992)
* Improve performance of Object.GetType for arrays
Cache managed Type object on MethodTable for arrays. Makes Object.GetType for arrays about 5x faster.
Viktor Hofer [Mon, 17 Apr 2017 21:39:21 +0000 (23:39 +0200)]
Merge pull request #11028 from danmosemsft/api.zone
Add SecurityZone stub
Aditya Mandaleeka [Wed, 12 Apr 2017 02:11:32 +0000 (19:11 -0700)]
Move handle manipulation functions to interface.
Sergey Andreenko [Mon, 17 Apr 2017 21:05:11 +0000 (14:05 -0700)]
Format spmi sources with clang-format (#11027)
Apply jit style format on spmi sources.
Andy Ayers [Mon, 17 Apr 2017 20:04:23 +0000 (13:04 -0700)]
Jit intrinsics for Span<T>.get_Item and ReadOnlySpan<T>.get_Item. (#10910)
Implement these two methods as optional-expand jit intrinsics.
Uses `GT_ARR_BOUNDS_CHECK` for the bounds check so in some cases
downstream code is able to eliminate redundant checks. Fully general
support (on par with arrays in most cases) is still work in progress.
Update one bit of code in the optimizer that assumed it knew the
tree types that appeared in a `GT_ARR_BOUNDS_CHECK`.
Add benchmark tests for Span and ReadOnlySpan indexers.
Tests ability of jit to reason about indexer properties with respect
to loop bounds and related indexer uses. Some cases inspired by span
indexer usage in Kestrel.
Closes #10785.
Also addresses lack of indexer inlining noted in #10031. Span indexers
should now always be inlined, even when invoked from shared methods.
Swaroop Sridhar [Fri, 14 Apr 2017 03:07:41 +0000 (20:07 -0700)]
Add scenario-based tests
Modified Xunit runner to run Scenario Benchmarks
Updating xunit-performance packages
danmosemsft [Mon, 17 Apr 2017 19:15:07 +0000 (12:15 -0700)]
Add SecurityZone stub
Rahul Kumar [Mon, 17 Apr 2017 18:47:47 +0000 (11:47 -0700)]
In function Assembly.Load ignore AssemblyName.CodeBase even if it is set (#11010)