jashook [Thu, 30 Mar 2017 18:07:13 +0000 (11:07 -0700)]
Re-disable b08046 and add correct metadata.
\JIT\Regression\CLR-x86-JIT\V1.2-M01\b08046\b08046\b08046.cmd was disabled because the issue #2414
was closed but the tests tagged with that issue were not removed. b08046's correct issue is #4849.
Joseph Tremoulet [Fri, 17 Mar 2017 14:05:23 +0000 (10:05 -0400)]
Merge pull request #10248 from mikedn/fix-vnarrbound
Fix ValueNumStore::IsVNArrLenUnsignedBound checks
Tanner Gooding [Fri, 17 Mar 2017 13:50:00 +0000 (06:50 -0700)]
Merge pull request #10201 from cod7alex/add_csharp_editorconfig_codestyle_settings
Added to .editorconfig csharp code style settings supported by VS 2017
Jonghyun Park [Fri, 17 Mar 2017 02:41:24 +0000 (11:41 +0900)]
[x86/Linux] Pass return buffer on reverse P/Invoke (#10226)
* Pass return buffer on reverse P/Invoke
* Use PLATFORM_UNIX and track m_cbRetPop locally
* Declare cbRetPop UINT16 instead of int
Ben Adams [Fri, 17 Mar 2017 01:36:22 +0000 (01:36 +0000)]
Support devirtulization of Encoders (#10229)
* Seal more final inherited internal types
Maoni Stephens [Fri, 17 Mar 2017 00:57:49 +0000 (17:57 -0700)]
need to account for the allocated bytes correctly for the following: (#10162)
need to account for the allocated bytes accurately for the following cases
Alex Perovich [Fri, 17 Mar 2017 00:44:20 +0000 (19:44 -0500)]
Merge pull request #10235 from dotnet/mirror-merge-9050192
Mirror changes from dotnet/corert
Atsushi Kanamori [Fri, 17 Mar 2017 00:23:51 +0000 (17:23 -0700)]
Move the MemberInfo-derived Info classes to the shared partition. (#10236)
* Copy over CoreRt prose member by member.
* Transplant the CoreRt version of the files.
This is now just a reordering. Verified
by sorting the old and new versions of the
file and diffin.
* Move to shared partition.
* Looks like the #if FEATURE_COMINTEROP wasn't just for show...
Take EventInfo.cs back to unshared status for now...
Sean Gillespie [Fri, 17 Mar 2017 00:18:28 +0000 (17:18 -0700)]
[Local GC] Break EE dependency on GC's generation table and alloc lock in single-proc scenarios (#10065)
* Remove usage of the generation table from the EE by introducing an
EE-owned GC alloc context used for allocations on single-proc machines.
* Move the GC alloc lock to the EE side of the interface
* Repair the Windows ARM build
* Move the decision to use per-thread alloc contexts to the EE
* Rename the lock used by StartNoGCRegion and EndNoGCRegion to be more indicative of what it is protecting
* Address code review feedback 2 (enumerate the global alloc context as a part of GCToEEInterface)
* Code review feedback (3)
* Address code review feedback (move some GC-internal globals to gcimpl.h and gc.cpp)
* g_global_alloc_lock is a dword, not a qword - fixes a deadlock
* Move GlobalAllocLock to gchelpers.cpp and switch to preemptive mode when spinning
* Repair the Windows x86 build
Pat Gavlin [Fri, 17 Mar 2017 00:08:05 +0000 (17:08 -0700)]
Merge pull request #10240 from pgavlin/fixerrorlevel
Fix test failure detection when dumps are enabled.
Pat Gavlin [Thu, 16 Mar 2017 23:37:16 +0000 (16:37 -0700)]
Fix test failure detection when dumps are enabled.
Swaroop Sridhar [Thu, 16 Mar 2017 23:12:46 +0000 (16:12 -0700)]
Add a lab job for Coreclr testing via ILLINK (#10200)
This commit adds a job that:
1) Clones https://github.com/mono/linker
2) Builds the linker for netcoreapp2.0
3) Builds CoreCLR and tests using the IlLinker built above
The job is run daily, and can be reqested from PRs as necessary.
Mike Danes [Thu, 16 Mar 2017 21:38:45 +0000 (23:38 +0200)]
Fix ValueNumStore::IsVNArrLenUnsignedBound checks
VNFuncApp::m_func should be checked first to be sure that m_args[0] and m_args[1] contain valid VNs. It's not clear if m_func can ever be something other than a binary func in the case of a relop VN but the code doesn't look right as it is.
Daniel Podder [Thu, 16 Mar 2017 21:37:07 +0000 (14:37 -0700)]
Add IBC support to managed build (#10180)
Add a new build switch, `ibcinstrument`, that adds `/Tuning` on the `crossgen`
command line when building System.Private.CoreLib and its peers. Automatically
consume IBC optdata during builds when these conditions are met:
1. `ibcinstrument` is *not* passed to the build,
2. optdata is available
3. ibcmerge is available
Note that `optdata` will not yet be restored with this change; once packages for
master are made available, a new package reference will still need to be added.
This PR attempts to unblock manually testing IBC, as well as surrounding
CI/infrastructure work.
To help produce an IBC-optimized build using manually generated profile data,
run the newly added `tests/scripts/optdata/bootstrap.py` script. It will
configure the build to consume IBC data from a path automatically, and print out
that path where profile data can be copied.
Jan Kotas [Thu, 16 Mar 2017 19:47:52 +0000 (12:47 -0700)]
Fix CoreCLR build break in shared corelib partition (#2997)
Move RelocatedTypeAttribute under PROJECTN ifdef
Jeremy Kuhne [Thu, 16 Mar 2017 01:38:22 +0000 (18:38 -0700)]
Enable FileStream in ProjectN build, use CreateFile2 instead of CreateFile.
[tfs-changeset: 1651001]
Buyduck [Thu, 16 Mar 2017 20:24:17 +0000 (23:24 +0300)]
Removed check for the maximum quantity of arguments (#10232)
dotnet bot [Thu, 16 Mar 2017 20:16:01 +0000 (13:16 -0700)]
Update CoreClr to beta-25116-01 (#10163)
Atsushi Kanamori [Thu, 16 Mar 2017 19:27:56 +0000 (12:27 -0700)]
Fixing more file-class correspondence violations. (#10231)
* Cloned files.
* Reduce each file to its namesake class.
* Cleanup
* Fix build break.
Pat Gavlin [Thu, 16 Mar 2017 18:49:26 +0000 (11:49 -0700)]
Merge pull request #10214 from pgavlin/TimeoutCrashDumps
Take crash dumps for timed-out tests.
Pat Gavlin [Thu, 16 Mar 2017 00:28:42 +0000 (17:28 -0700)]
Take crash dumps for timed-out tests.
This change updates the test infrastructure to collect crash dumps for
tests that time out. We've been seeing a number of tests that only time
out in CI (e.g. #10076); hopefully this will help us root-cause the
timeouts.
Stephen Toub [Thu, 16 Mar 2017 16:46:19 +0000 (12:46 -0400)]
Merge pull request #10164 from stephentoub/fs_pipe_crash
Ignore FileStream.FlushWriteBuffer failures during finalization
Jan Kotas [Thu, 16 Mar 2017 14:32:12 +0000 (07:32 -0700)]
Delete mscorlib facade (#10157)
Fixes #7607
Eric Erhardt [Thu, 16 Mar 2017 12:45:32 +0000 (07:45 -0500)]
Merge pull request #10177 from eerhardt/TZPosixNames
Support bracket enclosed names in TZ POSIX rules
Rahul Kumar [Thu, 16 Mar 2017 07:51:50 +0000 (00:51 -0700)]
Hide types which are now public in corefx (#10142)
Yuriy Solodkyy [Thu, 16 Mar 2017 04:55:53 +0000 (21:55 -0700)]
Minor fix to address ?: VC conformance improvement. (#10208)
Visual C++ has made some conformance changes to conditional operator
that will be available under /permissive- and which make the inference of
result type of the conditional operator in these 2 places ambiguous. This
happens because the class type in one of the arguments provides both: the
constructor from and the conversion operator to T - LCWSTR here.
Matt Mitchell [Thu, 16 Mar 2017 04:55:25 +0000 (21:55 -0700)]
Temporarily disable flaky sleep test (#10221)
Stephen Toub [Thu, 16 Mar 2017 04:55:11 +0000 (00:55 -0400)]
Fix Convert.FromBase64CharArray with empty array (#10224)
Evgeny Pavlov [Thu, 16 Mar 2017 04:30:37 +0000 (07:30 +0300)]
[x86/Linux] Fix NativeCallableTest (#10060)
* [x86/Linux] Fix NativeCallableTest
* Move m_cbActualArgSize adjustment outside if statement
* [x86/Linux] Adjust m_cbActualArgSize in case pStubMD == NULL
* [x86/Linux] Move m_cbActualArgSize calculation to #else part of '#ifdef _TARGET_X86_'
* [x86/Linux] Remove redundant computations, add comments for m_cbActualArgSize meaning
Eric Erhardt [Thu, 16 Mar 2017 04:25:55 +0000 (23:25 -0500)]
Merge pull request #10168 from eerhardt/PortablePDBs
Make portable PDBs on Unix instead of no symbols at all.
Rahul Kumar [Thu, 16 Mar 2017 04:11:22 +0000 (21:11 -0700)]
Enable use of Volatile<T> on arm64 to get correct memory consistency (#10212)
Jonghyun Park [Thu, 16 Mar 2017 04:05:56 +0000 (13:05 +0900)]
Clean up fcall.h (#10158)
Jonghyun Park [Thu, 16 Mar 2017 04:05:30 +0000 (13:05 +0900)]
Reorder stack arguments on reverse P/Invoke (#10217)
Hanjoung Lee [Thu, 16 Mar 2017 03:29:34 +0000 (12:29 +0900)]
[x86/Linux] Fix IL_STUB_PInvoke with RetBuf (#10144)
* [x86/Linux] Fix IL_STUB_PInvoke with RetBuf
Fix calling convention and IL_STUB_PInvoke for native functions
which was problematic for native functions that has
a RetBuf argument(struct size <= 8) on x86/Linux.
Fix #10027
William Godbe [Thu, 16 Mar 2017 01:16:25 +0000 (18:16 -0700)]
Merge pull request #10218 from dotnet/revert-10213-buildType
Revert "Add BuildType to helixpublish.proj"
William Godbe [Thu, 16 Mar 2017 01:16:06 +0000 (18:16 -0700)]
Merge pull request #10219 from dotnet/revert-10210-distroRid
Revert "Make user specify RID for publishing test native bins into"
William Godbe [Thu, 16 Mar 2017 01:15:56 +0000 (18:15 -0700)]
Revert "Make user specify RID for publishing test native bins into"
William Godbe [Thu, 16 Mar 2017 01:15:28 +0000 (18:15 -0700)]
Revert "Add BuildType to helixpublish.proj"
Rahul Kumar [Thu, 16 Mar 2017 00:46:48 +0000 (17:46 -0700)]
Merge pull request #9876 from sdmaclea/PR-ARM64-ForeignThreadExceptionsNative
[Arm64] Enable building ForeignThreadExceptionsNative
Rion Williams [Thu, 16 Mar 2017 00:38:04 +0000 (19:38 -0500)]
Fix ToTitleCase Functionality for Dutch Cultures (#10195)
* Add Methods to Handle Dutch Titlecasing
Added the `IsDutchCulture` and `IsIjAtCurrentPosition` methods to handle
resolving a special-case for Dutch titlecasing, which should properly
capitalize any instances of "IJ" at the beginning of a titlecased word.
* Moved `IsDutchCase()` Call Into Local Variable
Moved the check for Dutch culture outside of the title-loop to avoid unnecessary evaluations.
* Performance Changes and Improvements to Dutch Titlecasing
Removed `IsDutchCulture()` method in favor of an inline approach relying
on the `StartsWith()` method; Remove the `IsIjAtCurrentPosition()`
method in favor of another inline approach to improve performance.
* Minor Formatting Change
Added space for `isDutchCulture` line, as it managed to disappear somewhere along the way.
William Godbe [Thu, 16 Mar 2017 00:27:03 +0000 (17:27 -0700)]
Merge pull request #10213 from wtgodbe/buildType
Add BuildType to helixpublish.proj
wtgodbe [Thu, 16 Mar 2017 00:26:47 +0000 (17:26 -0700)]
Add BuildType to helixpublish.proj
Matt Mitchell [Thu, 16 Mar 2017 00:06:54 +0000 (17:06 -0700)]
Change CoreCLR to use Sierra (#10173)
* Switch to full 10.12
* Disable query performance counter test
William Godbe [Wed, 15 Mar 2017 23:06:35 +0000 (16:06 -0700)]
Merge pull request #10210 from wtgodbe/distroRid
Make user specify RID for publishing test native bins into
William Godbe [Wed, 15 Mar 2017 23:04:47 +0000 (16:04 -0700)]
Merge pull request #10206 from wtgodbe/MultiQueue
Add support for Multiqueing jobs in Helix
Atsushi Kanamori [Wed, 15 Mar 2017 22:52:05 +0000 (15:52 -0700)]
Migrate MethodBase.cs over to the shared partition. (#10202)
* Replace each member with CoreRt prose.
* Lightup IsConstructedGenericMethod
* Copy over CoreRt MethodBase.cs (this is now just a reordering)
* Move MethodBase.cs verbative over to shared partition.
* AAAAND.... it looks like this exercise exposed a bug in CoreRt.
* Resolved merge conflict
wtgodbe [Wed, 15 Mar 2017 22:49:20 +0000 (15:49 -0700)]
Make user specify RID for publishing test native bins into
Alex Perovich [Wed, 15 Mar 2017 22:42:02 +0000 (17:42 -0500)]
Move System.Convert code to shared partition (#10178)
* Move System.Convert code to shared partition
* Use ReferenceEquals for type equality
wtgodbe [Wed, 15 Mar 2017 21:39:41 +0000 (14:39 -0700)]
Add support for Multiqueing jobs in Helix
William Godbe [Wed, 15 Mar 2017 21:35:19 +0000 (14:35 -0700)]
Merge pull request #10196 from wtgodbe/fixHelix
Build Targeting Pack after restoring packages
cod7alex [Wed, 15 Mar 2017 20:13:26 +0000 (22:13 +0200)]
Added to .editorconfig csharp code style settings supported by VS 2017
Atsushi Kanamori [Wed, 15 Mar 2017 19:55:21 +0000 (12:55 -0700)]
Prepare MethodBase.cs for migration to shared partition. (#10194)
* Clone the files w/out changes.
* Distill each file to its intended subset.
* Minimize usings.
* Renamed to *.CoreClr.cs - extended free car wash to fix the nits.
wtgodbe [Wed, 15 Mar 2017 19:05:21 +0000 (12:05 -0700)]
Build Targeting Pack after restoring packages
Bruce Forstall [Wed, 15 Mar 2017 18:01:56 +0000 (11:01 -0700)]
Merge pull request #10166 from alpencolt/ryu-arm-arr-tests
Added Array tests to CodeGenBringUpTests
Swaroop Sridhar [Wed, 15 Mar 2017 17:40:25 +0000 (10:40 -0700)]
Add support for testing via ILLINK
Add support for testing via ILLINK
This commit has the following changes:
1) Setup the testing infrastructure to run the CoreCLR tests after linking through ILLinker
`runtest.cmd /link <path-to-illink.exe>`
2) The linker is taken as an argument for runtest.cmd, typically the corebuild of
https://github.com/mono/linker
3) Tests are run by linking the test binaries and all libraries except `System.Private.Corelib.dll`
4) For tests that use reflection, setup Reflection roots in source directories as `<test>.reflect.xml`
Eric Erhardt [Tue, 14 Mar 2017 17:49:43 +0000 (12:49 -0500)]
Support bracket enclosed names in TZ POSIX rules
The POSIX time zone rules at the end of a tzfile have been updated to allow digits, plus signs and minus signs in the time zone names by enclosing the name in `<` and `>` characters. TimeZoneInfo's parsing logic was written using an older version of the spec, so it didn't have support for this format.
Fix https://github.com/dotnet/corefx/issues/16962
Atsushi Kanamori [Wed, 15 Mar 2017 13:40:24 +0000 (06:40 -0700)]
Replace MemberInfo.cs with the CoreRt version and move to shared partition. (#10167)
* Move file verbatim.
* Port over CoreRT style sans reordering.
* Final replacement with CoreRt file.
Alexander Soldatov [Tue, 14 Mar 2017 13:34:39 +0000 (16:34 +0300)]
Added Array tests to CodeGenBringUpTests
Bruce Forstall [Wed, 15 Mar 2017 04:27:57 +0000 (21:27 -0700)]
Merge pull request #10145 from hqueue/arm/ryujit/shiftrotate_decomposed_long
[Ryujit/ARM32] Support shift and rotate for decomposed long
Andy Ayers [Wed, 15 Mar 2017 02:45:10 +0000 (19:45 -0700)]
JIT: preliminaries to improve types (#10172)
Refactor the logic in `impDevirtualizeCall` so that the part that determines
the type of a tree for ref types is now a new utility method that can be called
elsewhere.
Update the utility to examine calls more closely. For inline candidates that
return shared types, try and use the context to get to the unshared version of the
type. For calls that are not inline candidates, look at the type in the signature
available to the jit w/o context.
Call the utility when we've created a temp for an inlinee's argument and the
argument is not modified in the inlinee body. If we already thought we knew the
type of the temp exactly, ensure that this new information agrees.
Rework the logic in `impDevirtualizeCall` in anticipation of interface call
devirtualization. Update the diagnostic stream to indicate the kind of call
devirtualized and the primary reason why devirtualization happened.
Avoid fetching class and method names unless they're going to be used. Likewise
try not to fetch attributes if we already have them on hand.
Stephen Toub [Tue, 14 Mar 2017 23:59:24 +0000 (19:59 -0400)]
Merge pull request #9276 from benaadams/sealed-encodings
Support Encoding devirtualization
Jarret Shook [Tue, 14 Mar 2017 23:27:28 +0000 (16:27 -0700)]
Merge pull request #10152 from jashook/assert_pcodes_pcodesstart_lt_256
[Arm64] Always add UWC_END
Bruce Forstall [Tue, 14 Mar 2017 23:07:35 +0000 (16:07 -0700)]
Merge pull request #10023 from parjong/fix/clr_abi
Update CLR ABI PSPSym Section
Pat Gavlin [Tue, 14 Mar 2017 21:12:56 +0000 (14:12 -0700)]
Merge pull request #10171 from pgavlin/TestWrapperTimeouts
Do not wait on std{out,err} when a test times out.
William Godbe [Tue, 14 Mar 2017 20:49:08 +0000 (13:49 -0700)]
Merge pull request #10176 from wtgodbe/BuildToolsAgain
Update Buildtools Version
William Godbe [Tue, 14 Mar 2017 20:48:46 +0000 (13:48 -0700)]
Merge pull request #10175 from wtgodbe/NonWindowsTargetingPack
Copy Targeting Pack files into Core_Root for Non-Windows
Tarek Mahmoud Sayed [Tue, 14 Mar 2017 19:12:04 +0000 (12:12 -0700)]
Fix tz rules (#10169)
* Fix the TZ Rule data on Linux
On Linux when the caller ask for the TZ adjustment rules we convert the internal stored rule data from UTC to local time. we used to TZI.Convert which is wrong because calculating the start the daylight start time should always not include the daylight delta because we didn't start the daylight saving yet. and calculating the end of daylight should always include the daylight delta because we were in the daylight saving period.
The fix here is manually calculating the start and end of the daylight saving inside the rule
* Revert the comment change
* Add a comment
wtgodbe [Tue, 14 Mar 2017 19:10:29 +0000 (12:10 -0700)]
Update Buildtools Version
wtgodbe [Tue, 14 Mar 2017 19:01:57 +0000 (12:01 -0700)]
Copy Targeting Pack files into Core_Root for Non-Windows
Pat Gavlin [Tue, 14 Mar 2017 17:05:26 +0000 (10:05 -0700)]
Do not wait on std{out,err} when a test times out.
The test wrapper currently waits on each of the process, stdout copy,
and stderr copy in turn. This makes it difficult to determine whether
or not the test did in fact time out, as the time in which it may
write to its output streams is effectively twice or thrice the
time used to determine success or failure (i.e. the process wait
timeout). This can cause situations like what we've seen in #10076,
where the harness reports that the process timed out but the test's
output indicates a successful run.
This change only waits on stdout/stderr if the process completes within
the time allotted; otherwise it cancels the copies and promptly reports
the timeout.
jashook [Mon, 13 Mar 2017 23:15:10 +0000 (16:15 -0700)]
Fix #9457
To optimize code size we only added a UWC_END code if the last code in
uecMem does not equal UWC_END. However, the uec codes are variable sized
and allow any value to follow the code. Therefore, the value has the
small possibility to equal the value of UWC_END (0x4e on arm64
and 0xFF on arm32). Which incorrectly leaves the unwind array
unterminated.
Eric Erhardt [Tue, 14 Mar 2017 15:34:08 +0000 (10:34 -0500)]
Make portable PDBs on Unix instead of no symbols at all.
Stephen Toub [Tue, 14 Mar 2017 12:30:24 +0000 (08:30 -0400)]
Ignore FileStream.FlushWriteBuffer failures during finalization
Gaurav Khanna [Tue, 14 Mar 2017 04:56:44 +0000 (21:56 -0700)]
Merge pull request #10147 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25113-03, beta-25114-01, respectively (master)
Gaurav Khanna [Tue, 14 Mar 2017 04:56:31 +0000 (21:56 -0700)]
Merge pull request #9853 from hqueue/arm/ci_legs
[ARM/CI] Add manual triggering CI for arm and armel
Xiangyang (Mark) Guo [Tue, 14 Mar 2017 03:23:32 +0000 (20:23 -0700)]
Optimize Span.Clear() on AMD64 (#10110)
* optimize Span.Clear() by using initblk
dotnet-bot [Tue, 14 Mar 2017 02:18:16 +0000 (02:18 +0000)]
Update CoreClr, CoreFx to beta-25113-03, beta-25114-01, respectively
Bruce Forstall [Tue, 14 Mar 2017 02:06:40 +0000 (19:06 -0700)]
Merge pull request #10155 from BruceForstall/CallMorphDoc
Add documentation on RyuJIT call morphing
Aditya Mandaleeka [Tue, 14 Mar 2017 01:53:34 +0000 (18:53 -0700)]
Merge pull request #10153 from adityamandaleeka/remove_stress_thread
Remove STRESS_THREAD
Aditya Mandaleeka [Tue, 14 Mar 2017 01:42:57 +0000 (18:42 -0700)]
Merge pull request #10073 from adityamandaleeka/handle_types_to_enum_1
Replace HNDTYPE defines with enum
Bruce Forstall [Tue, 14 Mar 2017 01:33:43 +0000 (18:33 -0700)]
Add documentation on RyuJIT call morphing
Bruce Forstall [Tue, 14 Mar 2017 01:33:06 +0000 (18:33 -0700)]
Improve LIR dumping (#10140)
1. Use the LIR node dumper to display nodes to be generated by
codegen, since we're in LIR form at that point. Add a new
"prefix message" argument to allow "Generating: " to prefix all
such lines.
2. Fix off-by-one error in LIR dump due to `#ifdef` versus `#if`.
3. Remove extra trailing line for each LIR node. This interfered
with #1. But I always thought it was unnecessarily verbose; I don't
believe there is any ambiguity without that extra space.
4. Add dTreeLIR()/cTreeLIR() functions for use in the debugger.
William Godbe [Tue, 14 Mar 2017 01:26:46 +0000 (18:26 -0700)]
Merge pull request #10074 from wtgodbe/ProjectJson
Pick up new CoreFX packages and abandon old ones
Mike McLaughlin [Tue, 14 Mar 2017 01:17:43 +0000 (18:17 -0700)]
System.Diagnostics.Debugger.Break() should NOT be inlined. (#10151)
Breaks debugger tests.
Bruce Forstall [Tue, 14 Mar 2017 00:42:39 +0000 (17:42 -0700)]
Add changes to emitMaxStackDepth and fgPtrArgCntMax to JitDump (#10130)
It is useful to see when these are changing.
Bruce Forstall [Tue, 14 Mar 2017 00:42:08 +0000 (17:42 -0700)]
Convert GenTree* to GenTreeCall* as much as possible (#10132)
This simplifies reading the code, and improves the debugging experience.
Brian Sullivan [Tue, 14 Mar 2017 00:22:00 +0000 (17:22 -0700)]
Merge pull request #10113 from briansull/ibc-readytorun
Support for IBC profiling for ReadyToRun images
Aditya Mandaleeka [Thu, 9 Mar 2017 02:40:12 +0000 (18:40 -0800)]
Replace HNDTYPE defines with enum in gcinterface header.
Aditya Mandaleeka [Mon, 13 Mar 2017 23:17:24 +0000 (16:17 -0700)]
Remove STRESS_THREAD.
Bruce Forstall [Mon, 13 Mar 2017 23:32:15 +0000 (16:32 -0700)]
Build Linux altjit for x86 and amd64 (#10120)
Enable Windows hosted, Linux target amd64 altjit
With this change, we build a JIT that runs on Windows amd64
and targets Linux amd64, as an altjit named linuxnonjit.dll.
This is useful for debugging, or generating asm code or diffs.
You can even easily create Windows/non-Windows asm diffs
(either to compare the asm, or compare the generated code size).
For this to work, the JIT-EE interface method
getSystemVAmd64PassStructInRegisterDescriptor() was changed
to always be built in, by defining `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF`
in all AMD64 builds. The `_ITF` suffix indicates that this is
functionality specific to implementing the JIT-EE interface
contract. There were many places in the VM that used this
interchangeably with `FEATURE_UNIX_AMD64_STRUCT_PASSING`. Now,
`FEATURE_UNIX_AMD64_STRUCT_PASSING` means code in the VM needed
to implement this feature, but not required to implement the
JIT-EE interface contract. In particular, MethodTables compute
and cache the "eightbyte" info of structs when loading a type.
This is not done when only `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF`
is set, to avoid altering MethodTable behavior on non-Unix
AMD64 builds. Instead, if `getSystemVAmd64PassStructInRegisterDescriptor()`
is called on a non-Unix build (by the altjit), the `ClassifyEightBytes()`
function is called, and nothing is cached. Hopefully (though it was
hard for me to guarantee by observation), calling `ClassifyEightBytes()`
does not have any side effects on MethodTables. It doesn't really matter,
since if called for altjit, we don't care too much about running.
The previously used `PLATFORM_UNIX` define is now insufficient.
I introduced the `#define` macros `_HOST_UNIX_` to indicate the
JIT being built will run on Unix, and `_TARGET_UNIX_` to indicate
the JIT is generating code targeting Unix. Some things were
converted to use the `UNIX_AMD64_ABI` define, which makes more
sense.
Bruce Forstall [Mon, 13 Mar 2017 23:17:18 +0000 (16:17 -0700)]
Merge pull request #10129 from BruceForstall/AdjustStackLevel
Move adjustments to genStackLevel into functions
William Godbe [Mon, 13 Mar 2017 23:13:00 +0000 (16:13 -0700)]
Merge pull request #10150 from wtgodbe/SupplementalPayload
Re-insert Supplemental Payload into Helix payload
wtgodbe [Wed, 22 Feb 2017 20:35:27 +0000 (12:35 -0800)]
Pick up new CoreFX packages and abandon old ones
wtgodbe [Mon, 13 Mar 2017 21:51:39 +0000 (14:51 -0700)]
Re-insert Supplemental Payload into Helix payload
Pat Gavlin [Mon, 13 Mar 2017 19:59:49 +0000 (12:59 -0700)]
Merge pull request #10072 from pgavlin/gh10022
Fix some cross-thread memory accesses in a JIT test.
Brian Sullivan [Wed, 8 Mar 2017 02:58:11 +0000 (18:58 -0800)]
Work for IBC profiling with ReadyToRun images
Incremented ReadyToRun version to 2.2
Implemented caching for IsInstrumented using IS_INSTRUMENTED_UNSET
Added method Module::InitializeForProfiling()
Added full support for method profile counts in ReadyToRun image
Tanner Gooding [Mon, 13 Mar 2017 19:08:20 +0000 (12:08 -0700)]
Merge pull request #10092 from tannergooding/vs2017
Updating tests/runtest.cmd to use delayed expansion for instances of `_msbuildexe`
Rich Lander [Mon, 13 Mar 2017 18:35:35 +0000 (11:35 -0700)]
Add 3PN entry (#10146)
Michelle McDaniel [Mon, 13 Mar 2017 18:09:48 +0000 (11:09 -0700)]
Merge pull request #10090 from adiaaida/crossgenAllAssemblies
Crossgen all assemblies for throughput perf
Bruce Forstall [Mon, 13 Mar 2017 16:38:39 +0000 (09:38 -0700)]
Merge pull request #10083 from hqueue/arm/ryujit/decomposed_long_fix
[Ryujit/ARM32] Fix wrong comparion