John Chen [Fri, 18 Mar 2016 22:48:41 +0000 (15:48 -0700)]
Add documentation for CrossGen
Sergiy Kuryata [Sun, 20 Mar 2016 23:39:36 +0000 (16:39 -0700)]
Merge pull request #3563 from adityamandaleeka/threading_test_port_2
Open source even more threading tests
Aditya Mandaleeka [Sun, 20 Mar 2016 03:53:43 +0000 (20:53 -0700)]
Move all new tests to Pri 1.
Aditya Mandaleeka [Sat, 19 Mar 2016 17:46:26 +0000 (10:46 -0700)]
Add waitallex8 and waitallex8a to x86 legacy issues.
Aditya Mandaleeka [Fri, 18 Mar 2016 18:16:45 +0000 (11:16 -0700)]
Delete tests that rely on Thread Abort functionality
Aditya Mandaleeka [Tue, 15 Mar 2016 23:03:33 +0000 (16:03 -0700)]
Update project.json files.
Aditya Mandaleeka [Mon, 7 Mar 2016 23:35:14 +0000 (15:35 -0800)]
Add some new threading tests to testsUnsupportedOutsideWindows
Aditya Mandaleeka [Mon, 7 Mar 2016 23:16:27 +0000 (15:16 -0800)]
Open source more threading tests.
Sergiy Kuryata [Sat, 19 Mar 2016 23:37:29 +0000 (16:37 -0700)]
Merge pull request #3831 from dotnet-bot/from-tfs
Merge changes from TFS
John Chen [Sat, 19 Mar 2016 16:53:24 +0000 (09:53 -0700)]
Fix a CrossGen CreatePDB issue that caused a Windows build break
CrossGen /CreatePDB command gives preference to the TPA list while loading assemblies. So if the TPA contains the IL version of the input assembly but not the NI version, we would end up loading the IL instead of NI. This causes the CreatePDB command to fail, since it can't operate on IL images. This is fixed by putting the input file as the first entry in the TPA list.
Another issue is when the above error does occur, the error message is very unclear (it only shows "Unspecified error"). This is fixed with a better error message.
[tfs-changeset:
1587876]
Kyungwoo Lee [Sat, 19 Mar 2016 04:22:01 +0000 (21:22 -0700)]
Merge pull request #3810 from kyulee1/FixPath
ARM64: Prepend toolset path
Sejong Oh [Sat, 19 Mar 2016 02:23:15 +0000 (19:23 -0700)]
Merge pull request #3655 from sejongoh/fix_u64_to_f64_cast
Fix inconsistent uint64-to-double cast
Brian Sullivan [Fri, 18 Mar 2016 23:35:31 +0000 (16:35 -0700)]
Merge pull request #3813 from briansull/update-tests-lst
ARM64: Native test build - Update Tests.lst with passing/failing Interop tests
Sejong OH [Fri, 11 Mar 2016 07:30:23 +0000 (23:30 -0800)]
Fix inconsistent uint64-to-double cast
Jan Vorlicek [Fri, 18 Mar 2016 22:37:56 +0000 (23:37 +0100)]
Merge pull request #3812 from janvorli/fix-stub
Fix instantiating stub for methods of value types
Brian Sullivan [Fri, 18 Mar 2016 22:23:10 +0000 (15:23 -0700)]
Removing Tests.sav
Brian Sullivan [Fri, 18 Mar 2016 22:10:00 +0000 (15:10 -0700)]
Updated one UNSTABLE test
Brian Sullivan [Fri, 18 Mar 2016 22:09:17 +0000 (15:09 -0700)]
Merge branch 'master' into update-tests-lst
Jan Vorlicek [Fri, 18 Mar 2016 21:31:30 +0000 (22:31 +0100)]
Merge pull request #3809 from wtgodbe/utf8
Ported managed Utf8/Unicode encoder/decoder to C++ for usage in PAL
Brian Sullivan [Fri, 18 Mar 2016 20:08:35 +0000 (13:08 -0700)]
Update with passing Interop tests
Kyungwoo Lee [Fri, 18 Mar 2016 19:41:04 +0000 (12:41 -0700)]
ARM64: Prepend toolset path
Currently ARM64 build requires a plain CMD environment which often causes
a trouble when we use a different CMD or other native tools are in the path.
The fix is to simply prepend the tool path instead of appending it.
Jan Vorlicek [Fri, 18 Mar 2016 14:46:20 +0000 (15:46 +0100)]
Fix instantiating stub for methods of value types
This change fixes a problem with instantiating stubs for methods of value types.
The problem was that the CreateInstantiatingILStub didn't take into account the
fact that methods of value types need to have "this" passed "byref".
The issue manifested itself as a rare corruption of references in array of structs
that were thin wrappers for string reference during GC stack scan. GC thought that
the reference to an array entry is an object reference that starts with method table.
GC marks method table pointers by setting their bit zero to 1. But in this case,
it has accidentally modified an object reference instead and a test was crashing
with wrong object address.
The root cause of the problem is that the instantiating stubs were placed on a global
singleton reference class no matter whether the target method was on a reference class
or a value type.
I have fixed it by putting the stubs on the instantiated target generic type instead.
William Godbe [Thu, 21 Jan 2016 23:14:48 +0000 (15:14 -0800)]
Ported managed Utf8/Unicode encoder/decoder to C++ for usage in PAL
Matt Mitchell [Fri, 18 Mar 2016 17:32:26 +0000 (10:32 -0700)]
Merge pull request #3808 from mmitche/arm64-cross-label
Update label for arm and arm64 cross builds on Ubuntu
Matt Mitchell [Fri, 18 Mar 2016 17:23:13 +0000 (10:23 -0700)]
Update label for arm and arm64 cross builds on Ubuntu
Update the label to the newer image which contains the required rootfs.
Jan Kotas [Fri, 18 Mar 2016 16:22:23 +0000 (09:22 -0700)]
Merge pull request #3757 from leemgs/upstream-crossgen-skip-for-arm
The architecture of host pc must be same architecture with target.
Andy Ayers [Fri, 18 Mar 2016 14:55:10 +0000 (07:55 -0700)]
Merge pull request #3799 from AndyAyersMS/AdjustInlineObservations
Inliner: make more observations unconditional
Geunsik Lim [Wed, 16 Mar 2016 13:42:14 +0000 (22:42 +0900)]
Architecture of host must be compitable architecture with target.
Let's make exception handling for different architecture between
host pc and target board during build-time.
V3:
- Simplify the existing 'if' statement
V2:
- Added $HostArch variable to handle the required architectures.
V1:
- Handle "time ./build.sh arm debug clean verbose" command
in case that generate only mscorlib.dll for Linux/ARM as well as the
existing case of if [ $__CrossBuild != 1 ]
In this case, we need to add additional if statements because the
architecture of host pc must be same architecture with target.
Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
Jan Kotas [Fri, 18 Mar 2016 12:44:46 +0000 (05:44 -0700)]
Merge pull request #3801 from dotnet-bot/from-tfs
Merge changes from TFS
Kyungwoo Lee [Fri, 18 Mar 2016 11:12:20 +0000 (04:12 -0700)]
Merge pull request #3796 from kyulee1/fixalignchk
Fix Stack Alignment Check
Mike McLaughlin [Fri, 18 Mar 2016 04:37:09 +0000 (21:37 -0700)]
Merge pull request #3783 from mikem8361/fixsosbp
Fixed problem with bpmd not working sometimes.
Jan Kotas [Fri, 18 Mar 2016 03:24:10 +0000 (20:24 -0700)]
Merge pull request #3745 from manu-silicon/docs
Ensure proper spelling of COMPlus_xxx environment variables
Jan Kotas [Fri, 18 Mar 2016 03:17:27 +0000 (20:17 -0700)]
Merge pull request #3797 from svick/patch-2
Update out of date comment in List<T>
Jan Kotas [Fri, 18 Mar 2016 00:32:11 +0000 (17:32 -0700)]
Add back some APIs needed by legacy test runner, for now
[tfs-changeset:
1586974]
Kyungwoo Lee [Thu, 17 Mar 2016 14:33:10 +0000 (07:33 -0700)]
Fix Stack Alignment Check
This fixes https://github.com/dotnet/coreclr/issues/3747.
If JIT saves the first single store (not pair store) with stack adjustment
required (```spDelta != 0```), we expect the offset to be 8 to account for alignment.
This API ```genPrologSaveReg``` is invoked twice from INT and FP saving respectively
while JIT stores/allocates stacks once for these saving registers back to back.
So, the assertion is not quite right. For instance when we have 1 INT and
1 FP registers to be saved, JIT failed to assert the offset to be 8 in the
first invocation for INT. In fact, for this case, the offset should be 0
(no alignment is required) since we store 2 registers which are already
aligned on 16 byte.
We should consider whether or not the total number of saved registers is odd.
Not only that, even for the pair store, we should assert the offset either
0 or 8 depending on the total number of saved registers. For instance, 2
INT and 3 FP, we want the offset to be 8 when we store the first pair with
stack adjustment required (```spDelta != 0```).
I refactored the code to reflect this issue in ```genSaveCalleeSavedRegistersHelp``` while taking out the
existing assertion in ```genPrologSaveReg``` which is too local.
Similar change is made for the restore case.
Brian Sullivan [Thu, 17 Mar 2016 23:30:18 +0000 (16:30 -0700)]
Merge pull request #3749 from briansull/update-tests-lst
Enable running of the full Pri0 and Pri1 set of tests
Brian Sullivan [Tue, 15 Mar 2016 01:23:05 +0000 (18:23 -0700)]
Enable running of the full Pri0 and Pri1 set of tests
Updated with EXPECTED_PASS and EXPECT_FAIL
Marked 50 test with NEW_PASS that will pass after the next test update
Fixed the location of 5 the threadstatic tests
Andy Ayers [Thu, 17 Mar 2016 20:46:13 +0000 (13:46 -0700)]
Inliner: make more observations unconditional
There are still some observations within `fgFindJumpTargets` that are
only made when inlining. This change enables them to also be made for
the prejit root case. This partially addresses the inconsistencies
noted in #3482.
Most notably, the simple stack model is now fully enabled for the
prejit root case, and the policy is able to more broadly observe
things like `CALLEE_LOOKS_LIKE_WRAPPER` and
`CALLEE_ARG_FEEDS_CONSTANT_TEST`. As before, the `LegacyPolicy`
ignores these observations for the prejit root. Forthcoming policies
will likely behave differently.
Two observations that were fatal -- `CALLEE_UNSUPPORTED_OPCODE` and
`CALLEE_STORES_TO_ARGUMENT` -- are now conditionally fatal, since they
do not cause failure for the prejit root case (though arguably they
should).
The `CALLEE_IS_MOSTLY_LOAD_STORE` observation has been removed, and
the conditions under which it fired have been encapsulated within the
`LegacyPolicy`.
No change in behavior is expected. I verified crossgen of mscorlib
still makes all the same inline decisions for the same reasons.
Rahul Kumar [Thu, 17 Mar 2016 23:14:46 +0000 (16:14 -0700)]
Merge pull request #3781 from rahku/helixFix
Update buildtools version. Shorten filename of tests
Matt Ellis [Thu, 17 Mar 2016 22:46:15 +0000 (15:46 -0700)]
Merge pull request #3798 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 17 Mar 2016 21:58:42 +0000 (14:58 -0700)]
Merge pull request #3793 from jkotas/hostprotectionattribute
Add back HostProtectionAttribute to mscorlib
Petr Onderka [Mon, 14 Mar 2016 15:53:42 +0000 (16:53 +0100)]
Update out of date comment in List<T>
Comment for parameterless constructor of List<T> claimed that
the default non-zero capacity was 16, even though _defaultCapacity
is actually 4.
Updated the comment to refer to _defaultCapacity,
to make sure it doesn't need to be updated again
if _defaultCapacity changes in the future.
Matt Ellis [Thu, 17 Mar 2016 21:36:55 +0000 (14:36 -0700)]
Use "debian.8" instead of "debian.8.2"
CoreFX uses "debian.8" as the rid for debain packages, whereas CoreCLR
was still on "debian.8.2". Move to "debian.8" because it matches what's
in /etc/os-release and what the CLI will generate by default.
[tfs-changeset:
1586899]
Rahul Kumar [Thu, 17 Mar 2016 01:25:02 +0000 (18:25 -0700)]
Update buildtools version. Shorten filename of tests
Jan Kotas [Thu, 17 Mar 2016 18:21:55 +0000 (11:21 -0700)]
Add back HostProtectionAttribute to mscorlib
Andy Ayers [Thu, 17 Mar 2016 17:56:03 +0000 (10:56 -0700)]
Merge pull request #3780 from AndyAyersMS/DiscretionaryInliner
Inliner: create DiscretionaryPolicy
William Godbe [Thu, 17 Mar 2016 17:31:51 +0000 (10:31 -0700)]
Merge pull request #3790 from wtgodbe/timeout
Increase timeouts for R2R jobs to 4 hours. Also enable mistakenly disabled CentOS R2R jobs
Sejong Oh [Thu, 17 Mar 2016 17:29:10 +0000 (10:29 -0700)]
Merge pull request #3770 from sejongoh/fix_setup_runtime_dep_cmd
Fix setup-runtime-dependencies.cmd
Matt Mitchell [Thu, 17 Mar 2016 17:24:52 +0000 (10:24 -0700)]
Merge pull request #3782 from sergiy-k/runtestsfix2
Patch runtest.sh to skip netstandard15aot assemblies
wtgodbe [Thu, 17 Mar 2016 17:17:18 +0000 (10:17 -0700)]
Increase timeouts for R2R jobs to 4 hours. Also enable mistakenly disabled CentOS R2R jobs
Jarret Shook [Thu, 17 Mar 2016 17:16:29 +0000 (10:16 -0700)]
Merge pull request #3786 from jashook/arm64_ci_timeouts
Arm64 Windows timeout increase
William Godbe [Thu, 17 Mar 2016 17:08:38 +0000 (10:08 -0700)]
Merge pull request #3773 from wtgodbe/WindowsPri1
Switch default Windows x64 Release PR test to pri1 in CI
jashook [Thu, 17 Mar 2016 14:57:30 +0000 (07:57 -0700)]
Arm64 Windows timeout increase
Currently the arm64 ci is timing out at 2 hours. When this happens the arm64 machines are left in a undefined state. Increasing the timeout to avoid this.
Mike McLaughlin [Wed, 16 Mar 2016 04:38:28 +0000 (21:38 -0700)]
Fixed problem with bpmd not working sometimes.
Fix some too earlier SOS initialization problem. Now returns an error.
The DAC interface (IXCLRDataProcess) was being created everytime an command was run and the JIT and GC notification tables where being reinitialized each time losing any JIT notifications needed to resolve a breakpoint. Only create the DAC interface instance once. It does need to be flushed each time sos is entered though.
Enable the module load and unload and exception callbacks when the DAC instance is created. This is what windbg does on Windows (along with flushing the DAC each time the target is restarted). It simplifies the breakpoint code; it no longer needs to enable/disable these notification flags.
Cleaned up places where the DAC instance (direct calls to LoadClrDebugDll) and not released properly.
Jarret Shook [Thu, 17 Mar 2016 15:02:49 +0000 (08:02 -0700)]
Merge pull request #3771 from jashook/smarty_scripts
Add lst_creator tool and smarty output parser
Jan Kotas [Thu, 17 Mar 2016 07:46:21 +0000 (00:46 -0700)]
Merge pull request #3777 from dotnet-bot/from-tfs
Merge changes from TFS
Rahul Kumar [Thu, 17 Mar 2016 06:25:11 +0000 (23:25 -0700)]
Merge pull request #3774 from rahku/Helix
Add xunit console runner dependency
Sergiy Kuryata [Thu, 17 Mar 2016 03:38:30 +0000 (20:38 -0700)]
Patch runtest.sh to skip netstandard15aot assemblies.
Rama krishnan Raghupathy [Thu, 17 Mar 2016 02:02:33 +0000 (19:02 -0700)]
Merge pull request #3740 from ramarag/createlayouts
Creates RunTime Dependency Layout as a seperate step
Brian Sullivan [Thu, 17 Mar 2016 01:40:06 +0000 (18:40 -0700)]
Merge pull request #3779 from briansull/issue-3778
Fix for Issue 3778
Andy Ayers [Wed, 16 Mar 2016 23:02:54 +0000 (16:02 -0700)]
Inliner: create DiscretionaryPolicy
The `DiscretionaryPolicy` is similar to the `LegacyPolicy`, but does not
use size limits. So there is no "always" inline class and no "too big to
inline" class. Also, discretionary failures do not trigger noinline
stamping.
It is installed if `JitInlinePolicyDiscretionary` is set nonzero.
See #3775 for some background on where this new policy will be used.
This is a first cut and further refinement is likely.
Also removed the unused `NoteDouble` methods since the double-valued
observations now are kept internally within `LegacyPolicy` and it's
not very likely we'll introduce new cases where doubles are needed.
Rahul Kumar [Wed, 16 Mar 2016 22:51:49 +0000 (15:51 -0700)]
Add xunit console runner dependency
Manu [Thu, 17 Mar 2016 00:05:15 +0000 (09:05 +0900)]
Update version based on new content of clrconfigvalues.h
Sejong Oh [Tue, 15 Mar 2016 20:56:41 +0000 (13:56 -0700)]
Fix setup-runtime-dependencies.cmd
Brian Sullivan [Wed, 16 Mar 2016 23:47:42 +0000 (16:47 -0700)]
Merge branch 'master' into issue-3778
Brian Sullivan [Wed, 16 Mar 2016 23:45:28 +0000 (16:45 -0700)]
Fix issue 3778
Move the initialization of compGenTreeID to earlier in Compiler::compCompileHelper
Jan Kotas [Wed, 16 Mar 2016 23:04:10 +0000 (16:04 -0700)]
Remove unused files from CoreCLR
[tfs-changeset:
1586532]
Andy Ayers [Wed, 16 Mar 2016 22:59:39 +0000 (15:59 -0700)]
Merge pull request #3762 from AndyAyersMS/FixInconsistentPolicy
Use root compiler instance for inline result and policy
wtgodbe [Wed, 16 Mar 2016 22:24:50 +0000 (15:24 -0700)]
Switch default Windows x64 Release PR test to pri1 in CI
jashook [Wed, 16 Mar 2016 02:23:20 +0000 (19:23 -0700)]
Add lst_creator tool and smarty output parser
Jarret Shook [Wed, 16 Mar 2016 21:33:12 +0000 (14:33 -0700)]
Merge pull request #3751 from jashook/arm64_enable_dbg_chk
Remove release only check.
Jan Kotas [Wed, 16 Mar 2016 20:52:22 +0000 (13:52 -0700)]
Merge pull request #3752 from dotnet-bot/from-tfs
Merge changes from TFS
Andy Ayers [Wed, 16 Mar 2016 17:50:51 +0000 (10:50 -0700)]
Use root compiler instance for inline result and policy
When constructing an InlineResult (and subsequent InlinePolicy)
always use the root compiler instance, so that all policy evaluations
done in a method are consistent.
Add an assert that the initial fact replay during `fgFindJumpTargets`
(force inline state and code size) doesn't change the candidacy when
inlining -- it should just be re-establishing what we knew in the
initial candidate scan.
Closes #3760.
Kyungwoo Lee [Wed, 16 Mar 2016 20:13:33 +0000 (13:13 -0700)]
Merge pull request #3761 from kyulee1/fixstack
ARM64: Fix Large Stack Allocation
Kyungwoo Lee [Wed, 16 Mar 2016 16:39:47 +0000 (09:39 -0700)]
ARM64: Fix Large Stack Allocation
This fixes https://github.com/dotnet/coreclr/issues/3666.
When frame size is greater than 512 (frametype=3), JIT saves
callee-save registers followed by var arg registers, and then handles the
remaining frames. When the first callee-save register is saved, the stack
size is expected to be grown including delta amount which is for var arg registers.
For this failing case, actually we don't have any callee-save registers to be
saved while we still need to home var arg registers.
This fix is to handle such case in
```genSaveCalleeSavedRegistersHelp/genRestoreCalleeSavedRegistersHelp``` to
ensure allocating/deallocating delta stack size.
Gaurav Khanna [Wed, 16 Mar 2016 19:02:09 +0000 (12:02 -0700)]
Merge pull request #3758 from gkhanna79/TestGCStress
Enable tests to run under a specified GCStress mode
Jan Kotas [Wed, 16 Mar 2016 18:58:14 +0000 (11:58 -0700)]
Merge pull request #3755 from jkotas/failing-tests
Disable tests that are failing in CI on Unix
Jan Kotas [Wed, 16 Mar 2016 11:24:16 +0000 (04:24 -0700)]
Disable tests that are failing in CI on Unix
Andy Ayers [Wed, 16 Mar 2016 16:29:29 +0000 (09:29 -0700)]
Merge pull request #3697 from AndyAyersMS/RandomInliner
Random inliner
Davis Goodin [Wed, 16 Mar 2016 16:04:41 +0000 (11:04 -0500)]
Merge pull request #3743 from dagood/remove-nugetbuild-source
Remove nugetbuild myget feed
Gaurav Khanna [Wed, 16 Mar 2016 09:58:22 +0000 (02:58 -0700)]
Enable tests to run under a specified GCStress mode
Kyungwoo Lee [Wed, 16 Mar 2016 14:30:38 +0000 (07:30 -0700)]
Merge pull request #3742 from kyulee1/fixgchole2
ARM64: Revisit for Fix GC hole in indirect call site
Jan Kotas [Wed, 16 Mar 2016 11:15:44 +0000 (04:15 -0700)]
Merge pull request #3656 from leemgs/upstream-calling-convention-cdecl
Remove __cdecl__ calling convention for [-Werror,-Wignored-attributes]
Jan Kotas [Wed, 16 Mar 2016 11:14:25 +0000 (04:14 -0700)]
Merge pull request #3725 from leemgs/upstream-doc-cross-arm
Documentation: Compiling mscorlib for ARM Linux
Geunsik Lim [Wed, 16 Mar 2016 07:33:25 +0000 (16:33 +0900)]
Remove __cdecl__ calling convention for [-Werror,-Wignored-attributes]
The cross build for Linux/ARM is broken while doing the compilation
by the [-Werror,-Wignored-attributes] policy of the cross compiler.
Let's remove __cdecl__ calling convention from ./test/src/Interop folder
by handling __cdecl macro handling in xplatform.h for Linux/ARM.
Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
Geunsik Lim [Tue, 15 Mar 2016 13:44:06 +0000 (22:44 +0900)]
Documentation: Compiling mscorlib for ARM Linux
Let's update the out-of-date contents of mscorlib.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Jan Kotas [Wed, 16 Mar 2016 02:46:34 +0000 (19:46 -0700)]
Prune Windows mscorlib
In model.xml, I went over:
- FEATURE_ conditions that are disabled on Unix
- FEATURE_ conditions related to NetCF
- All ApiFxInternal methods
And flipped most them either to public, ImplRoot or deleted them.
Testing: Run all open CoreCLR and CoreFX tests, built legacy build razzle
[tfs-changeset:
1586209]
jashook [Wed, 16 Mar 2016 02:24:17 +0000 (19:24 -0700)]
Remove release only check.
Allows debug and checked builds to run tests on arm64 machines.
Manu [Wed, 16 Mar 2016 01:44:44 +0000 (10:44 +0900)]
Update code to use COMPlus_ instead of COMPLUS_ when referencing knobs
Sivarv [Wed, 16 Mar 2016 01:03:21 +0000 (18:03 -0700)]
Merge pull request #3737 from sivarv/bugFix
Fix to issue #3734 - a block with jump kind BBJ_RETURN could also be empty if the method's return type is TYP_VOID
Manu [Wed, 16 Mar 2016 00:32:34 +0000 (09:32 +0900)]
Ensure proper spelling of COMPlus_xxx environment variables
Rama Krishnan Raghupathy [Tue, 15 Mar 2016 21:48:36 +0000 (14:48 -0700)]
Creates RunTime Dependency Layout as a seperate step
Rahul Kumar [Wed, 16 Mar 2016 00:12:15 +0000 (17:12 -0700)]
Merge pull request #3700 from rahku/updateBuildTools
Update buildtools version to 00198
Gaurav Khanna [Wed, 16 Mar 2016 00:03:25 +0000 (17:03 -0700)]
Merge pull request #3739 from gkhanna79/FixRTJson
Fix runtime.json to include all platforms in the redirection package.…
Davis Goodin [Tue, 15 Mar 2016 23:49:23 +0000 (18:49 -0500)]
Remove nugetbuild myget feed from package restore.
Kyungwoo Lee [Sat, 12 Mar 2016 07:51:46 +0000 (23:51 -0800)]
ARM64: Revisit for Fix GC hole in indirect call site
This fixes https://github.com/dotnet/coreclr/issues/3738.
The fix I made in
https://github.com/dotnet/coreclr/commit/
4dfd323dab88b902fc9479efa60cb5d6b7659e94
used 3rd/4th operand to keep GC info, which actually conflicts with
address field which is unioned with these operands.
So, I go back to the original fix that I proposed below:
Indirect call (```br``` or ```blr```) target is encoded with a register
which the first operand internally represents.
Unfortunately, call sites use the first two operands to hold GC callee-save registers.
So, this GC register information was overridden by the call target operand
in the indirect(virtual) call sites.
The fix is to split branch instruction categories for these two instructions
while keeping ```ret``` same as before. They internally use the third
operand to encode the target since the first two are used for GC info.
The reason I didn't change ```ret``` is because the return instruction
is created as a small instruction (not using operand 3 and more).
William Godbe [Tue, 15 Mar 2016 22:30:20 +0000 (15:30 -0700)]
Merge pull request #3741 from wtgodbe/r2r
Fix file-too-long errors caused by adding R2R tests to CI
wtgodbe [Tue, 15 Mar 2016 21:56:16 +0000 (14:56 -0700)]
Fix file-too-long errors caused by adding R2R tests to CI
sivarv [Tue, 15 Mar 2016 20:23:29 +0000 (13:23 -0700)]
Fix to issue #3734
Andy Ayers [Fri, 11 Mar 2016 02:03:15 +0000 (18:03 -0800)]
Random inliner
This change creates an inline RandomPolicy which assigns a random
benefit to each discretionary inline candidate. Force inlines are
honored as they are with LegacyPolicy. The pool of discretionary
candidates is widened to include the "always inline" cases from the
LegacyPolicy. Discretionary inlines are accepted with a likelihood
that decreases with IL size, in a manner that mirrors the acceptance
probability of the LegacyPolicy.
The random inliner is intended to be used mainly as a stress testing
tool.
The RandomPolicy is enabled in non-retail builds when `JitStress` is
set to a nonzero value. By default the RandomPolicy will be used for
50% of the method being compiled, and the LegacyPolicy (in stress mode)
for the other 50%. Which policy is used for a given method depends on
the stress value. The stress value also forms part of the random seed,
so different random patterns can be invoked by varying the `JitStress`
value.
To enable the RandomPolicy for all methods, set `JitStress` to something
nonzero, then set `JitStressModeName=STRESS_RANDOM_INLINE`.
To do this without also enabling other stress modes, set `JitStressModeNameOnly=1'.