William Godbe [Tue, 7 Mar 2017 00:36:06 +0000 (16:36 -0800)]
Merge pull request dotnet/coreclr#9986 from wtgodbe/XunitWrapperGranularity
Create Xunit wrappers for 2nd-level test directories instead of top-level
Commit migrated from https://github.com/dotnet/coreclr/commit/
85f6b130db198a85194cd1863c97ce5ddcfbddc5
Jan Vorlicek [Tue, 7 Mar 2017 00:35:14 +0000 (01:35 +0100)]
Fix ICU detection in System.Globalization.Native build (dotnet/coreclr#9990)
The config.cmake was not getting the ICU library paths it requires to
build a code that detects presence of the ucol_setMaxVariable.
I have excluded the libraries detection from the CMakeLists.txt
some time ago since they are not used in the build itself anymore,
but I have not realized that they are needed for this detection
script that's included from the CMakeLists.txt.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc22420af24474fc500cbb47d289337b1762b23d
Michelle McDaniel [Mon, 6 Mar 2017 23:25:57 +0000 (15:25 -0800)]
Merge pull request dotnet/coreclr#9991 from adiaaida/fixx86NugetPackageCreation
Change PackagePlatform to Platform for x86 jit pkg
Commit migrated from https://github.com/dotnet/coreclr/commit/
d67517364d978ab233ed767020c9581b44f8dc75
Michelle McDaniel [Mon, 6 Mar 2017 22:36:19 +0000 (14:36 -0800)]
Change PackagePlatform to Platform for x86 jit pkg
PackagePlatform was removed in dotnet/coreclr@
8dcf9665feabee339029c79b9d86dd24c71905d1,
but the x86 jit package props file was never updated to not use that
property. This change updates the props file to use Platform instead of
PackagePlatform to make sure we package compatjit.dll for x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0444288993ff9ced49a215e4d2a01a2363d9fc4b
wtgodbe [Mon, 6 Mar 2017 21:44:21 +0000 (13:44 -0800)]
Create Xunit wrappers for 2nd-level test directories instead of top-level
Commit migrated from https://github.com/dotnet/coreclr/commit/
54d5f431ee2492f8b4f2f12d0b6171c6a846c930
James Ko [Mon, 6 Mar 2017 18:44:34 +0000 (13:44 -0500)]
Implementation for Dictionary.TryAdd (dotnet/coreclr#9923)
* Add Dictionary.TryAdd
* Fix the conflicts for real
* Remove branch from Add(TKey, TValue)
* Tweak naming
* Remove a slow assert
* PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
aeef0d20caceb33c80312fdf40ed242139cdd003
Sivarv [Mon, 6 Mar 2017 18:25:03 +0000 (10:25 -0800)]
Merge pull request dotnet/coreclr#9398 from mikedn/switch-cast
Change switch value widening
Commit migrated from https://github.com/dotnet/coreclr/commit/
65dcffc4376ebff8c905ccfc9fa9a4ad0aca818c
Davis Goodin [Mon, 6 Mar 2017 17:40:56 +0000 (11:40 -0600)]
Add stripSymbols argument; refactor symbol package build (dotnet/coreclr#9664)
* Add argument to explicitly enable symbol stripping
* Refactor symbol package build
* Remove unnecessary native file distinctions
* Remove unnecessary WindowsSymbolFile step
Commit migrated from https://github.com/dotnet/coreclr/commit/
61619268805bace6b730de1237fd3c7545eb99b5
Jonghyun Park [Mon, 6 Mar 2017 11:31:37 +0000 (20:31 +0900)]
[x86/Linux] Stack align aware unwinder (dotnet/coreclr#9928)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ccf4cb343f6b9f47fc4b08d8811ead1caa3c706c
Jan Kotas [Mon, 6 Mar 2017 05:58:13 +0000 (21:58 -0800)]
Delete a few more unused hosting methods (dotnet/coreclr#9973)
Commit migrated from https://github.com/dotnet/coreclr/commit/
93d8ee3cb97f4071503f4e9e59d26f110c62200b
Rich Lander [Mon, 6 Mar 2017 02:09:31 +0000 (18:09 -0800)]
Add 3PN for GCBench (dotnet/coreclr#9971)
Commit migrated from https://github.com/dotnet/coreclr/commit/
54a84d07af050b6948cd54dc28cc694010623cb4
Rich Lander [Mon, 6 Mar 2017 02:09:17 +0000 (18:09 -0800)]
Add 3PN entry for Livermore Loops coded in C (dotnet/coreclr#9972)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f249b15e485a711a70985455bff3586f0451e15e
Austin Wise [Mon, 6 Mar 2017 01:51:40 +0000 (17:51 -0800)]
Remove hosting methods that always return false (dotnet/coreclr#9930)
* Remove CLRIoCompletionHosted as it always returns false.
* Remove CLRSyncHosted as it always returns false.
* Remove CLRMemoryHosted as it always returns false.
* Remove CLRTaskHosted as it always returns false.
* Remove CLRAssemblyHosted, CLRGCHosted,and CLRSecurityHosted.
They are not called.
* Remove IsThreadPoolHosted as it always returns false.
* Remove EnterRuntime and LeaveRuntime, as they do nothing.
* Add back calls to RevertIfImpersonated and GCX_PREEMP.
I accidentally deleted the call to RevertIfImpersonated instead of just
removing an extra parameter.
When I removed the HR_LEAVE_RUNTIME_HOLDER macro from windowsruntime.h,
I not only removed a LeaveRuntimeHolder but also a GCX_PREEMP. So I added
it back. The holder and GCX_PREEMP where only inserted when the
FEATURE_LEAVE_RUNTIME_HOLDER macro was defined. Since it is always defined,
I removed it. Also as I understand it, you would always want to have a
GCX_PREEMP before calling into the Windows API as not to block the GC,
so I'm not sure why you would want to disable it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
51e968b013e9b1582035f202e004ed024f747f4f
Jan Kotas [Mon, 6 Mar 2017 01:27:36 +0000 (17:27 -0800)]
Delete IsNonW8PFrameworkAPI checks (dotnet/coreclr#9964)
Dead code in CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
118f88dc17c75800ca249330ea41a963d3bae306
Rich Lander [Sun, 5 Mar 2017 22:55:57 +0000 (14:55 -0800)]
Add 3PN for Burgers equation (dotnet/coreclr#9966)
- Thanks to @taumuon for licensing the test, per our request!
- License is MIT.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5b5e51118afd95a0dc29fdfe8b8fc9e48c0e47c
Andy Ayers [Sat, 4 Mar 2017 04:01:52 +0000 (20:01 -0800)]
JIT: change codgen for dup to not lose type information
The jit has traditionally optimized most cases of a
zz; dup; stloc.x
sequence into
zz; stloc.x; ldloc.x
with a comment noting that this makes the resulting compiler IR
more amenable to CSE. Here zz is any IL operation that pushes
a value on the stack. However if zz's result is a ref type, the
dup'ed value produced by zz may be a subtype of the type of the
local x, so this transformation can lose type information.
In the past the loss of type information hasn't mattered, but now if
zz subsequently is used as the this object in a virtual call, the jit
may attempt devirtualization and ask an ill-posed question to the VM,
claiming the type of the this object is an impossible supertype.
This changes modifies the transformation by introducing a new local temp y
that has the type of zz. The result is now
zz; stloc.y; ldloc.y; ldloc.y; stloc.x
with the net result that a ldloc.y is left on the stack with the proper
type. As an optimization, if zz is ldloc.z then the expansion is simply
zz (ldloc.z); ldloc.z; stloc.y
and if zz is a simple "cheap" constant (say ldnull) then the constant
expression is duplicated:
zz (ldnull); ldnull; stloc.y
This resolves the jit side of dotnet/coreclr#9945. Further work is needed on the VM
side since in unverifiable IL there may be other cases where the jit
can present an impossible type.
Diffs from this were minor and in many cases small improvements.
Commit migrated from https://github.com/dotnet/coreclr/commit/
743e5e1660b308cba660565419a972146a6b4191
Paul Westcott [Sun, 5 Mar 2017 05:32:12 +0000 (16:32 +1100)]
Remove ComVisible as per dotnet/coreclr#9371 (dotnet/coreclr#9962)
When lazy was merged, this change was lost.
Commit migrated from https://github.com/dotnet/coreclr/commit/
55fe7d685a88bf837ac29fcf33375f285f7c8136
mikedn [Sat, 4 Mar 2017 17:58:56 +0000 (19:58 +0200)]
Remove unused bbAssertionKill (dotnet/coreclr#9957)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c89728f3b9a78c99fe27d3126e601df433f50dc7
Adeel Mujahid [Sat, 4 Mar 2017 17:50:24 +0000 (19:50 +0200)]
Update glossary.md (dotnet/coreclr#9951)
* Added the definitions for AOT, UTC and UWP.
* Made R2R as the initialism with 'Read-to-Run' its abbreviation.
* Fixed a typo: contributers -> contributors.
* Format as Term-Description markdown table.
Commit migrated from https://github.com/dotnet/coreclr/commit/
81cc07600e2800e5abd5dd8b00cf2c477e8db05f
Varun Venkatesan [Sat, 4 Mar 2017 17:24:30 +0000 (09:24 -0800)]
Extending optimized JIT helpers to Buffer.MemoryCopy (dotnet/coreclr#9786)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6372c5bfebd61470ea5d111f224d035b1d2ebdf
Jan Kotas [Sat, 4 Mar 2017 08:40:56 +0000 (00:40 -0800)]
Move System.Lazy to shared CoreLib partition (dotnet/coreclr#9955)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d22a22140ad29e90e1a5ee44e5288418b2b7d3d4
Tanner Gooding [Sat, 4 Mar 2017 06:26:26 +0000 (22:26 -0800)]
Merge pull request dotnet/coreclr#9954 from tannergooding/fcall
Updating `COMSingle` in `classlibnative` to use the appropriate FCALL declarations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
da2cebba91a6a0454234c86299070d2696cef412
Alex Perovich [Sat, 4 Mar 2017 05:44:12 +0000 (23:44 -0600)]
Remove unreferenced file (dotnet/coreclr#9952)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bf345c219690328bd839e7719af36dc98c2c9d6
Paul Westcott [Sat, 4 Mar 2017 03:14:02 +0000 (14:14 +1100)]
Alternative System.Lazy implementation (dotnet/coreclr#8963)
* Remove use of lock for PublicationOnly
This involves a little bit of trickery. In avoiding the lock we need to
go from m_implementation as PublicationOnly to null in a single step. We
can't do this though without another object, so we reuse out Lazy
object, which basically just spins its wheels until the value is ready.
This shouldn't be a very common scenerio (i.e. hitting that code path)
but it is possible.
* Minimize additional object creation
Storing factory in Lazy object, and passing Lazy as a parameter to
ILazyItem functions. This means that None & PublicationOnly now need no
creation of secondary object.
* Remove Func<T> for default constructor invoking
Fixing startup performance concerns
* Moved non-generic functionality out of Lazy
...and into a helper class
* Expression-bodied functions
Commit migrated from https://github.com/dotnet/coreclr/commit/
2453adf1afba45dec79c6c643623b656702a17de
Tanner Gooding [Sat, 4 Mar 2017 03:08:33 +0000 (19:08 -0800)]
Fixing the FCALL 'common gotchas' comment to clarify that it applies to all types that are not passable via register in __fastcall.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0af0491aacc1473218d4b2715c9fc180c9889483
Tanner Gooding [Sat, 4 Mar 2017 02:56:56 +0000 (18:56 -0800)]
Updating `COMSingle` in `classlibnative` to use the appropriate FCALL Declarations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
41a518bee6213bac61173e142ccd2b6ce552d876
Jonghyun Park [Fri, 3 Mar 2017 23:57:35 +0000 (08:57 +0900)]
[x86/Linux] Clean up pContext access (dotnet/coreclr#9933)
* [x86/Linux] Clean up pContext access
* Fix ARM/Windows build error
Commit migrated from https://github.com/dotnet/coreclr/commit/
3834e6b27cbd32ebb7433e6a15f320c77c3074c6
Jonghyun Park [Fri, 3 Mar 2017 23:56:06 +0000 (08:56 +0900)]
[x86/Linux] Revise VirtualMethodFixupStub (dotnet/coreclr#9929)
* [x86/Linux] Revise VirtualMethodFixupStub
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad9153147dcc2045041c178a49a69cc441758c79
Tarek Mahmoud Sayed [Fri, 3 Mar 2017 22:50:38 +0000 (14:50 -0800)]
Clean up Normalization code (dotnet/coreclr#9941)
Commit migrated from https://github.com/dotnet/coreclr/commit/
63757399c44f92ac2e89a83a70cf27c53cfa16c0
Gaurav Khanna [Fri, 3 Mar 2017 21:32:05 +0000 (13:32 -0800)]
Merge pull request dotnet/coreclr#9942 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25103-03 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
97d60cb7ef503ae698b784804530dbe59fdb575b
Frederik Carlier [Fri, 3 Mar 2017 21:16:55 +0000 (22:16 +0100)]
Support local stack unwinding on Android (dotnet/coreclr#9940)
Commit migrated from https://github.com/dotnet/coreclr/commit/
39196d8665e44907ad2a01400940c75f5fde9a25
Joseph Tremoulet [Fri, 3 Mar 2017 20:28:57 +0000 (15:28 -0500)]
Merge pull request dotnet/coreclr#9773 from mikedn/user-range-check
Generate OAK_NO_THROW assertions from (uint)i < (uint)a.len checks
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9fae83dc253c23b648f3758b68112c5ff49032a
Rich Lander [Fri, 3 Mar 2017 19:04:42 +0000 (11:04 -0800)]
Add 3PN entries (dotnet/coreclr#9943)
* Fix spelling
* Add 3PN for SciMark
* Add ByteMark 3PN entry
* Remove Microsoft copyright
* Add 3PN for Richards benchmark
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b7ee0e81486d17f5e3979713f66a0dd5fc73c6f
Bruce Forstall [Fri, 3 Mar 2017 18:55:06 +0000 (10:55 -0800)]
Merge pull request dotnet/coreclr#9873 from mskvortsov/ryujit-arm32-long
[RyuJIT/ARM32][WIP] Enable CG for long nodes
Commit migrated from https://github.com/dotnet/coreclr/commit/
43db20de67b7a49e915f750b081239c8554c3abb
Mike Danes [Fri, 3 Mar 2017 17:23:33 +0000 (19:23 +0200)]
Add/improve assertion propagation comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
f81e625c6a030436e3e50d699e44f529d797997c
dotnet-bot [Fri, 3 Mar 2017 17:40:48 +0000 (17:40 +0000)]
Update CoreClr to beta-25103-03
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcaab2828dc926b4ba3fbb6036442669b2416e94
Mike Danes [Thu, 23 Feb 2017 06:45:02 +0000 (08:45 +0200)]
Generate OAK_NO_THROW assertions from (uint)i < (uint)a.len checks
If "(uint)i < (uint)a.len" is true then we know that "i" is always within bounds and so "a[i]" does not need a range check.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e04389b73e7bf593b49367543fce51da206123c
Mike Danes [Thu, 2 Mar 2017 21:45:45 +0000 (23:45 +0200)]
Refactor JTRUE handling during assertion gen/prop
- Pull JTRUE related code out of the inner loop of assertion gen to keep the loop small and simple
- Ignore JTRUE in the inner loop of assertion prop, there's nothing to propagate to or from it
- Avoid some unnecessary bitset clears and copies
Commit migrated from https://github.com/dotnet/coreclr/commit/
9fd9a1d5d10728a35d51361242ad9d9790ab6af6
Mike Danes [Thu, 2 Mar 2017 17:00:36 +0000 (19:00 +0200)]
Add tests for (uint)i < (uint)a.len generated assertions
Commit migrated from https://github.com/dotnet/coreclr/commit/
87bd86edfb44132022d77e87c8b330085bae58a6
Gaurav Khanna [Fri, 3 Mar 2017 17:12:27 +0000 (09:12 -0800)]
Merge pull request dotnet/coreclr#9897 from hseok-oh/patch_rootfs
[ARM32/Linux] Prepare rootfs to build libcoreclrtraceptprovider.so
Commit migrated from https://github.com/dotnet/coreclr/commit/
6442050c76b98a3a04920a6466ec710b34b578c1
Gaurav Khanna [Fri, 3 Mar 2017 17:07:12 +0000 (09:07 -0800)]
Merge pull request dotnet/coreclr#9934 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25103-02 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c1c22bd704b6c05d6371d76e39647aa05f83ab5
Russ Keldorph [Thu, 2 Mar 2017 22:51:34 +0000 (14:51 -0800)]
Use CoreCLROverridePath property for CoreFx tests
Remove file copy hack and use the new msbuild property to allow
overriding the runtime when running CoreFx tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
292b2e262283ae075c5d45e5246fa077ef2ecb69
Andrey Akinshin [Fri, 3 Mar 2017 15:26:54 +0000 (20:26 +0500)]
Fix license header for test (GitHub_1323) (dotnet/coreclr#9931)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca61b2c0846588df3d16358300be77f4d636e599
Mikhail Skvortcov [Fri, 3 Mar 2017 12:20:04 +0000 (15:20 +0300)]
RyuJIT/ARM32: enable codegen for long nodes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d02a5a1e7c44db3d06c159a641a597b13b23178
dotnet-bot [Fri, 3 Mar 2017 09:33:08 +0000 (09:33 +0000)]
Update CoreClr to beta-25103-02
Commit migrated from https://github.com/dotnet/coreclr/commit/
206b69c467c28da777efce8c23aab400ccb5a4d8
dotnet bot [Fri, 3 Mar 2017 05:37:23 +0000 (21:37 -0800)]
Update CoreClr to beta-25103-01 (dotnet/coreclr#9927)
Commit migrated from https://github.com/dotnet/coreclr/commit/
92c7f802c9d2ec5ad2d15a6bdef448883e872816
Alex Perovich [Fri, 3 Mar 2017 02:11:47 +0000 (20:11 -0600)]
Merge shared changes from corert and use C# shared project to enable VS editing (dotnet/coreclr#9922)
Commit migrated from https://github.com/dotnet/coreclr/commit/
684784fdb929f2c7d0173a317cb6e3ac6dc29d1a
Bruce Forstall [Fri, 3 Mar 2017 02:10:39 +0000 (18:10 -0800)]
Merge pull request dotnet/coreclr#9915 from BruceForstall/IncBuild1
Fix AsmConstants.inc to be incrementally rebuilt as necessary
Commit migrated from https://github.com/dotnet/coreclr/commit/
53bebb112d7f254b001c24d35755bac4e7059a0e
Aditya Mandaleeka [Fri, 3 Mar 2017 00:56:08 +0000 (16:56 -0800)]
Merge pull request dotnet/coreclr#9921 from adityamandaleeka/rt_dump_changes
Fix error in dumpling text file cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
3391894b91475597209e28ef35a489629b3e76d6
Bruce Forstall [Thu, 2 Mar 2017 18:23:21 +0000 (10:23 -0800)]
Fix AsmConstants.inc to be incrementally rebuilt as necessary
Previously, it was rebuilt on every build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a85b5038af55cdeda8375bdc7e6d0d65396e34bb
Bruce Forstall [Fri, 3 Mar 2017 00:17:41 +0000 (16:17 -0800)]
Merge pull request dotnet/coreclr#9917 from BruceForstall/BuildCrossAltJit
Build cross-compile altjits for arm32 and arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
037f7828cfc72b82ddd496b5851c13e9600a804c
Aditya Mandaleeka [Thu, 2 Mar 2017 22:28:13 +0000 (14:28 -0800)]
Fix error in dumpling text file cleanup.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b848dc23bbcdcdc4a066698219584cbf31dec9f
Bruce Forstall [Thu, 2 Mar 2017 17:14:52 +0000 (09:14 -0800)]
Build cross-compile altjits for arm32 and arm64
On x86, build an x86-host, arm32-target altjit.
On amd64, build an amd64-host, arm64-target altjit.
Each are named protononjit.dll, using our existing naming
convention (proto for "prototype", nonjit meaning the code
won't be executed).
Use these via:
```
set COMPlus_AltJit=*
set COMPlus_AltJitName=protononjit.dll
```
Of course, instead of `*`, you can use any function name.
They are very useful for debugging the JIT in a "nicer" environment
than the full native environment, especially if the full native
environment isn't complete, or if the tools (such as debuggers, editors)
are better in the cross environment than the native environment.
These are only built on Windows. It might be possible to build them
on Linux as well, but that will require some more build work.
Commit migrated from https://github.com/dotnet/coreclr/commit/
db2c3f635d49cc3072ede8f39174459cd764fda4
Evgeny Pavlov [Thu, 2 Mar 2017 21:27:36 +0000 (00:27 +0300)]
[x86/Linux] Add STDCALL for reverse P/Invoke delegates (dotnet/coreclr#9909)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f36ab25027b2ddb38f5b88999c1b5a65da3e5b5
Igor Kulaychuk [Thu, 2 Mar 2017 20:41:09 +0000 (23:41 +0300)]
[Linux][GDB-JIT] Fix lldb type displaying issues (dotnet/coreclr#9906)
* Make array data have fixed size of 1 element
* Add bounds info for multidimentional arrays
* Fix array element size for value types
* Fix ref types duplication in DWARF types cache map
* Add typedef for reference types
Example: make MyClass a typedef for __MyClass *
* Use type name with namespace in DWARF
* Fix duplication of typedef statements in DWARF
* Fix memory leak in ByteTypeInfo::DumpStrings
* Add typedefs for build-in types
Commit migrated from https://github.com/dotnet/coreclr/commit/
fdf36f569d0be0fa5ed777084a14851a746fdd58
Bruce Forstall [Thu, 2 Mar 2017 19:26:01 +0000 (11:26 -0800)]
Merge pull request dotnet/coreclr#9916 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
39b7281317201d4a5380fb6d57504ae9be598346
Bruce Forstall [Thu, 2 Mar 2017 19:23:20 +0000 (11:23 -0800)]
Add src\jit\protononjit directory to git mirror in preparation for future GitHub work
[tfs-changeset: 1649472]
Commit migrated from https://github.com/dotnet/coreclr/commit/
eab4f06674709e1dee353df10aafac4bf3ea9907
Stephen Toub [Thu, 2 Mar 2017 19:18:19 +0000 (14:18 -0500)]
Merge pull request dotnet/coreclr#9911 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25102-03 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5dc3bacb2570c74449b8893f921a82d7be76b24
Michelle McDaniel [Thu, 2 Mar 2017 19:06:53 +0000 (11:06 -0800)]
Merge pull request dotnet/coreclr#9775 from adiaaida/addThroughputPerfTesting
Add Throughput Perf testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a8b76a3fd55c76d31703c1df584f8fa47316ee2
Fadi Hanna [Thu, 2 Mar 2017 19:04:22 +0000 (11:04 -0800)]
Fix LDVIRTFTN case for GVM target methods (dotnet/coreclr#9890)
* Fix LDVIRTFTN case for GVM target methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec28c4f3c895a654c6ea14cb6c65bedc627d597d
Brian Sullivan [Thu, 2 Mar 2017 18:43:01 +0000 (10:43 -0800)]
Update windows-instructions.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
cfa1637a9bd1bc4232bb89fceccea5bf3b16c2f3
Ahson Ahmed Khan [Thu, 2 Mar 2017 18:13:13 +0000 (10:13 -0800)]
Removing ref T Span.GetItem and updating Indexer to return ref (dotnet/coreclr#9787)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e4f1b5720bea994ea76c7ec8f90e02b0739ec62
dotnet-bot [Thu, 2 Mar 2017 17:28:13 +0000 (17:28 +0000)]
Update CoreClr to beta-25102-03
Commit migrated from https://github.com/dotnet/coreclr/commit/
67c6f3e38d7192b84630a07604095ca297473bd6
Gaurav Khanna [Thu, 2 Mar 2017 16:53:57 +0000 (08:53 -0800)]
Merge pull request dotnet/coreclr#9894 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25102-02 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
72e01e0e5453618e9a1b778fb24de21c96691ab5
Andy Ayers [Thu, 2 Mar 2017 03:47:18 +0000 (19:47 -0800)]
Devirtualize calls in some simple cases
Devirtualize calls where the this object type at a call site
is a subtype of the type described at the call site. Currently learns
types from local and arg references and a subset of other operators.
Will devirtualize if either the class or method is final (sealed in C#),
or if the type is known exactly (eg from a newobj).
Devirtualization is run twice, once during importation, and again in a
limited way after inlinining. Calls devirtualized during importation are
are subsequently eligible for inlining. Calls devirtualized during inlining
currently cannot be inlined.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e0637eaa3eecb62e8df2a1fbb50b0130d2ad40a5
Andy Ayers [Mon, 30 Jan 2017 23:45:11 +0000 (15:45 -0800)]
Jit interface support for devirtualization
Add new method to jit interface so the jit can determine what derived
method might be called for a given base method, derived class pair.
Implement support in the VM and in other places (zap, spmi).
Commit migrated from https://github.com/dotnet/coreclr/commit/
35c23eccfdeaddbd07cd39473fe7544603e67857
Jonghyun Park [Thu, 2 Mar 2017 14:52:26 +0000 (23:52 +0900)]
[x86/Linux] Fix clang 3.9 build error (dotnet/coreclr#9900)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d76ceaeea4788a949d908b2f9a47f5742ddaadb
dotnet-bot [Thu, 2 Mar 2017 10:12:44 +0000 (10:12 +0000)]
Update CoreClr to beta-25102-02
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee97900d1d436d737c38dd0b1db4d13337a329f8
Jonghyun Park [Thu, 2 Mar 2017 09:58:55 +0000 (18:58 +0900)]
[x86/Linux] Initial filter support (dotnet/coreclr#9820)
* [x86/Linux] Initial Filter Support
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d30a572f64a5a43d8280970cad944a61b2e92fd
Austin Wise [Thu, 2 Mar 2017 09:28:56 +0000 (01:28 -0800)]
Remove CLRThreadpoolHosted as it always returns false. (dotnet/coreclr#9899)
Commit migrated from https://github.com/dotnet/coreclr/commit/
542ca8e3fe40dcea5c7c69bc20915ca41b8b3f97
Jonghyun Park [Thu, 2 Mar 2017 07:50:11 +0000 (16:50 +0900)]
[x86/Linux] Clean up EXCEPTION_REGISTRATION_RECORD (dotnet/coreclr#9895)
Commit migrated from https://github.com/dotnet/coreclr/commit/
262f09cbb657febc7454ca8a9675d3213d5ee8a0
Ahson Ahmed Khan [Thu, 2 Mar 2017 07:49:08 +0000 (23:49 -0800)]
Temporarily disabling SpanBench tests that use indexer setter. (dotnet/coreclr#9896)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e859c309438caf04d715f2b11427935565b322d4
Matt Warren [Thu, 2 Mar 2017 06:57:52 +0000 (06:57 +0000)]
Update links to point to valid BotR pages - One extra link that was missed out (dotnet/coreclr#9878)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5b44487f70d08be3909bc50af543f21d9e3c260
Michal Strehovský [Thu, 2 Mar 2017 06:15:34 +0000 (22:15 -0800)]
Use the correct class handle for fat call temporary (dotnet/coreclr#9893)
`clsHnd` is the class handle of the type that owns the method for
`opcode != CEE_CALLI`. We need the class handle for the method's
return type though.
This is ending up with RyuJIT asking weird questions over JitInterface
(`getClassGClayout` of a reference type).
Also removing a line that was added in dotnet/coreclr#9191 to support the old code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
58010850217463943ba5910ddc8303b9d36f709e
Hyeongseok Oh [Thu, 2 Mar 2017 05:01:18 +0000 (14:01 +0900)]
[ARM32/Linux] Prepare rootfs to build libcoreclrtraceptprovider.so
Prepare rootfs to build libcoreclrtraceptprovider.so
by adding fix process of rootfs for ubuntu 14.04 armhf
Commit migrated from https://github.com/dotnet/coreclr/commit/
92e8a6a13b353664a0b5a47919072f15e582d2b4
Koundinya Veluri [Thu, 2 Mar 2017 04:52:15 +0000 (20:52 -0800)]
Preallocate jump stubs for dynamic methods (dotnet/coreclr#9883)
Preallocate jump stubs for dynamic methods
- This eliminates the possibility of running into an out-of-memory situation after compiling the method
- The temporary entry points block containing FixupPrecodes is extended for dynamic methods to include sufficient space for jump stubs
- When the target is too far for the FixupPrecode to encode a short relative jump, it instead does a short relative call or jump to the corresponding jump stub, which does an absolute jump to the target
Commit migrated from https://github.com/dotnet/coreclr/commit/
4bafc1004b99013eaa58450e4f974dc7169b5af1
Ahson Ahmed Khan [Thu, 2 Mar 2017 04:16:40 +0000 (20:16 -0800)]
Adding Span API perf tests for comparison with arrays and to monitor progress (dotnet/coreclr#9790)
* wip
* Adding Span API perf tests for comparison with arrays and to monitor progress
* Reducing iteration count so tests finish in < 2 minutes
* Reducing the number of test cases
* Commenting out ref DangerousGetPinnableReference test
* Updated csproj to use latest compiler
* Tuning test cases and runtime
Commit migrated from https://github.com/dotnet/coreclr/commit/
1bf3bbb44397875e94ae95b8527fd1928b5373fe
Tarek Mahmoud Sayed [Thu, 2 Mar 2017 02:20:18 +0000 (18:20 -0800)]
Cleanup the native globalization code (dotnet/coreclr#9887)
* Cleanup the native globalization code
After we merged the globalization code used for Windows and Linux, this change is cleaning up the native VM globalization code
* Added a comment to the normalization code
Commit migrated from https://github.com/dotnet/coreclr/commit/
8597adf44830c451281ec42f0dbc2389e3395cfa
Andy Ayers [Thu, 2 Mar 2017 01:45:25 +0000 (17:45 -0800)]
Fix casing for newly added test (dotnet/coreclr#9889)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6c048167bcf711a37d00fd4b15b324eac33c096
Gaurav Khanna [Thu, 2 Mar 2017 01:39:18 +0000 (17:39 -0800)]
Merge pull request dotnet/coreclr#9882 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25101-04 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4ebfbd60672b51406630235c38469597d166880
Jan Kotas [Thu, 2 Mar 2017 01:28:42 +0000 (17:28 -0800)]
Cleanup (dotnet/coreclr#9892)
* Delete unused PdbTypeMatch tool
* Delete unused GetFileVersion.dll binary
* Delete bad comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
c666f11b70bf12ef2e4568e71c4547e8b2176911
Evgeny Pavlov [Thu, 2 Mar 2017 00:10:17 +0000 (03:10 +0300)]
[x86/Linux] Initial fix of arguments passing in FunctionPtrTest (WIP) (dotnet/coreclr#9855)
* [x86/Linux] Initial fix of incorrect arguments passing in FunctionPtrTest
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0213b97838c4e1efe0eb2c3c60b78fec0d0da0c
Jan Vorlicek [Wed, 1 Mar 2017 23:36:12 +0000 (00:36 +0100)]
Fix incremental build on Unix (dotnet/coreclr#9779)
This change fixes issue with dactablerva.h being generated even if the
libcoreclr.so hasn't changed. Also, the dependency of the daccess.cpp
on this header was not honored by the build system and so even if the
dactablerva.h was regenerated with a different contents, the daccess.cpp
was not rebuilt.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6af7b26738149d46eaccbce631d670c949527ada
Steve MacLean [Wed, 1 Mar 2017 22:16:23 +0000 (17:16 -0500)]
[Arm64/Unix] Fix stack unwinding (dotnet/coreclr#9877)
This restore the functionality lost by dotnet/coreclr#9866 w/o functional
loss
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b8f9d6c8f5b196b8cf7da6f4c49bf4149f3e15a
William Godbe [Wed, 1 Mar 2017 20:45:28 +0000 (12:45 -0800)]
Merge pull request dotnet/coreclr#9868 from wtgodbe/HelixPrep
Allow user to zip tests even when not building against packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc3626d4e6934fb02db038b527e665e310e33cd7
dotnet-bot [Wed, 1 Mar 2017 19:55:19 +0000 (19:55 +0000)]
Update CoreClr to beta-25101-04
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c5fba17d228b3890b836b0a8cd257ea899c6213
Aditya Mandaleeka [Wed, 1 Mar 2017 18:29:32 +0000 (10:29 -0800)]
Merge pull request dotnet/coreclr#9770 from adityamandaleeka/card_bundles_unix_2
Implement second-level card tables for non-Windows platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a0a82a8dabaabb1e9a82af944d70aed210838a3
Michelle McDaniel [Thu, 23 Feb 2017 22:27:38 +0000 (14:27 -0800)]
Add Throughput Perf testing
This change adds scripting to run perf testing in the lab. We perform the
testing by running crossgen on a list of dlls. It then writes the data to a
csv file which is passed to other processing scripts.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b8070e99a032dbd5af20a71e4aced5afed784f7b
Pat Gavlin [Wed, 1 Mar 2017 17:07:11 +0000 (09:07 -0800)]
Merge pull request dotnet/coreclr#9871 from pgavlin/FixUninitBitsetAccess
Guard a use of a possibly-uninitialized BitSet.
Commit migrated from https://github.com/dotnet/coreclr/commit/
616519f957f13fbcb565ab408ccdf298c02f8ae6
Jon Hanna [Wed, 1 Mar 2017 16:53:33 +0000 (16:53 +0000)]
Timespan division and multiplication. (dotnet/coreclr#9804)
https://github.com/dotnet/corefx/issues/7175
Commit migrated from https://github.com/dotnet/coreclr/commit/
6edb2a5dfa302ba78d8b6e535249accbca3c90d5
Matt Warren [Wed, 1 Mar 2017 16:42:57 +0000 (16:42 +0000)]
Update links to point to valid BotR pages (dotnet/coreclr#9874)
As per comment from @jkotas,
https://github.com/dotnet/coreclr/issues/9306#issuecomment-
277282440
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e2120ce9e6a3e5262b9b43c3302f06f79e4f658
Peter Kukol [Wed, 1 Mar 2017 15:51:31 +0000 (08:51 -0700)]
Streamlined MinOpts GC ref tracking. (dotnet/coreclr#9869)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d53b0ff28cdd4438419f8485fecfb92269e90cf5
Stephen Toub [Wed, 1 Mar 2017 15:10:26 +0000 (10:10 -0500)]
Merge pull request dotnet/coreclr#9831 from WinCPP/LazyInitializerNewOverloads
CoreFx dotnet/coreclr#16274 Implementation - New overloads of LazyInitializer.EnsureInitialized for reference types
Commit migrated from https://github.com/dotnet/coreclr/commit/
38b0df9987c86ee54c84609484564598fc4e47ca
Yongseop Kim [Wed, 1 Mar 2017 14:52:35 +0000 (23:52 +0900)]
[x86/linux] Add IsIPinVirtualStub() on x86/linux (dotnet/coreclr#9844)
* [x86/linux] Add IsIPinVirtualStub() on x86/linux dotnet/coreclr#9691
To pass Loader.classloader.methodoverriding.regressions.549411.exploit
test failure on x86/linux. This patch is from dotnet/coreclr#5542.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e491a912e393610f1c987f1f814fdd3d04160479
Steve MacLean [Wed, 1 Mar 2017 09:35:56 +0000 (04:35 -0500)]
[Arm64/Unix] Revert fix stack unwinding in CallDescrWorkerInternal (dotnet/coreclr#9866)
Commit migrated from https://github.com/dotnet/coreclr/commit/
af6738e34d1c5942dd23eed03c629a5dfaaae10c
Jonghyun Park [Wed, 1 Mar 2017 09:13:40 +0000 (18:13 +0900)]
[x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP (dotnet/coreclr#9814)
* [x86/Linux] Introduce ESTABLISHER_FRAME_ADDRESS_IS_CALLER_SP
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ed351c93499dfef402085727d574410ca79b561
Jonghyun Park [Wed, 1 Mar 2017 09:12:37 +0000 (18:12 +0900)]
[x86/Linux] Correct GetStackParameterSize on Funclet (dotnet/coreclr#9849)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6359b37c6f9db872f2c191ad7264637ea14f414
Pat Gavlin [Wed, 1 Mar 2017 04:51:07 +0000 (20:51 -0800)]
Guard a use of a possibly-uninitialized BitSet.
Part of the range check optimization pass was not checking to ensure that a bitset
was initialized before attempting to access it. This was causing one of the new
tests for Vector.Narrow to fail with an AV.
Commit migrated from https://github.com/dotnet/coreclr/commit/
06cdb2191857b6fab899b8ae1150604447e064ad
Stephen Toub [Wed, 1 Mar 2017 03:49:09 +0000 (22:49 -0500)]
Merge pull request dotnet/coreclr#9870 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25101-01 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0420ddd5fd141620cf4a3cfba91913b8efe54b27
WinCPP [Wed, 1 Mar 2017 03:19:49 +0000 (08:49 +0530)]
Corefx dotnet/coreclr#16274 - LazyInitializer.EnsureInitialized overload for reference
types
LazyInitializer.EnsureInitialized overload for reference types that does
not take boolean for tracking initialization status of the reference
type object. Null check on the object parameter is sufficient to whether
or not it has been initialized.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6533e1d3838b636a63783e1fec6c958714137b6