platform/upstream/dotnet/runtime.git
8 years agoInliner: implement FullPolicy
Andy Ayers [Wed, 27 Apr 2016 02:54:33 +0000 (19:54 -0700)]
Inliner: implement FullPolicy

The FullPolicy will be used to grow maximal potential inline trees
for methods. It inlines all legal candidates subject to depth and
size limits. Add a config flag to select this as the policy to use.

Also add a config flag so the inline depth limit becomes adjustable,
and rework the code so that checking this limit is now a matter of
policy.  Add in an implementation max depth limit of 1000.

Revise names of some statics to make their intent clearer, and add some
missing header comments.

Commit migrated from https://github.com/dotnet/coreclr/commit/8bed64ec2b36608367fc8c075b796b1bd34ab89f

8 years agoMerge pull request dotnet/coreclr#4587 from BruceForstall/FixCkFinite
Bruce Forstall [Wed, 27 Apr 2016 16:34:54 +0000 (09:34 -0700)]
Merge pull request dotnet/coreclr#4587 from BruceForstall/FixCkFinite

Fix ckfinite for doubles for RyuJIT/x86

Commit migrated from https://github.com/dotnet/coreclr/commit/1da89fe00fa48d589c4817093497bf8bfcfdc34a

8 years agoFix issue 4367 where file description of native tools is wrong (dotnet/coreclr#4598)
Jose Perez Rodriguez [Wed, 27 Apr 2016 15:59:04 +0000 (08:59 -0700)]
Fix issue 4367 where file description of native tools is wrong (dotnet/coreclr#4598)

Fix issue 4367 where file description of native tools is wrong

Commit migrated from https://github.com/dotnet/coreclr/commit/59fcb93d6ca5df0caee211b77a8e902f6f806c62

8 years agoMerge pull request dotnet/coreclr#4613 from AndyAyersMS/InlineTreeXML
Andy Ayers [Wed, 27 Apr 2016 15:55:39 +0000 (08:55 -0700)]
Merge pull request dotnet/coreclr#4613 from AndyAyersMS/InlineTreeXML

Update inline xml so it's deserializable

Commit migrated from https://github.com/dotnet/coreclr/commit/133afaa3726e19b18b1c1c68d5e746b2a4405190

8 years agoFix ckfinite for doubles for RyuJIT/x86
Bruce Forstall [Tue, 26 Apr 2016 05:31:02 +0000 (22:31 -0700)]
Fix ckfinite for doubles for RyuJIT/x86

On x86, we can't simply load a double from an xmm reg into a
64-bit integer register. It turns out we only need the high
32 bits for the instruction. But there is no SSE2 instruction
to copy just those bits to the integer registers. So, first,
to a shuffle to swap the first 32 and 2nd 32 bits in the xmm
register. Then, do the xmm2i mov and ckfinite check. Then,
swap the bits back into the original locations so we can return
the correct value in the target register.

Fixes dotnet/coreclr#3549.

Commit migrated from https://github.com/dotnet/coreclr/commit/981f152bcd1fb8d7a28a341aa40e1b17112bad06

8 years agoUpdate inline xml so it's deserializable
Andy Ayers [Wed, 27 Apr 2016 01:42:53 +0000 (18:42 -0700)]
Update inline xml so it's deserializable

Add some elements for sequences of children. Make everything
an element for now. Add header and footer.

Commit migrated from https://github.com/dotnet/coreclr/commit/a5d49c4578835b5ef3797935270a74ce69f981a3

8 years agoMerge pull request dotnet/coreclr#4502 from seanshpark/arm_sos_with_lldb38
Mike McLaughlin [Tue, 26 Apr 2016 23:56:44 +0000 (16:56 -0700)]
Merge pull request dotnet/coreclr#4502 from seanshpark/arm_sos_with_lldb38

ARM, SOS: Fix libsos.so load fail and changes for SOS to work with ARM-Linux

Commit migrated from https://github.com/dotnet/coreclr/commit/18268beae931cbd4d110959ea53d785b193eceb1

8 years agoARM, SOS: Fix fail to load libsos.so while debugging with lldb
SaeHie Park [Fri, 22 Apr 2016 06:36:28 +0000 (15:36 +0900)]
ARM, SOS: Fix fail to load libsos.so while debugging with lldb

Related issue: dotnet/coreclr#4428
With minor fix for ARM compile in SOS

ARM: Fix ARM-Linux in SOS with lldb

Fix ARM architecture type in SOS so that it works for ARM-Linux.
Before this patch, lldb stops with architecture not supported.
SOS ARM-Linux works with LLDB-3.8 and higher.
Actual SOS commands for ARM may need testing and fixing.

Commit migrated from https://github.com/dotnet/coreclr/commit/8c808737cacc0a361186022a25915701b64c7ab4

8 years agoARM: Add Ubuntu Codename vivid, wily for arm-linux image (dotnet/coreclr#4258)
SaeHie Park [Tue, 26 Apr 2016 23:07:18 +0000 (08:07 +0900)]
ARM: Add Ubuntu Codename vivid, wily for arm-linux image (dotnet/coreclr#4258)

ARM: Add Ubuntu Codename vivid, wily for arm-linux image

Commit migrated from https://github.com/dotnet/coreclr/commit/3fbfb5eb51c87dbdeb0014492279deabf14411aa

8 years agoMerge pull request dotnet/coreclr#4576 from swgillespie/longgc-ci
Sean Gillespie [Tue, 26 Apr 2016 22:11:20 +0000 (15:11 -0700)]
Merge pull request dotnet/coreclr#4576 from swgillespie/longgc-ci

Enable long GC tests to run on a regular basis

Commit migrated from https://github.com/dotnet/coreclr/commit/c723f9e3b99289c4bdeddf65cd10354a47dc5d19

8 years agoMerge pull request dotnet/coreclr#4599 from Priya91/ubuntu1604
Matt Mitchell [Tue, 26 Apr 2016 21:28:14 +0000 (14:28 -0700)]
Merge pull request dotnet/coreclr#4599 from Priya91/ubuntu1604

Add Ubuntu16.04 runs.

Commit migrated from https://github.com/dotnet/coreclr/commit/2bffd78e7fea7d0c308978652f514ba7740abe7c

8 years agoMerge pull request dotnet/coreclr#4597 from wtgodbe/fxTestFix
William Godbe [Tue, 26 Apr 2016 21:06:37 +0000 (14:06 -0700)]
Merge pull request dotnet/coreclr#4597 from wtgodbe/fxTestFix

Fix run-test.sh invocation in netci.groovy

Commit migrated from https://github.com/dotnet/coreclr/commit/e9e2e3e0e3a4b6776feee1f9a426cbab8f7dafd3

8 years agoAdd Ubuntu16.04 runs.
Lakshmi Priya Sekar [Tue, 26 Apr 2016 20:14:20 +0000 (13:14 -0700)]
Add Ubuntu16.04 runs.

Commit migrated from https://github.com/dotnet/coreclr/commit/d71e301337f0e8b374b113b9e1e3f2126ee9aca0

8 years agoFix run-test.sh invocation in netci.groovy
wtgodbe [Tue, 26 Apr 2016 19:46:02 +0000 (12:46 -0700)]
Fix run-test.sh invocation in netci.groovy

Commit migrated from https://github.com/dotnet/coreclr/commit/254c131d7e385d2bfabb961a1c540058da00f504

8 years agoMerge pull request dotnet/coreclr#4580 from seanshpark/doc_coreoverlay
Aditya Mandaleeka [Tue, 26 Apr 2016 19:45:46 +0000 (12:45 -0700)]
Merge pull request dotnet/coreclr#4580 from seanshpark/doc_coreoverlay

Add coreOverlay option to unix-test-instructions document

Commit migrated from https://github.com/dotnet/coreclr/commit/dc7032c1eb5699cb0b74a0591ba1303b111e9077

8 years agoMerge pull request dotnet/coreclr#4535 from ramarag/xplateventsrc
Rama krishnan Raghupathy [Tue, 26 Apr 2016 18:32:14 +0000 (11:32 -0700)]
Merge pull request dotnet/coreclr#4535 from ramarag/xplateventsrc

Fixing up FEATURE_EVENTSOURCE_XPLAT

Commit migrated from https://github.com/dotnet/coreclr/commit/57d54fcc3950b2838e1ab9c1ed8d90c564fd8b7b

8 years agoMerge pull request dotnet/coreclr#4566 from kyulee1/nativecallable
Kyungwoo Lee [Tue, 26 Apr 2016 18:26:28 +0000 (11:26 -0700)]
Merge pull request dotnet/coreclr#4566 from kyulee1/nativecallable

ARM64: Fix NativeCallable

Commit migrated from https://github.com/dotnet/coreclr/commit/7a20f996356d84f5f047b0158a24810da2094176

8 years agoMerge pull request dotnet/coreclr#4528 from gkhanna79/DynamicJITLoad
Gaurav Khanna [Tue, 26 Apr 2016 18:22:49 +0000 (11:22 -0700)]
Merge pull request dotnet/coreclr#4528 from gkhanna79/DynamicJITLoad

Refactor FEATURE_MERGE_JIT_AND_ENGINE to allow consuming JIT as a dynamic library

Commit migrated from https://github.com/dotnet/coreclr/commit/52226b2685ef7afc8fbdda90aef282e109449111

8 years agoEnable long GC tests to run daily
Sean Gillespie [Mon, 25 Apr 2016 18:27:15 +0000 (11:27 -0700)]
Enable long GC tests to run daily

Commit migrated from https://github.com/dotnet/coreclr/commit/50e5a2a6d51a3dc31ab89e07d5a9f2abe573a5e2

8 years agoMerge pull request dotnet/coreclr#4448 from rahku/arm64toolsetupdate
Rahul Kumar [Tue, 26 Apr 2016 17:17:22 +0000 (10:17 -0700)]
Merge pull request dotnet/coreclr#4448 from rahku/arm64toolsetupdate

Update arm64 toolset. Link against ucrt.
This has following changes:
 1. Update arm64 toolset to latest.
 2. Link against ucrt.
 3. Fix tls offsets which have changed due to updated toolset
 4. Fix source code in decimal.cpp to avoid integer overflow. Result of signed integer overlfow is undefined in C++.
 5. Enable build of sos which can be loaded in arm64 windbg
 6. Add nop to empty assembly marker methods as new toolset generates invalid .pdata for them.

I have verified that arm64 runs are clean

Commit migrated from https://github.com/dotnet/coreclr/commit/f9744f6d7e0b31edf53e7079ddef8ef6115f2736

8 years agoThis has following changes:
Rahul Kumar [Tue, 19 Apr 2016 21:22:23 +0000 (14:22 -0700)]
This has following changes:
1. Update arm64 toolset to latest.
2. Link against ucrt.
3. Fix tls offsets which have changed due to updated toolset
4. Fix source code in decimal.cpp to avoid integer overflow. Result of signed integer overlfow is undefined in C++.
5. Enable build of sos which can be loaded in arm64 windbg
6. Add nop to empty assembly marker methods as new toolset generates invalid .pdata for them.

Commit migrated from https://github.com/dotnet/coreclr/commit/27fc507393a641542a939168b41585895b6b4fc2

8 years agoKeep FEATURE_MERGE_JIT_AND_ENGINE with refactored approach
Gaurav Khanna [Fri, 22 Apr 2016 19:24:51 +0000 (12:24 -0700)]
Keep FEATURE_MERGE_JIT_AND_ENGINE with refactored approach

Commit migrated from https://github.com/dotnet/coreclr/commit/140396f479d5d33bca0daef1f072eef4992ed78e

8 years agoMerge pull request dotnet/coreclr#4588 from dotnet-bot/from-tfs
Jan Kotas [Tue, 26 Apr 2016 13:38:58 +0000 (06:38 -0700)]
Merge pull request dotnet/coreclr#4588 from dotnet-bot/from-tfs

Merge changes from TFS

Commit migrated from https://github.com/dotnet/coreclr/commit/5fe61b36cc72d43263fc892c754bb9f46acb5ef5

8 years agoFix razzle build break
Jan Kotas [Tue, 26 Apr 2016 06:55:13 +0000 (23:55 -0700)]
Fix razzle build break

[tfs-changeset: 1599244]

Commit migrated from https://github.com/dotnet/coreclr/commit/24f6a8fb3453b408ae7041357782cc094759c90a

8 years agoAdd coreOverlay option to unix-test-instructions document
SaeHie Park [Mon, 25 Apr 2016 23:37:45 +0000 (08:37 +0900)]
Add coreOverlay option to unix-test-instructions document

Commit migrated from https://github.com/dotnet/coreclr/commit/3b4def5c5084e845e21e378dad1f9d6af2621033

8 years agoAvoid defensive copy in String.Concat(string[]) (dotnet/coreclr#4559)
Stephen Toub [Tue, 26 Apr 2016 01:09:05 +0000 (21:09 -0400)]
Avoid defensive copy in String.Concat(string[]) (dotnet/coreclr#4559)

* Avoid defensive copy in String.Concat(string[])

Today the String.Concat(params string[]) implementation makes a defensive copy of the input string[] in order to avoid issues where another thread mutates the array concurrently with the concatenation.  Such a situation is possible but exceedingly rare, so we can redo the implementation to make it cheaper when there isn't concurrent mutation and more expensive when there is, rather than always having it be more expensive.

This commit changes string.Concat to optimistically assume there won't be such concurrent mutation.  It avoids allocating the defensive string[] array copy, and instead just proceeds to allocate a string of the right length and copy the input strings into it.  If along the way it discovers that something has changed such that the string lengths no longer add up to exactly what was precomputed, then it falls back to the original implementation.

Example microbenchmark:
```C#
using System;
using System.Diagnostics;

public class Program
{
    public static void Main()
    {
        string result;
        string[] inputs = new[] { "abcd", "efgh", "ijkl", "mnop", "qrst", "uvwx", "yz" };
        var sw = new Stopwatch();
        while (true)
        {
            int gen0 = GC.CollectionCount(0);
            sw.Restart();
            for (int i = 0; i < 20000000; i++) result = string.Concat(inputs);
            sw.Stop();
            Console.WriteLine($"{GC.CollectionCount(0) - gen0}: {sw.Elapsed.TotalSeconds}");
        }
    }
}
```
Before the change:
```
> corerun test.exe
1525: 2.0733829
1526: 2.0599474
1526: 2.0717786
1526: 2.0318797
^C
```
After the change:
```
> corerun test.exe
763: 1.4700695
762: 1.446919
763: 1.4581139
763: 1.4568889
^C
```

Commit migrated from https://github.com/dotnet/coreclr/commit/de32aed6dabdc4f6bc7b274092330a63de972c44

8 years agoMerge pull request dotnet/coreclr#4574 from wtgodbe/affinity
Matt Mitchell [Mon, 25 Apr 2016 23:32:26 +0000 (16:32 -0700)]
Merge pull request dotnet/coreclr#4574 from wtgodbe/affinity

Set machine affinity for flow jobs in CI

Commit migrated from https://github.com/dotnet/coreclr/commit/13b84669db75083bcd120a292dad693980e3ec57

8 years agoARM64: Fix NativeCallable
Kyungwoo Lee [Mon, 25 Apr 2016 18:11:14 +0000 (11:11 -0700)]
ARM64: Fix NativeCallable

Fixes https://github.com/dotnet/coreclr/issues/4422
The issue is that JIT didn't pass UMEntryThunk for the managed function
entry point which is invoked from the native function.
The fix is to enable NativeCallable attribute check to get the right entry point.

Commit migrated from https://github.com/dotnet/coreclr/commit/76ba59032965f745926c788c879df225b9a25649

8 years agoMerge pull request dotnet/coreclr#4577 from kyulee1/qfix
Kyungwoo Lee [Mon, 25 Apr 2016 22:23:46 +0000 (15:23 -0700)]
Merge pull request dotnet/coreclr#4577 from kyulee1/qfix

ARM64: Quick Fix

Commit migrated from https://github.com/dotnet/coreclr/commit/7f3b62871f5a352b7f45afc09e80f696324d25e1

8 years agoARM64: Quick Fix
Kyungwoo Lee [Mon, 25 Apr 2016 22:21:09 +0000 (15:21 -0700)]
ARM64: Quick Fix

I accidently made a wrong copy and paste.

Commit migrated from https://github.com/dotnet/coreclr/commit/081070ad578a739144a29c401c257c6cdc9fdbc0

8 years agoSet machine affinity for flow jobs in CI
wtgodbe [Mon, 25 Apr 2016 22:12:09 +0000 (15:12 -0700)]
Set machine affinity for flow jobs in CI

Commit migrated from https://github.com/dotnet/coreclr/commit/b37e432d80cdee50a024323161450ef403db0793

8 years agoMerge pull request dotnet/coreclr#4561 from dotnet-bot/from-tfs
Jan Kotas [Mon, 25 Apr 2016 21:11:56 +0000 (14:11 -0700)]
Merge pull request dotnet/coreclr#4561 from dotnet-bot/from-tfs

Merge changes from TFS

Commit migrated from https://github.com/dotnet/coreclr/commit/5df671e6fbdaa8c356c9032b03cdb21e2c0e32be

8 years agoMerge pull request dotnet/coreclr#4560 from kyulee1/fixvarargpinvoke
Kyungwoo Lee [Mon, 25 Apr 2016 21:00:20 +0000 (14:00 -0700)]
Merge pull request dotnet/coreclr#4560 from kyulee1/fixvarargpinvoke

ARM64: Fix Vararg for PInvoke

Commit migrated from https://github.com/dotnet/coreclr/commit/8ad41b2be2ede3578e5ef4b888cec0e597c11759

8 years agoARM64: Fix Vararg for PInvoke
Kyungwoo Lee [Fri, 22 Apr 2016 18:27:07 +0000 (11:27 -0700)]
ARM64: Fix Vararg for PInvoke

Fixes https://github.com/dotnet/coreclr/issues/4474
1. Fix entry point to `VarargPInvokeStub_RetBuffArg` instead of
`VarargPInvokeStub` to pass `VASigCookieReg` via `x1` when hasRetBuffArg is
true.
2. The previous fix for varargs SP offset is not correct when both varargs
and callee save regs exist. Fix the SP offset computation from caller's SP.
3. Fix epilog which didn't take varargs into account.

Commit migrated from https://github.com/dotnet/coreclr/commit/4c7af3acab0189dfef9e5ac3f5911dabd46f0fed

8 years agoFixing up FEATURE_EVENTSOURCE_XPLAT
DDCloud [Mon, 28 Mar 2016 23:55:01 +0000 (16:55 -0700)]
Fixing up FEATURE_EVENTSOURCE_XPLAT

Commit migrated from https://github.com/dotnet/coreclr/commit/33332a82daaeae7dcb4b2e20b6e3fd0e16ab3482

8 years agoMerge pull request dotnet/coreclr#4553 from janvorli/fix-pslog-path
Rahul Kumar [Mon, 25 Apr 2016 18:51:56 +0000 (11:51 -0700)]
Merge pull request dotnet/coreclr#4553 from janvorli/fix-pslog-path

Fix PS version log path

Commit migrated from https://github.com/dotnet/coreclr/commit/c76a1d610c4ed048cf83f4020035d82f0d77b9b5

8 years agoMerge pull request dotnet/coreclr#4564 from wtgodbe/coverageFix
William Godbe [Mon, 25 Apr 2016 18:42:58 +0000 (11:42 -0700)]
Merge pull request dotnet/coreclr#4564 from wtgodbe/coverageFix

fix calls to runtest.sh in code coverage build

Commit migrated from https://github.com/dotnet/coreclr/commit/c4d0667c3f9ca9caeebaa93d24aee30c8f38f5c2

8 years agoMerge pull request dotnet/coreclr#4542 from kyulee1/nobld
Kyungwoo Lee [Mon, 25 Apr 2016 18:08:50 +0000 (11:08 -0700)]
Merge pull request dotnet/coreclr#4542 from kyulee1/nobld

No BuildOnly job for ARM64

Commit migrated from https://github.com/dotnet/coreclr/commit/225674d26faf6e5498e1c98ecd9406be1792b8a3

8 years agoMerge pull request dotnet/coreclr#4565 from swgillespie/playlists-2
Sean Gillespie [Mon, 25 Apr 2016 18:03:39 +0000 (11:03 -0700)]
Merge pull request dotnet/coreclr#4565 from swgillespie/playlists-2

Fix error in invocation of runtests.sh for long GC tests

Commit migrated from https://github.com/dotnet/coreclr/commit/9b55c8e967ccd6fe27b7d5e561612246873165af

8 years agofix calls to runtest.sh in code coverage build
wtgodbe [Mon, 25 Apr 2016 17:08:04 +0000 (10:08 -0700)]
fix calls to runtest.sh in code coverage build

Commit migrated from https://github.com/dotnet/coreclr/commit/ce419cad106f14a33cc5680f9dfce9950d52514f

8 years agoFix error in invocation of runtests.sh for long GC tests
Sean Gillespie [Mon, 25 Apr 2016 17:11:09 +0000 (10:11 -0700)]
Fix error in invocation of runtests.sh for long GC tests

Commit migrated from https://github.com/dotnet/coreclr/commit/3a3d44e74a249fe87adefe717b5cd556f9be6861

8 years agoMerge pull request dotnet/coreclr#4141 from prajwal-aithal/devel/native-arm-ci
Matt Mitchell [Mon, 25 Apr 2016 16:58:48 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#4141 from prajwal-aithal/devel/native-arm-ci

Add CI support for Linux ARM emulator

Commit migrated from https://github.com/dotnet/coreclr/commit/5a20e076d9d1fbd3de4f3ac9bfa2b0ff9628adb6

8 years agoAdd back internal FromCancellation methods
Jan Kotas [Mon, 25 Apr 2016 14:29:52 +0000 (07:29 -0700)]
Add back internal FromCancellation methods

System.Runtime.WindowsRuntime implementation depends on them

[tfs-changeset: 1598965]

Commit migrated from https://github.com/dotnet/coreclr/commit/3e47d44bff1ab7b272de754113a85671b1f5423c

8 years agoMerge pull request dotnet/coreclr#4460 from parjong/fix/issue_4404
Jan Vorlicek [Mon, 25 Apr 2016 14:27:02 +0000 (07:27 -0700)]
Merge pull request dotnet/coreclr#4460 from parjong/fix/issue_4404

Uses initialized unw_context_t instead of uninitialized one

Commit migrated from https://github.com/dotnet/coreclr/commit/f4a0c98063b924c49cb786e10d8a1c88efb6affc

8 years agoMerge pull request dotnet/coreclr#4456 from seanshpark/no-inline-asm
Jan Vorlicek [Mon, 25 Apr 2016 04:16:51 +0000 (21:16 -0700)]
Merge pull request dotnet/coreclr#4456 from seanshpark/no-inline-asm

ARM: Fix compile error for unw usage with clang-3.8

Commit migrated from https://github.com/dotnet/coreclr/commit/661e5d078fdbbb4b0acd98a023d8a66762af5a4a

8 years agoFix PS version log path
Jan Vorlicek [Mon, 25 Apr 2016 03:46:25 +0000 (20:46 -0700)]
Fix PS version log path

The PS version log path is incorrectly set to the root of the current drive when
building for ARM64 with toolset_dir set. In that case, the `%~dp0` doesn't hold
the current drive and directory anymore.
I have fixed it by using `__LogsDir` instead. It it a good practice to put generated
files somewhere under the bin folder and the logs directory seems appropriate.

Commit migrated from https://github.com/dotnet/coreclr/commit/33e3a6f68591baf75e08f42ff098aa13568eb9db

8 years agoARM: Fix compile error for unw usage with clang-3.8
SaeHie Park [Thu, 21 Apr 2016 02:27:52 +0000 (11:27 +0900)]
ARM: Fix compile error for unw usage with clang-3.8

This fix is also needed when using clang-3.8
Previous related patch is dotnet/coreclr#4260

Commit migrated from https://github.com/dotnet/coreclr/commit/a05f28718a8d370e9642115d3c3c92991eda47d8

8 years agoRenames UpdateUnwindContextWithWinContext
Jonghyun Park [Sun, 24 Apr 2016 23:12:43 +0000 (08:12 +0900)]
Renames UpdateUnwindContextWithWinContext

Ranames UpdateUnwindContextWithWinContext as WinContextToUnwindContext,
and revises to invoke WinContextToUnwindContext always.

Commit migrated from https://github.com/dotnet/coreclr/commit/7cfb2620888104be5727f3c79b403ed2be2bb48c

8 years agoMerge pull request dotnet/coreclr#4524 from AndyAyersMS/InlineTreeXML
Andy Ayers [Sun, 24 Apr 2016 19:20:27 +0000 (12:20 -0700)]
Merge pull request dotnet/coreclr#4524 from AndyAyersMS/InlineTreeXML

Inliner: enable xml format dump for inlines

Commit migrated from https://github.com/dotnet/coreclr/commit/31fada11eeef6b21f1931c5c0f133fe521ad5d85

8 years agoMerge pull request dotnet/coreclr#4491 from BruceForstall/Fix3561
Bruce Forstall [Sun, 24 Apr 2016 17:07:54 +0000 (10:07 -0700)]
Merge pull request dotnet/coreclr#4491 from BruceForstall/Fix3561

Fix dotnet/coreclr#3561: assert on RyuJIT x86 when generating shl by 1

Commit migrated from https://github.com/dotnet/coreclr/commit/98693938031330a24bed2f0a92b5f087eb2d389b

8 years agoMerge pull request dotnet/coreclr#4544 from janvorli/move-test-wrappers-to-bin
Jan Vorlicek [Sun, 24 Apr 2016 05:10:58 +0000 (22:10 -0700)]
Merge pull request dotnet/coreclr#4544 from janvorli/move-test-wrappers-to-bin

Move generated xunit test wrappers to bin folder

Commit migrated from https://github.com/dotnet/coreclr/commit/2f04c1cd9b308e695d264ac5165b9a770934773a

8 years agoReplace uses of FromCancellation -> FromCanceled in mscorlib (dotnet/coreclr#4537)
James Ko [Sun, 24 Apr 2016 01:44:33 +0000 (21:44 -0400)]
Replace uses of FromCancellation -> FromCanceled in mscorlib (dotnet/coreclr#4537)

Replace uses of FromCancellation -> FromCanceled in mscorlib

Commit migrated from https://github.com/dotnet/coreclr/commit/85ff1e3b3ca3d7eb10ab0e2e6a41bdf721be4540

8 years agoMove generated xunit test wrappers to bin folder
Jan Vorlicek [Sun, 24 Apr 2016 01:10:50 +0000 (18:10 -0700)]
Move generated xunit test wrappers to bin folder

This change modifies the build so that the generated xunit test
wrappers are no longer placed into the source tree, but rather to
the bin folder where all files generated by the build should go.

Commit migrated from https://github.com/dotnet/coreclr/commit/a8615d6cf50c6d76fb4eef06a477a164d88454b0

8 years agoMerge pull request dotnet/coreclr#4533 from ramarag/GC_Stress
Rama krishnan Raghupathy [Sun, 24 Apr 2016 00:50:50 +0000 (17:50 -0700)]
Merge pull request dotnet/coreclr#4533 from ramarag/GC_Stress

Fixing GC stress test layout and Creating a Sanity Run for it

Commit migrated from https://github.com/dotnet/coreclr/commit/a04a405116190cc4d5188ff3429d79f7e2989b54

8 years agoNo BuildOnly job for ARM64
Kyungwoo Lee [Sun, 24 Apr 2016 00:06:00 +0000 (17:06 -0700)]
No BuildOnly job for ARM64

bld jobs are not interesting. So delete them from the history.

Commit migrated from https://github.com/dotnet/coreclr/commit/2f6b2730a8e968cac859ff1c609ec9bfe18eaa40

8 years agoMerge pull request dotnet/coreclr#4541 from janvorli/fix-pe-sections-protection-3
Jan Vorlicek [Sat, 23 Apr 2016 23:18:53 +0000 (16:18 -0700)]
Merge pull request dotnet/coreclr#4541 from janvorli/fix-pe-sections-protection-3

Fix loading of NI images on SELinux

Commit migrated from https://github.com/dotnet/coreclr/commit/1742b7a6255f099738c5840f2e301af5e19d2f2e

8 years agoFix loading of NI images on SELinux
Jan Vorlicek [Sat, 23 Apr 2016 19:15:29 +0000 (12:15 -0700)]
Fix loading of NI images on SELinux

This change fixes a problem that prevents us to load crossgen-ed managed
assemblies on SELinux when running in confined mode.
The problem was that when we load these images, we also apply relocations
to their sections and so we temporarily switch section protection from
RX to RW and then back. And the switching back (RW -> RX) is something
that SELinux doesn't allow.
The fix is to switch to RWX before applying to relocations for sections
that are RX, since it is allowed then to switch them back to RX.
One more change was needed to get the original protection of the section
before relocation so that we can set it back later. The PE files are
not mapped using VirtualXXXX functions in the PAL and so VirtualProtect
doesn't return the proper original protection, but a fixed value instead.
So for PAL, we derive the original protection from the section attributes.

Commit migrated from https://github.com/dotnet/coreclr/commit/512c90efdbfdf9b0b1050d1eaa98f4aed1e8c165

8 years agoMerge pull request dotnet/coreclr#4429 from swgillespie/fixup-perf-tests
Sean Gillespie [Sat, 23 Apr 2016 20:12:20 +0000 (13:12 -0700)]
Merge pull request dotnet/coreclr#4429 from swgillespie/fixup-perf-tests

Update the GC Performance test framework since the deprecation of DNX

Commit migrated from https://github.com/dotnet/coreclr/commit/fae8a3fbf1ddfe48f601cfb4e63cd83697d4f56e

8 years agoMerge pull request dotnet/coreclr#4525 from swgillespie/unix-concurrent-gc-fix
Sean Gillespie [Sat, 23 Apr 2016 19:56:36 +0000 (12:56 -0700)]
Merge pull request dotnet/coreclr#4525 from swgillespie/unix-concurrent-gc-fix

Restore concurrent GC for non-Windows AMD64 platforms

Commit migrated from https://github.com/dotnet/coreclr/commit/5c25b0552895dc6086128772332329c9ccb67c14

8 years agoMerge pull request dotnet/coreclr#4520 from CarolEidt/BlkOpsRefactor
Carol Eidt [Sat, 23 Apr 2016 14:20:57 +0000 (07:20 -0700)]
Merge pull request dotnet/coreclr#4520 from CarolEidt/BlkOpsRefactor

Block Ops Refactor

Commit migrated from https://github.com/dotnet/coreclr/commit/f7ac21ccb24f2158989b219c36951ec67775c91b

8 years agoMerge pull request dotnet/coreclr#4389 from jkotas/gc-update
Jan Kotas [Sat, 23 Apr 2016 12:46:00 +0000 (05:46 -0700)]
Merge pull request dotnet/coreclr#4389 from jkotas/gc-update

Integrate GC changes from CoreRT

Commit migrated from https://github.com/dotnet/coreclr/commit/b0fab1bf2f9d711c0c3962554dc5805fcd73f041

8 years agoFixing GC stress test layout and Creating a Sanity Run for it
Rama Krishnan Raghupathy [Sat, 23 Apr 2016 00:43:02 +0000 (17:43 -0700)]
Fixing GC stress test layout and Creating a Sanity Run for it

Commit migrated from https://github.com/dotnet/coreclr/commit/7c0f3e2fbf24a7fed29afa403c684a7305a491bc

8 years agoMerge pull request dotnet/coreclr#4532 from mikem8361/sosfixes
Mike McLaughlin [Sat, 23 Apr 2016 06:28:39 +0000 (23:28 -0700)]
Merge pull request dotnet/coreclr#4532 from mikem8361/sosfixes

Fixes various SOS problems and issues.

Commit migrated from https://github.com/dotnet/coreclr/commit/2e7b7d3a957ff6b504f987a395937f77472db1d0

8 years agoFix dotnet/coreclr#3561: assert on RyuJIT x86 when generating shl by 1
Bruce Forstall [Thu, 21 Apr 2016 22:37:06 +0000 (15:37 -0700)]
Fix dotnet/coreclr#3561: assert on RyuJIT x86 when generating shl by 1

This assert hit in the encoder when we were trying to generate an
INS_shl_N with a constant of 1, instead of using the special xarch
INS_shl_1 encoding, which saves a byte. It turns out, the assert was
and in fact amd64 does generate the suboptimal encoding currently.

The bad code occurs in the RMW case of genCodeForShift(). It turns out
that function is unnecessarily complex, unique (it doesn't use the
common RMW code paths), and has a number of other latent bugs.

To fix this, I split genCodeForShift() by leaving the non-RMW case
there, and adding a genCodeForShiftRMW() function just for the RMW case.
I rewrote the RMW case to use the existing emitInsRMW functions.

Other related cleanups along the way:
1. I changed emitHandleMemOp to consistently set the idInsFmt field,
and changed all callers to stop pre-setting or post-setting this field.
This makes the API much easier to understand. I added a big header
comment for the function. Now, it takes a "basic" insFmt (using ARD,
AWR, or ARW forms), which might be munged to a MRD/MWR/MRW form
if necessary.
2. I changed some places to always use the most derived GenTree type
for all uses. For instance, if the code has
"GenTreeIndir* mem = node->AsIndir()", then always use "mem" from then
on, and don't use "node". I changed some functions to take more derived
GenTree node types.
3. I rewrote the emitInsRMW() functions to be much simpler, and rewrote
their header comments.
4. I added GenTree predicates OperIsShift(), OperIsRotate(), and
OperIsShiftOrRotate().
5. I added function genMapShiftInsToShiftByConstantIns() to encapsulate
mapping from INS_shl to INS_shl_N or INS_shl_1 based on a constant.
This code was in 3 different places already.
6. The change in assertionprop.cpp is simply to make JitDumps readable.

In addition to fixing the bug for RyuJIT/x86, there are a small number
of x64 diffs where we now generate smaller encodings for shift by 1.

Commit migrated from https://github.com/dotnet/coreclr/commit/9a67c5824baa6887fa2a2cd26da59e26037cf883

8 years agoRemove NEW_EXPERIMENTAL_ASYNC_IO define from mscorlib (dotnet/coreclr#4530)
James Ko [Sat, 23 Apr 2016 03:10:46 +0000 (23:10 -0400)]
Remove NEW_EXPERIMENTAL_ASYNC_IO define from mscorlib (dotnet/coreclr#4530)

Commit migrated from https://github.com/dotnet/coreclr/commit/25c0a14c4db495ab452186f5b93b891977d71294

8 years agoFixes various SOS problems and issues.
Mike McLaughlin [Sat, 23 Apr 2016 00:18:03 +0000 (17:18 -0700)]
Fixes various SOS problems and issues.

Fixes not printing the method names in various sos commands (clrstack, ip2md, etc).  This was because a NetBSD build change
caused the sos output formatting to use the linux C++ runtime _vsnprintf instead of the PAL's version which supports the %S
format option for WCHAR strings.

The above also fixes issue dotnet/coreclr#4430 "SOS dumplog fails to print out full log content from coredump".

Fixes issue dotnet/coreclr#4402 "Callstack is trashed after an exception" by executing " .settings set EngineInitialization.VerifyFunctionTableCallbacks=false"
during SOS initialization.

Fixes issue dotnet/coreclr#4432 "Missing endline when final frame is HelperMethodFrame". Worked around a bug in WinDbg DML output when
displaying the IP address for a special frame by not using DML.  It doesn't mean anything for special frames anyway and it is usually
is a native code address so the DML !U disassemble doesn't work. I didn't leave it blank like in "clrstack -f" for compatibility with
tests and it is what people are use to.

Commit migrated from https://github.com/dotnet/coreclr/commit/af3210354fb5b56ab99fc98d311e1dc6ebacd6e1

8 years agoMerge pull request dotnet/coreclr#4526 from wtgodbe/groovyFix
William Godbe [Fri, 22 Apr 2016 22:29:58 +0000 (15:29 -0700)]
Merge pull request dotnet/coreclr#4526 from wtgodbe/groovyFix

Fix unpacking of clr tests in netci.groovy

Commit migrated from https://github.com/dotnet/coreclr/commit/884757e6ae8fdbd259965670aa1f3324a148c3e9

8 years agoFix unpacking of clr tests in netci.groovy
wtgodbe [Fri, 22 Apr 2016 22:20:42 +0000 (15:20 -0700)]
Fix unpacking of clr tests in netci.groovy

Commit migrated from https://github.com/dotnet/coreclr/commit/28de22192bba432c9c4983e9fd5d685087a2f13f

8 years agoRestore the software write watch feature
Sean Gillespie [Fri, 22 Apr 2016 21:51:38 +0000 (14:51 -0700)]
Restore the software write watch feature

Commit migrated from https://github.com/dotnet/coreclr/commit/b4828f3acfe042905afa9809c2103fa1bedaa30e

8 years agoInliner: enable xml format dump for inlines
Andy Ayers [Fri, 22 Apr 2016 19:20:15 +0000 (12:20 -0700)]
Inliner: enable xml format dump for inlines

Add new config option to dump inline trees as XML, and implement
dumping support.

Commit migrated from https://github.com/dotnet/coreclr/commit/b35192d4121bb7bf84e2249ac73f51c4f9b93fa5

8 years agoFix build issue on archs where msbuild is not supported (dotnet/coreclr#4517)
Jose Perez Rodriguez [Fri, 22 Apr 2016 21:09:15 +0000 (14:09 -0700)]
Fix build issue on archs where msbuild is not supported (dotnet/coreclr#4517)

Fix build issue on archs where msbuild is not supported

Commit migrated from https://github.com/dotnet/coreclr/commit/d307cedd6c9c9f69ac7555049052cd73b7522391

8 years agoUpdate the GC Performance test framework since the deprecation of DNX
Sean Gillespie [Wed, 20 Apr 2016 00:00:41 +0000 (17:00 -0700)]
Update the GC Performance test framework since the deprecation of DNX

Commit migrated from https://github.com/dotnet/coreclr/commit/c861c4d52007a611b6436ef834e02bc497c7a15c

8 years agoMerge pull request dotnet/coreclr#4467 from krytarowski/netbsd-support-71
Aditya Mandaleeka [Fri, 22 Apr 2016 20:39:56 +0000 (13:39 -0700)]
Merge pull request dotnet/coreclr#4467 from krytarowski/netbsd-support-71

Add NetBSD support in tests/runtest.sh

Commit migrated from https://github.com/dotnet/coreclr/commit/b0d809bd6ae65e85591af504e1797b115ea25b23

8 years agoMerge pull request dotnet/coreclr#4522 from wtgodbe/coverage
William Godbe [Fri, 22 Apr 2016 20:22:08 +0000 (13:22 -0700)]
Merge pull request dotnet/coreclr#4522 from wtgodbe/coverage

Testing prints in netci.groovy

Commit migrated from https://github.com/dotnet/coreclr/commit/cc4e540a80fa604cd977d2e0c58b0807fa29d16a

8 years agoFixes for GC update
Jan Kotas [Mon, 18 Apr 2016 17:27:56 +0000 (10:27 -0700)]
Fixes for GC update

Commit migrated from https://github.com/dotnet/coreclr/commit/705844e4bb1a9a4402bceb6acc0761b229a066dc

8 years agoUpdate GC from CoreRT
Jan Kotas [Mon, 18 Apr 2016 09:31:55 +0000 (02:31 -0700)]
Update GC from CoreRT

https://github.com/dotnet/corert/tree/master/src/Native/gc dotnet/coreclr@102af78f9169082478165e7c676bbee6ae194940

Commit migrated from https://github.com/dotnet/coreclr/commit/71ccdf5472c97326305ee116198218e3c9df4c53

8 years agoTesting prints in netci.groovy
wtgodbe [Fri, 22 Apr 2016 20:13:35 +0000 (13:13 -0700)]
Testing prints in netci.groovy

Commit migrated from https://github.com/dotnet/coreclr/commit/e91b81c2efbc72dd8600ca7aaea7f1eac03c11b2

8 years agoMerge pull request dotnet/coreclr#4493 from swgillespie/playlist
Sean Gillespie [Fri, 22 Apr 2016 20:05:58 +0000 (13:05 -0700)]
Merge pull request dotnet/coreclr#4493 from swgillespie/playlist

Add a "playlists" flag to runtests.sh that will run a list of tests

Commit migrated from https://github.com/dotnet/coreclr/commit/ba1ac1583e3527540a195b484611d31b8eb3286c

8 years agoMerge pull request dotnet/coreclr#4498 from BruceForstall/Fix3570
Bruce Forstall [Fri, 22 Apr 2016 20:01:25 +0000 (13:01 -0700)]
Merge pull request dotnet/coreclr#4498 from BruceForstall/Fix3570

Fix dotnet/coreclr#3570: RyuJIT x86: Float/Double mismatch in CodeGen::genStoreInd()

Commit migrated from https://github.com/dotnet/coreclr/commit/4bc8f0649dbcfbd070fdff10390a40dfcc9bf296

8 years agoFix dotnet/coreclr#3570: RyuJIT x86: Float/Double mismatch in CodeGen::genStoreInd()
Bruce Forstall [Fri, 22 Apr 2016 01:14:39 +0000 (18:14 -0700)]
Fix dotnet/coreclr#3570: RyuJIT x86: Float/Double mismatch in CodeGen::genStoreInd()

There is code in the importer to insert explicit converts between float and double
but it was only running for _TARGET_64BIT_. I changed this to a more appropriate
!_LEGACY_BACKEND_.

Commit migrated from https://github.com/dotnet/coreclr/commit/8a9584d35e4e8e186c9e88851392eb8e0112121a

8 years agoBlock Ops Refactor
Carol Eidt [Fri, 22 Apr 2016 18:40:46 +0000 (11:40 -0700)]
Block Ops Refactor

Refactor the legacy code dealing with block ops to minimize diffs when they are replaced with assignments.
Also a couple of comment edits and a small cleanup in rationalizer.

Commit migrated from https://github.com/dotnet/coreclr/commit/3f6626d1297a3ae02a51830ff2e017462bb79dd5

8 years agoMerge pull request dotnet/coreclr#4512 from kyulee1/vararg
Kyungwoo Lee [Fri, 22 Apr 2016 18:31:46 +0000 (11:31 -0700)]
Merge pull request dotnet/coreclr#4512 from kyulee1/vararg

ARM64: Fix Frame with VarArg

Commit migrated from https://github.com/dotnet/coreclr/commit/d30f727e6a768968a86207fdb94ca11cc77a9527

8 years agoARM64: Fix Frame with VarArg
Kyungwoo Lee [Fri, 22 Apr 2016 13:49:35 +0000 (06:49 -0700)]
ARM64: Fix Frame with VarArg

Fixes https://github.com/dotnet/coreclr/issues/4424
JIT homes incoming vararg (8) registers to the top of the stack.
When stack location is computed for local vars, JIT didn't
take it into consideration causing the overlapped stack
offsets for local vars and varargs. The stack offsets of local vars
corresponding to varargs should point to this home area instead of
the newly alloacted slot.

Commit migrated from https://github.com/dotnet/coreclr/commit/8737b292d81a753fc78ba600f574edaddfc37834

8 years agoMerge pull request dotnet/coreclr#4515 from wtgodbe/covr
William Godbe [Fri, 22 Apr 2016 17:13:12 +0000 (10:13 -0700)]
Merge pull request dotnet/coreclr#4515 from wtgodbe/covr

Fix running corefx tests for coverage job

Commit migrated from https://github.com/dotnet/coreclr/commit/2c923e35470750a98712e146995a2a9587da46db

8 years agoAdd a "playlists" flag to runtests.sh that will run a list of tests
Sean Gillespie [Thu, 21 Apr 2016 21:12:50 +0000 (14:12 -0700)]
Add a "playlists" flag to runtests.sh that will run a list of tests

Commit migrated from https://github.com/dotnet/coreclr/commit/25aab635b4640ff5cacb28da993a6931146ad8ea

8 years agoFix running corefx tests for coverage job
wtgodbe [Fri, 22 Apr 2016 17:07:02 +0000 (10:07 -0700)]
Fix running corefx tests for coverage job

Commit migrated from https://github.com/dotnet/coreclr/commit/e28ab37b503fb430e0098a92dc6cff1812ba34a8

8 years agoUpdating build tools to resolve duplicate perf test discovery (dotnet/coreclr#4492)
Deepak Shankargouda [Fri, 22 Apr 2016 16:13:52 +0000 (09:13 -0700)]
Updating build tools to resolve duplicate perf test discovery (dotnet/coreclr#4492)

Commit migrated from https://github.com/dotnet/coreclr/commit/527183caeb111b80081aff736b5fd2d3155e6e60

8 years agoMerge pull request dotnet/coreclr#4466 from krytarowski/netbsd-support-70
Jan Vorlicek [Fri, 22 Apr 2016 15:31:35 +0000 (08:31 -0700)]
Merge pull request dotnet/coreclr#4466 from krytarowski/netbsd-support-70

Implement CorUnix::GetThreadTimesInternal() for NetBSD-7.0

Commit migrated from https://github.com/dotnet/coreclr/commit/f0f7804062b8324a4d18bffcb729a370ae9662ed

8 years agoPartly fix the build issue when path to git repository has spaces (for example "d...
Mikhail Pilin [Fri, 22 Apr 2016 09:52:07 +0000 (11:52 +0200)]
Partly fix the build issue when path to git repository has spaces (for example "d:\z z\coreclr"). (dotnet/coreclr#4388)

The same issue in "d:\z z\coreclr\Tools\versioning.targets"(288): $(IntermediateOutputPath) should be "$(IntermediateOutputPath.TrimEnd('\'))" and all other path should be quoted with &quot; in this line.

Commit migrated from https://github.com/dotnet/coreclr/commit/4e769b7658f239cff2a0c80b673b91de8d686388

8 years agoUpdate ParamArrayAttribute.cs (dotnet/coreclr#4442)
Mark Hurd [Fri, 22 Apr 2016 09:49:10 +0000 (19:19 +0930)]
Update ParamArrayAttribute.cs (dotnet/coreclr#4442)

A minor doc error (presumably some copy'n'paste issue).

Commit migrated from https://github.com/dotnet/coreclr/commit/26f12966e33a6eba09d071451b2c60e3ea44047f

8 years agoFixes https://github.com/dotnet/coreclr/issues/4252 (dotnet/coreclr#4384)
Bruce Bowyer-Smyth [Fri, 22 Apr 2016 09:47:45 +0000 (19:47 +1000)]
Fixes https://github.com/dotnet/coreclr/issues/4252 (dotnet/coreclr#4384)

Change Join and Concat to access iterator.Current value once. Delegate null checking to StringBuilder.Append

Commit migrated from https://github.com/dotnet/coreclr/commit/5fe1c0ae8eb12cf04caca09a8b4a798b87eb8408

8 years agoMerge pull request dotnet/coreclr#4501 from dotnet-bot/from-tfs
Jan Kotas [Fri, 22 Apr 2016 09:12:59 +0000 (02:12 -0700)]
Merge pull request dotnet/coreclr#4501 from dotnet-bot/from-tfs

Merge changes from TFS

Commit migrated from https://github.com/dotnet/coreclr/commit/c4359c7d7b0983e62107ddf9dc1f56f21a019cd3

8 years agoAdd NetBSD support in tests/runtest.sh
Kamil Rytarowski [Thu, 21 Apr 2016 09:04:05 +0000 (11:04 +0200)]
Add NetBSD support in tests/runtest.sh

Commit migrated from https://github.com/dotnet/coreclr/commit/7c83f9b534e8a3dcf154470b492fd5d4206b99b4

8 years agoImplement CorUnix::GetThreadTimesInternal() for NetBSD-7.0
Kamil Rytarowski [Thu, 21 Apr 2016 07:19:54 +0000 (09:19 +0200)]
Implement CorUnix::GetThreadTimesInternal() for NetBSD-7.0

Extract manually time used for a thread (LWP). NetBSD doesn't track
time used separately in user/kernel for threads, it's only done for
processes.

/*
 * KERN_LWP structure. See notes on KERN_PROC2 about adding elements.
 */
struct kinfo_lwp {
// ...
        uint32_t l_rtime_sec;           /* STRUCT TIMEVAL: Real time. */
        uint32_t l_rtime_usec;          /* STRUCT TIMEVAL: Real time. */
// ...
};

  -- /usr/include/sys/sysctl.h

Use the kvm(3) interface for this task.

The current limitation is returning time used for the current thread, not
the one selected at will - as there is no clean conversion (or rather
extraction of "lwpid_t pt_lid" from the private pthread_t structure).

Commit migrated from https://github.com/dotnet/coreclr/commit/ef199239c5f792b8bc3b4caa9d60a39d7842245c

8 years agoMerge pull request dotnet/coreclr#4398 from sejongoh/vector3_testcase
Sejong Oh [Fri, 22 Apr 2016 07:24:25 +0000 (00:24 -0700)]
Merge pull request dotnet/coreclr#4398 from sejongoh/vector3_testcase

Vector3 Interop tests

Commit migrated from https://github.com/dotnet/coreclr/commit/42f5b498a679f5e110d9b9b6dc54bde6677ee5b7

8 years agoRemove __ConsoleStream from CoreCLR
Jan Kotas [Fri, 22 Apr 2016 04:03:29 +0000 (21:03 -0700)]
Remove __ConsoleStream from CoreCLR

[tfs-changeset: 1598441]

Commit migrated from https://github.com/dotnet/coreclr/commit/44f54e5d36352ffb7b4395bc6922857ac7da89a9

8 years agoFix heap corruption in CPalSynchronizationManager::DoMonitorProcesses (dotnet/coreclr...
Gregg Miskelly [Fri, 22 Apr 2016 03:38:51 +0000 (20:38 -0700)]
Fix heap corruption in CPalSynchronizationManager::DoMonitorProcesses (dotnet/coreclr#4454)

The PAL's WaitFor*Object support had a bug where if one waited on a process,
stopped, waiting and closed the process handle before the process exitted, then
later on when the process exitted it would corrupt the heap here:

   LONG CPalSynchronizationManager::DoMonitorProcesses(
       CPalThread * pthrCurrent)
    {
...
        if (lRemovingCount > 0)
        {
...
                // Set process status to PS_DONE
                pNode->pProcLocalData->ps = PS_DONE;

The issue is that the local process data would be delete when the process
handle was closed. But the synchronization manager would still have a reference
to it.

To fix this, I changed the synchronization manager to hold onto the PAL object in
addition to the local process data.

Commit migrated from https://github.com/dotnet/coreclr/commit/1ccd82e8ef39f3259888543905d1f40399037248

8 years agoRemove GOLDEN macro. (dotnet/coreclr#4484)
Aditya Mandaleeka [Fri, 22 Apr 2016 03:35:46 +0000 (20:35 -0700)]
Remove GOLDEN macro. (dotnet/coreclr#4484)

Commit migrated from https://github.com/dotnet/coreclr/commit/c51c2a5dbafb33afc94b242636fbc4b939840974

8 years agoAdd CI support for Linux ARM emulator
Prajwal A N [Thu, 7 Apr 2016 05:06:06 +0000 (14:06 +0900)]
Add CI support for Linux ARM emulator

Added CI code to support building coreclr inside the
user emulated Linux ARM emulator. It uses chroot jail
to accomplish the build.

Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/39a5735a66e157de3c052f378c1642e99317bd69

8 years agoMerge pull request dotnet/coreclr#4481 from swaroop-sridhar/aagc2
Swaroop Sridhar [Fri, 22 Apr 2016 00:54:48 +0000 (17:54 -0700)]
Merge pull request dotnet/coreclr#4481 from swaroop-sridhar/aagc2

GCInfo: Fix code-offset normalization on ARM

Commit migrated from https://github.com/dotnet/coreclr/commit/0ce162fee93d48408f7677a48db7a324bc901a18