Sejong Oh [Fri, 19 Feb 2016 20:55:53 +0000 (12:55 -0800)]
Add minopts and fix few bugs
Commit migrated from https://github.com/dotnet/coreclr/commit/
55894a7344b4a23a22d1a24deffdd562a05f06bd
Jan Kotas [Sun, 21 Feb 2016 02:27:09 +0000 (18:27 -0800)]
Merge pull request dotnet/coreclr#3280 from jamesqo/patch-8
Avoid string allocations in some Concat overloads
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8e10c51b050917606b755b1f11f2a3dd9436dcf
Jan Kotas [Sun, 21 Feb 2016 01:01:42 +0000 (17:01 -0800)]
Merge pull request dotnet/coreclr#3279 from krytarowski/netbsd-support-53
Disable not relevant tests for NetBSD: SCHED_OTHER may not be reassignable
Commit migrated from https://github.com/dotnet/coreclr/commit/
77374b2d56441e924d0340a0c3da04e19a3d53dc
Kamil Rytarowski [Sat, 20 Feb 2016 23:44:02 +0000 (00:44 +0100)]
Remove trailing whitespace
Commit migrated from https://github.com/dotnet/coreclr/commit/
f05754aa297c3bb66a296bea1f3e7ffba09a5c47
James Ko [Sat, 20 Feb 2016 23:47:24 +0000 (18:47 -0500)]
Avoid string allocations in some Concat overloads
Commit migrated from https://github.com/dotnet/coreclr/commit/
b99e5c1638a7e909c918be313ef386b7d0ccb3c3
Kamil Rytarowski [Sat, 20 Feb 2016 23:41:04 +0000 (00:41 +0100)]
Disable not relevant tests for NetBSD: SCHED_OTHER may not be reassignable
This addresses the following issues:
threading/GetCurrentThread/test1/paltest_getcurrentthread_test1. Exit code: 1
threading/GetCurrentThread/test2/paltest_getcurrentthread_test2. Exit code: 1
threading/GetProcessTimes/test2/paltest_getprocesstimes_test2. Exit code: 1
Commit migrated from https://github.com/dotnet/coreclr/commit/
c341d9b33e5b827e48f52671a21bf3dde89fd5c8
Sergiy Kuryata [Sat, 20 Feb 2016 21:56:34 +0000 (13:56 -0800)]
Merge pull request dotnet/coreclr#3265 from wtgodbe/coverage
Add option to runtest.sh to generate code coverage reports for coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a694dd1cea6cd7d176893ad661041cd1dacf9a2
Jan Kotas [Sat, 20 Feb 2016 19:39:27 +0000 (11:39 -0800)]
Merge pull request dotnet/coreclr#3262 from wtgodbe/disable
Delete poorly-written tests failing on OSX
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4bc674885e548d039ec68a139c48f2be8c90e2a
Jan Kotas [Sat, 20 Feb 2016 19:38:04 +0000 (11:38 -0800)]
Merge pull request dotnet/coreclr#3274 from jamesqo/patch-5
Remove unnecessary ref parameters from String.cs
Commit migrated from https://github.com/dotnet/coreclr/commit/
168db67b352e3a43acbbff8c07b215b42e5d751b
James Ko [Sat, 20 Feb 2016 17:24:02 +0000 (12:24 -0500)]
Remove unnecessary ref parameters from String.cs
For some reason, there seems to be some code in String.Split that takes ref parameters, even though they aren't actually assigned to.
This commit removes the `ref` annotations from the methods and their callers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ce28d1a2efd44eeeb6bc15d2dd11272e4759df6
Jan Kotas [Sat, 20 Feb 2016 16:34:38 +0000 (08:34 -0800)]
Merge pull request dotnet/coreclr#3221 from jamesqo/patch-5
Optimize String.Replace when the chars are the same
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2010dfb628b2d7409a2ad9752309388181e8823
Jan Kotas [Sat, 20 Feb 2016 16:29:28 +0000 (08:29 -0800)]
Merge pull request dotnet/coreclr#3269 from JoshVarty/master
Fix ecma-spec link
Commit migrated from https://github.com/dotnet/coreclr/commit/
8b4162ebd4b4e9deb5f8829404f671cda4d71c36
Jan Kotas [Sat, 20 Feb 2016 16:27:46 +0000 (08:27 -0800)]
Merge pull request dotnet/coreclr#3273 from krytarowski/netbsd-support-52
Disallow setting of priority for SCHED_OTHER threads on NetBSD
Commit migrated from https://github.com/dotnet/coreclr/commit/
44cd35e3d9a8eda6713c1bbdebe85609f055323d
Kamil Rytarowski [Sat, 20 Feb 2016 14:51:18 +0000 (15:51 +0100)]
Disallow setting of priority for SCHED_OTHER threads on NetBSD
There are 7 PAL tests that are falling down due to calling
pthread_setschedparam(3) on NetBSD.
Diving into the kernel code I have found that SCHED_OTHER does not support
setting priorities other than PRI_NONE.
/* Disallow setting of priority for SCHED_OTHER threads */
if (lpolicy == SCHED_OTHER && pri != PRI_NONE) {
lwp_unlock(t);
error = EINVAL;
break;
}
-- NetBSD sources sys/kern/sys_sched.c Line 167
/usr/include/sys/param.h:#define PRI_NONE (-1)
It looks like the same rule applies for Linux:
SCHED_OTHER is the default universal time-sharing scheduler policy used
by most processes, SCHED_FIFO and SCHED_RR are intended for special
time-critical applications that need precise control over the way in
which runnable processes are selected for execution. Processes sched-
uled with SCHED_OTHER must be assigned the static priority 0, processes
scheduled under SCHED_FIFO or SCHED_RR can have a static priority in
the range 1 to 99. Only processes with superuser privileges can get a
ordering within the list of runnable processes with equal static prior-
ity.
-- http://ccrma.stanford.edu/planetccrma/man/man2/sched_setscheduler.2.html
Standard says:
The pthread_getschedparam() and pthread_setschedparam() functions shall,
respectively, get and set the scheduling policy and parameters of individual
threads within a multi-threaded process to be retrieved and set. For
SCHED_FIFO and SCHED_RR, the only required member of the sched_param
structure is the priority sched_priority. For SCHED_OTHER, the affected
scheduling parameters are implementation-defined.
The policy parameter may have the value SCHED_OTHER, SCHED_FIFO, or
SCHED_RR. The scheduling parameters for the SCHED_OTHER policy are
implementation-defined. The SCHED_FIFO and SCHED_RR policies shall have a
single scheduling parameter, priority.
http://pubs.opengroup.org/onlinepubs/
9699919799/functions/pthread_getschedparam.html
The culprit code is here: src/pal/src/thread/thread.cpp Line 1276
Fix dotnet/coreclr#3272
Commit migrated from https://github.com/dotnet/coreclr/commit/
d279c120b271393726920d85f46c2b503cb1b14d
Josh Varty [Sat, 20 Feb 2016 05:10:15 +0000 (00:10 -0500)]
Fix ecma-spec link
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d20b2ea1c6c731056b6a1b4bfac624f826474b6
Rama krishnan Raghupathy [Sat, 20 Feb 2016 03:31:15 +0000 (19:31 -0800)]
Merge pull request dotnet/coreclr#2998 from ramarag/LongFileSupport
Initial Support for LongFile in the VM
Commit migrated from https://github.com/dotnet/coreclr/commit/
7045ca7a6de381b382a709dc0a61f49ca713d160
Rama Krishnan Raghupathy [Fri, 19 Feb 2016 02:21:18 +0000 (18:21 -0800)]
This Change Adds initial Support for LongFiles in the VM,
They are:
1. Wrappers for OS APIs which take or return PATHS
2. Fixing the usage of following Api's:
GetEnvironmentVariableW
SearchPathW
GetShortPathNameW
GetLongPathNameW
GetModuleFileName
Work remaining:
Remove fixed size buffers in the VM
Commit migrated from https://github.com/dotnet/coreclr/commit/
f98fb85e72d0f24c58d9e54b8b3bff2c67f985fb
Kyungwoo Lee [Sat, 20 Feb 2016 01:31:51 +0000 (17:31 -0800)]
Merge pull request dotnet/coreclr#3257 from kyulee1/cleanbuild
Fix clean test build
Commit migrated from https://github.com/dotnet/coreclr/commit/
a60523e59973b07f7240f3970a4fa41e14c9d6a6
Jan Kotas [Sat, 20 Feb 2016 00:16:16 +0000 (16:16 -0800)]
Merge pull request dotnet/coreclr#3236 from mikedn/noinline-new
Do not define global inline new/delete operators
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0b5ca1bf84f2704426b6bda266b410a4eda508f
William Godbe [Wed, 10 Feb 2016 22:41:03 +0000 (14:41 -0800)]
Add option to runtest.sh to generate code coverage reports for coreclr
Commit migrated from https://github.com/dotnet/coreclr/commit/
c219cf99af9f0bc10de97e502574db8d34b2f45d
Matt Ellis [Fri, 19 Feb 2016 23:43:59 +0000 (15:43 -0800)]
Merge pull request dotnet/coreclr#3256 from ellismg/add-rhel72-badge
Add RHEL Badges
Commit migrated from https://github.com/dotnet/coreclr/commit/
68b6ed99aef0f783535d4621d9ee052fb10b8131
Matt Mitchell [Fri, 19 Feb 2016 23:43:00 +0000 (15:43 -0800)]
Merge pull request dotnet/coreclr#3264 from dotnet/revert-3253-add_pr_trigger_for_stress_test_on_ubuntu
Revert "Fix PR trigger for ubuntu/osx corefx testing"
Commit migrated from https://github.com/dotnet/coreclr/commit/
8de21af6a6e2d1fe2479676c002e927711014b89
Matt Mitchell [Fri, 19 Feb 2016 23:42:21 +0000 (15:42 -0800)]
Revert "Fix PR trigger for ubuntu/osx corefx testing"
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce58c16d913aab08daf196dfd57ec56603ac59d2
Hongtao Yu [Fri, 19 Feb 2016 23:24:02 +0000 (15:24 -0800)]
Merge pull request dotnet/coreclr#3254 from hoyMS/bug2388
Bug 2388 Do not transform user-implemented math intrinsics that are tail calls.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1340098bdc6ac20566ccece2eb7de135866947f4
Kyungwoo Lee [Fri, 19 Feb 2016 19:06:41 +0000 (11:06 -0800)]
Fix clean test build
I often fall into a build failure like the following when passing /clean
E:\Github\coreclr\tests\runtest.proj : error MSB4057: The target "rebuild"
does not exist in the project.
runtest.proj is actually invoked in two places one from a part of
build.cmd targeting CreateTestOverlay only, and the other from
runtest.cmd, which creates wrapper and actually running the tests.
So, definining "rebuild" target that does "clean" and "build" doesn't
solve this problem.
The fix is to not target "rebuild" in the former case since we are
explicitly targeting "CreateTestOverlay" only. Instead of putting "/t:rebuild"
in the common msbuild argument, I added it to each instance except this case.
Commit migrated from https://github.com/dotnet/coreclr/commit/
06f6edeffcae1905cc77a130c7bc916188eba1c7
Hongtao Yu [Fri, 19 Feb 2016 17:22:12 +0000 (09:22 -0800)]
Do not transform user-implemented math intrinsics that are tail calls
Intrinsics that are not implemented directly by target instructions will be rematerialized as users calls in rationalizer. For prefixed tail calls, don't do this optimization, because
1. Languages like F# requires a mandatory tail call optimization. A tail call converted to an intrinsic and then converted back to a call will miss out the tail call optimization.
2. Tail call optimization may be more beneficial.
Commit migrated from https://github.com/dotnet/coreclr/commit/
17a406d81c866e2813705b4f8ea5be85da5fde59
William Godbe [Fri, 19 Feb 2016 22:06:07 +0000 (14:06 -0800)]
Disable tests failing on OSX
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f0ae1d3bfb7208ffeb56bef06368732e2924d8b
Matt Mitchell [Fri, 19 Feb 2016 21:24:19 +0000 (13:24 -0800)]
Merge pull request dotnet/coreclr#3253 from sejongoh/add_pr_trigger_for_stress_test_on_ubuntu
Fix PR trigger for ubuntu/osx corefx testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
338ba2d874ceb570491367a921a31c3276a202ae
Andy Ayers [Fri, 19 Feb 2016 19:57:29 +0000 (11:57 -0800)]
Merge pull request dotnet/coreclr#3247 from AndyAyersMS/InlineRefactor4c
InlineRefactoring: rename inlExpLst to InlineContext
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0d7cb0cccfa6b088397638f94aa0de106fc5ac4
Sergiy Kuryata [Fri, 19 Feb 2016 19:43:26 +0000 (11:43 -0800)]
Merge pull request dotnet/coreclr#3241 from wtgodbe/cscbench
Stop copying of bad System.Runtime version
Commit migrated from https://github.com/dotnet/coreclr/commit/
021e5dc7a877f707a46b0b8a99b99a6445900c82
Sergiy Kuryata [Fri, 19 Feb 2016 18:44:16 +0000 (10:44 -0800)]
Merge pull request dotnet/coreclr#3250 from janvorli/fix-explicit-frames-popping-2
Fix the explicit frames unwinding on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
06242b1c9811cee96108b8f29237b3be1a065e6b
Brian Sullivan [Fri, 19 Feb 2016 18:12:52 +0000 (10:12 -0800)]
Merge pull request dotnet/coreclr#3242 from briansull/arm64conds
Refactor of conditional branches for the ARM architecture
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f0057cde6753040452fc439c6101c3fa7beb970
Tarek Mahmoud Sayed [Fri, 19 Feb 2016 17:08:44 +0000 (09:08 -0800)]
Merge pull request dotnet/coreclr#3238 from tarekgh/DateTimeRefactor
Small refactoring in DateTime comparing methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
e78212837f61e5b5a55f5f83ead08cba7e5b56d2
Sejong Oh [Fri, 19 Feb 2016 13:00:27 +0000 (05:00 -0800)]
Fix PR trigger for ubuntu/osx corefx testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
bfa01b4c8077737c628d0b47f993fb51225278ae
Jan Vorlicek [Thu, 18 Feb 2016 22:36:43 +0000 (23:36 +0100)]
Fix the explicit frames unwinding on Unix
This change fixes a problem when exception unwinds native frames of code that contains
explicit frames. There were two issues. First, the destructor of the explicit frame
base class Frame that was responsible for popping the frames was missing switch to
GC cooperative mode and so it could pop frames that GC was currently walking.
And second, after adding the switch to cooperative mode, it turned out that if a
thread gets blocked in the Frame destructor due to GC and the stack walker tries to
get stack cookie from FrameWithCookie wrapper of a class derived from the Frame,
it fails since the vtable pointer was already reset to the vtable of the base Frame
class and it detects that as an invalid case.
The fix was to add destructors to all final classes derived from Frame and perform
the frame popping from there.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e14371a2638dd27222fd63af6032b5cd1a64add
Lubomir Litchev [Fri, 19 Feb 2016 07:47:11 +0000 (23:47 -0800)]
Merge pull request dotnet/coreclr#3243 from LLITCHEV/structDesc-clone
Added code to clone the structDesc member of GT_CALL.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a49e66de150413ad8277bdbc8c2dacf0d461eae
Carol Eidt [Fri, 19 Feb 2016 05:33:20 +0000 (21:33 -0800)]
Merge pull request dotnet/coreclr#3135 from CarolEidt/x86VirtualStubDirect
Enable Virtual Stub calls that are direct for x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
edb8791a974187c27284b72e72ba061dc3a1bbf0
Lubomir Litchev [Fri, 19 Feb 2016 00:22:36 +0000 (16:22 -0800)]
Added code to clone the structDesc member of GT_CALL.
Adds code to clone the structDesc member of GT_CALL. It modifies the
importer to get the structDesc directly in this field, instead of using a
separate local and eliminates the obsolete SetRegisterReturningStructState
method of GenTreeCall.
Fixes 3239.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e46554c494f4ed2c4fda6d3df46eb31f6dc35cdf
Andy Ayers [Thu, 18 Feb 2016 23:28:08 +0000 (15:28 -0800)]
InlineRefactor: rename inlExpLst to InlineContext
Rename inlExpLst to InlineContext, and move the code for it into
the inlining files. Expand the context to capture the observation
leading to success. Defer generating the method names until the
context is dumped to avoid unnecessary debug/check allocations.
Make sure observation field on GenTreeCall is properly initialized
and copied, and give it the right type via an opaque forward
declaration.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c18892218e6b302eaaf504945feb5f469f65f663
Andy Ayers [Fri, 19 Feb 2016 03:29:21 +0000 (19:29 -0800)]
Merge pull request dotnet/coreclr#3237 from AndyAyersMS/InlineRefactor4b
Inline refactoring: capture failing observation for non-candidates
Commit migrated from https://github.com/dotnet/coreclr/commit/
8bc28b2b57bdd48f59797d673e6fc62ee78b2f56
Brian Sullivan [Fri, 19 Feb 2016 02:34:44 +0000 (18:34 -0800)]
Made the changes suggested fromn code reviewers
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5b35b3b3ecef6370812a3c16b4f344c21217e71
William Godbe [Thu, 18 Feb 2016 23:51:38 +0000 (15:51 -0800)]
stop copying of bad System.Runtime version
Commit migrated from https://github.com/dotnet/coreclr/commit/
2aaf329e6e4cec8b5b00f7a9e0c0ea2a9dcd4629
Brian Sullivan [Thu, 18 Feb 2016 23:33:54 +0000 (15:33 -0800)]
Added enum CompareKind as input to genJumpKindForOper()
Record the result of genJumpKindForOper() in a local before generating the jump instruction
Added support for using Logical instructions with genJumpKindForOper()
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ed035b0e4691db3b6fefe1ca80887018f09576a
Andy Ayers [Thu, 18 Feb 2016 20:48:37 +0000 (12:48 -0800)]
Inline refactoring: capture failing observation for non-candidates
Refactor the InlineResult to take a `GenTreeCall` instead of artifacts
derived from the call. Use this to decorate the call (in DEBUG) if
an inline fails with the observation that lead to the failure. Move
this constructor out of the header since we now need it to invoke
methods on types that are header-opaque.
Try and pick this reason up later on when non-candidate call sites are
encountered during inlining.
Introduce a second constructor for the pre-jit use case, where we are
evaulating a method to see if we can mark it as never inline to save
work in any subsequent compilation. Put this into the cpp file too for
symmetry.
Type the backing field in GenTreeCall as unsigned to avoid creating
more deeply entangled include circularities. Happy to reconsider if
this seems ill-advised.
Reword a few more uses of inlinee to callee (similarly inliner to
caller). Make `inlIsValidObservation` globally visible and enable
a prior commented-out assert.
Commit migrated from https://github.com/dotnet/coreclr/commit/
df9c1264c5252cdd6154f778dca9cb7e01c3cea9
Carol Eidt [Thu, 11 Feb 2016 18:39:36 +0000 (10:39 -0800)]
Enable Virtual Stub calls that are direct for x86
On x86, direct virtual stub calls must be done with a relative address, NOT through a register.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bbc5aa508c8d23715361f3d84fb17de6bd00678
Tarek Mahmoud Sayed [Thu, 18 Feb 2016 22:19:09 +0000 (14:19 -0800)]
Small refactoring in DateTime comparing methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
0148107cff7f462a601d91a8a119208b11a832a4
Mike Danes [Thu, 18 Feb 2016 21:42:35 +0000 (23:42 +0200)]
Do not define global inline new/delete operators
VS2015 Update 2 generates C4595 for such code and the build fails due to /WX
Commit migrated from https://github.com/dotnet/coreclr/commit/
e73fbfa220876a18366a0037df10ca6f03bcb594
Andy Ayers [Thu, 18 Feb 2016 21:34:09 +0000 (13:34 -0800)]
Merge pull request dotnet/coreclr#3229 from AndyAyersMS/InlineRefactor4a
Inline refactoring: add candidate observations
Commit migrated from https://github.com/dotnet/coreclr/commit/
b90b09116d12ab65328fbd1ed80c21c75131e121
Aditya Mandaleeka [Thu, 18 Feb 2016 20:45:45 +0000 (12:45 -0800)]
Merge pull request dotnet/coreclr#3219 from adityamandaleeka/twowaypipe_cleanup
Clean up Unix twowaypipe code
Commit migrated from https://github.com/dotnet/coreclr/commit/
cf93ae5b1bdb47fa091bc9322bc88f814f9feb66
Richard L Ford [Thu, 18 Feb 2016 20:43:09 +0000 (12:43 -0800)]
Merge pull request dotnet/coreclr#3222 from richardlford/testswithrefs0216
Port desktop tests that had references
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1219104cc72570a88961d5726c44277d64deb5b
Matt Ellis [Thu, 18 Feb 2016 20:07:26 +0000 (12:07 -0800)]
Merge pull request dotnet/coreclr#3231 from ellismg/add-back-push-triggers
Add back push triggers
Commit migrated from https://github.com/dotnet/coreclr/commit/
b22c17cc8a0ddc71eef1bba5b6542bbd304ec796
Jan Kotas [Thu, 18 Feb 2016 19:31:19 +0000 (11:31 -0800)]
Merge pull request dotnet/coreclr#3230 from jkotas/jitee-cleanup
Delete NetCF quirk and MDIL generation support from RyuJIT and JIT-EE interface
Commit migrated from https://github.com/dotnet/coreclr/commit/
3f46cdaf01493289c0382fda9757ad660d364d98
Richard L Ford [Thu, 18 Feb 2016 19:14:30 +0000 (11:14 -0800)]
Delete 'do not port' test, add non-windows exclusions
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a4583a0bb465d171e5815b98c5acbbea72a74d7
Matt Ellis [Thu, 18 Feb 2016 18:54:42 +0000 (10:54 -0800)]
Add back push triggers
Do {debug|checked|release} builds for all platforms on push. Upstack
projects (e.g CoreFX) take some of these as inputs and we use the
results in building out the badge links.
For the jobs which have flow's, just build the folow (which will trigger
the non flow builds).
Commit migrated from https://github.com/dotnet/coreclr/commit/
3dd598b80aaff4d2110dc4a7fc26c3ce81471b2c
Jan Kotas [Thu, 18 Feb 2016 17:27:35 +0000 (09:27 -0800)]
Delete unused files
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3c3bc46ec96e30d9043265993e77a49060f6667
Jan Kotas [Thu, 18 Feb 2016 17:21:04 +0000 (09:21 -0800)]
Delete MDIL generation support from JIT-EE interface
Commit migrated from https://github.com/dotnet/coreclr/commit/
ca5dc52f79b91cd58c52b42927d19ec18c1281db
Gaurav Khanna [Thu, 18 Feb 2016 17:59:41 +0000 (08:59 -0900)]
Merge pull request dotnet/coreclr#3224 from gkhanna79/UpdateNugetPkg
Update CoreCLR Nuget package
Commit migrated from https://github.com/dotnet/coreclr/commit/
efcbea540d72c364b486135b3b84b7208c6e9344
Jan Kotas [Thu, 18 Feb 2016 17:17:52 +0000 (09:17 -0800)]
Delete NetCF quirks from RyuJIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1cc1cc104e4ad5e32a9f287b717c6ceba33e124
Andy Ayers [Wed, 17 Feb 2016 20:46:29 +0000 (12:46 -0800)]
Inline refactoring: add candidate observations
Add candidate observations and update the InlineResult to hold
onto the observation rather than the reason string.
Commit migrated from https://github.com/dotnet/coreclr/commit/
25dcd21f6ecf7f4c226bf2965f1adc8ba0bd14f3
Andy Ayers [Thu, 18 Feb 2016 16:43:15 +0000 (08:43 -0800)]
Merge pull request dotnet/coreclr#3196 from AndyAyersMS/InlineRefactor4
Inline refactoring: header cleanup and some renaming
Commit migrated from https://github.com/dotnet/coreclr/commit/
692e7cbeebe3017c8ff87453c50cf41748c19d6b
Gaurav Khanna [Thu, 18 Feb 2016 04:53:59 +0000 (20:53 -0800)]
Update CoreCLR Nuget package version to be 1.0.2.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c234d65b9fc325fb37b95b39bf71e53558d8126
Jan Vorlicek [Thu, 18 Feb 2016 09:23:10 +0000 (10:23 +0100)]
Merge pull request dotnet/coreclr#3191 from manu-silicon/absolute_path
Fix absolute path on Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
1d4b52c49c727abb9cc8c9c5857a895ca88a76ed
Aditya Mandaleeka [Thu, 18 Feb 2016 02:35:13 +0000 (18:35 -0800)]
Fix typo in genXplatEventing.py.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2bb58c00bbd05465ce0e8abcc8bd2a9ea8cf6dc3
Aditya Mandaleeka [Thu, 18 Feb 2016 00:56:28 +0000 (16:56 -0800)]
Use pal.h directly in Unix twowaypipe code and remove windefs.h.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4fee7ae253a271cc70028202104e92128d1a5bd8
Richard L Ford [Tue, 16 Feb 2016 23:13:32 +0000 (15:13 -0800)]
Port desktop tests that had references
This change ports desktop tests that had references to dlls.
It also fixes some of the dll project files.
In addition there are some additional tests that were not
previously ported (but that do not reference dlls).
There are 4 tests that are excluded because of issue dotnet/coreclr#3216.
Commit migrated from https://github.com/dotnet/coreclr/commit/
30c68b9d32ee6a6b82fa8315087a6dcbbe85a4b2
Jan Kotas [Thu, 18 Feb 2016 04:06:07 +0000 (20:06 -0800)]
Merge pull request dotnet/coreclr#3218 from sergiy-k/niimageloading
Change MAPMapPEFile to use ExecutableAllcator instead of mmap to reserve VA
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb451196a6e9838eb7104c8cac5fd34716193458
Jan Kotas [Thu, 18 Feb 2016 04:04:15 +0000 (20:04 -0800)]
Merge pull request dotnet/coreclr#3220 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
cc32acc6c3380065382d2ce7a9ae58123c453a2c
James Ko [Thu, 18 Feb 2016 03:41:42 +0000 (22:41 -0500)]
Optimize String.Replace when the chars are the same
Commit migrated from https://github.com/dotnet/coreclr/commit/
351091dcb99061d735cc2792139e737a8ead93dd
Maoni Stephens [Thu, 18 Feb 2016 02:34:21 +0000 (18:34 -0800)]
port fix for pad ratio
[tfs-changeset: 1576135]
Commit migrated from https://github.com/dotnet/coreclr/commit/
2db173a6b40b2a106443b00adbfd65c3aa2c0378
Brian Sullivan [Thu, 18 Feb 2016 02:03:17 +0000 (18:03 -0800)]
Refactor the Conditional branches on Arm to match the Arm condition codes
Updated the enum emitJumpKInd to use Arm condition codes rather than x86 conditional branches
This change impacts the Arm32 JIT and verified to have no asm diffs using the for Arm32
Implemented and tested for Arm64 the full set of ordered and unordered floating point branches
Implemented and tested for Arm64 genSetRegToCond for ordered and unordered floating point compares
On Arm64 we now use the genJumpKIndsForTree to return up to two conditional branches for floating point compares
Cleanup we now use genJumpKindForOper to select conditional branches and prefer
using isUnsigned=false for creating branches for GT_EQ and GT_NE
Removed the unused fourth 'condcode' portion of the JMP_SMALL macro and
the fourth column from the Arm/ARm64 part of "emitjmps.cpp"
Unified Arm32 and Arm64 conditionals in "emitjmps.cpp"
Reordered the Arm32 and Arm64 conditionals in "emitjmps.cpp" to matchthe ARMV8 docs
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7f71728c96e84378e62e243ce4332130f513dba
Manu [Tue, 16 Feb 2016 06:27:24 +0000 (15:27 +0900)]
Fix ildasm to be run without specifying the full path
Using the fixed version of GetEntrypointExecutableAbsolutePath when the
program name on the command line does not reflect an actual file on disk
(case when a program is launched by finding it in the PATH). This should fix
issuedotnet/coreclr#3190.
Commit migrated from https://github.com/dotnet/coreclr/commit/
abb5d8d97411b4260631f00fe3097e61e12466f1
Sergiy Kuryata [Thu, 18 Feb 2016 01:40:30 +0000 (17:40 -0800)]
Change MAPMapPEFile to use ExecutableAllcator instead of mmap to reserve VA
This change modifies the MAPMapPEFile in PAL to use ExecutableAllcator
instead of mmap in order to reserve VA for managed executable images. This
allows all NI images to be located near each other and close to the
coreclr library, which also allows the runtime to generate code that is
more efficient (by avoiding usage of jump stubs).
It also fixes an issue (https://github.com/dotnet/cli/issues/652) where
CLI fails with OutOfMemoryException which turned out to be related to
loading NI files. Due to a certain allocation pattern, mmap can place an
NI file at a region of virtual address space that does not have any free
memory around the NI images. As a result, when the runtime needs to
allocate memory for jump stubs for the image it cannot find any available
memory near the image and fails with OutOfMemoryException.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1e9fa4403180ab5298008efb24142ff164c4b57
Manu [Tue, 16 Feb 2016 06:27:04 +0000 (15:27 +0900)]
Fix GetEntrypointExecutableAbsolutePath on Linux
Although PRdotnet/coreclr#1818 was supposed to implement this for Linux, only the MacOS X
implementation was correct. We are now using `readlink' on Linux to get
the path of the current running executable.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4d8a8d865c2c1eba7166e5d6c822419b6f1a1ea
Jan Kotas [Thu, 18 Feb 2016 01:33:32 +0000 (17:33 -0800)]
Merge pull request dotnet/coreclr#3215 from jkotas/arm-floatargs
Save/restore floating point arguments in asm macros on Linux arm and arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
89396ee16657a2884babe8ac5d0e688743d4cd83
Aditya Mandaleeka [Thu, 18 Feb 2016 00:37:12 +0000 (16:37 -0800)]
Remove PAL_unlink.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d931b57022622db8e38b41c697eba730ec4f0c41
Jan Kotas [Wed, 17 Feb 2016 19:26:36 +0000 (11:26 -0800)]
Save/restore floating point arguments in transition block on arm and arm64
The transition block prolog/epilog macros were not correctly saving and restoring the floating point arguments on arm and arm64 on Unix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b576b9c032b06b082304638da5642da63b646ed
Rahul Kumar [Wed, 17 Feb 2016 23:55:18 +0000 (15:55 -0800)]
Merge pull request dotnet/coreclr#3213 from rahku/fixarm64
Fix arm64 build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
357662351bc2ef57c032143ebf6bbfab6dcb593e
Jan Kotas [Wed, 17 Feb 2016 21:38:46 +0000 (13:38 -0800)]
Merge pull request dotnet/coreclr#3189 from krytarowski/netbsd-support-49
Enforce compiler version of alloca(3) on NetBSD
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ad35ca6638ed7b57bbbf21aa9d082e3f39f1d6b
Kyungwoo Lee [Wed, 17 Feb 2016 21:30:02 +0000 (13:30 -0800)]
Merge pull request dotnet/coreclr#3212 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
38bfba8bb44aa09abad5de3605b1e53e57fc49f4
Sejong Oh [Wed, 17 Feb 2016 20:37:09 +0000 (12:37 -0800)]
Merge pull request dotnet/coreclr#3166 from sejongoh/add_linux_corefx_testing
Enable linux corefx testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
b234866bd2a1b4674850c28f980f116042b8b8ea
Rahul Kumar [Wed, 17 Feb 2016 20:30:45 +0000 (12:30 -0800)]
Fix arm64 build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8b119b360b4a0b0f054954ed64c5898a50a7ad8
Kamil Rytarowski [Tue, 16 Feb 2016 21:55:13 +0000 (22:55 +0100)]
Fix NetBSD build issue: Use compiler version of alloca(3) when possible
The documentation of alloca(3) says:
o The alloca() function should be supplied by the compiler because the
compiler is allowed to make assumptions about the stack and frame
pointers. The libc alloca() implementation cannot account for those
assumptions. While there is a machine dependent implementation of
alloca() in libc, its use is discouraged and in most cases it will
not work. Using this implementation will produce linker warnings.
This is true for CoreCLR - alloca(3) was breaking 30 PAL tests.
Enforce on this operating system a compiler version.
Thanks Jan Kotas (Microsoft) for inspiration what may go wrong.
Thanks Jan Vorli (Microsoft) for useful suggestions in order to fix it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6952d90ad3edfc461ecbe081f121419f4072326c
Aditya Mandaleeka [Wed, 17 Feb 2016 19:40:21 +0000 (11:40 -0800)]
Merge pull request dotnet/coreclr#3211 from gregg-miskelly/OSXAttachFix
Fix debugger attach to process on OSX
Commit migrated from https://github.com/dotnet/coreclr/commit/
01ffa08a2e4748e9826956ea961eacb227b6ee87
dotnet-bot [Wed, 17 Feb 2016 19:03:58 +0000 (11:03 -0800)]
Option for Enforcing Intrinsic Expansion
Currently intrinsic is disabled under MIN_OPT while being enabled under OPT.
There is no way to enforce intrinsic expansion where non-intrinsic (call) path is not yet implemented.
This adds an optional output boolean argument to getIntrinsicID that tells JIT whether to enforce intrinsic expansion.
If JIT cannot expand intrinsic for such case, fatal error occurs.
There is no functional change the argument is default to false.
[tfs-changeset: 1575973]
Commit migrated from https://github.com/dotnet/coreclr/commit/
6589e221cb6677f4cbf8e94eebddfd390d7f29c4
Jan Vorlicek [Wed, 17 Feb 2016 19:01:19 +0000 (20:01 +0100)]
Merge pull request dotnet/coreclr#3177 from krytarowski/netbsd-support-47
Fix build issue on NetBSD: Make RPATH optional and user-settable
Commit migrated from https://github.com/dotnet/coreclr/commit/
048ba1a793e96e0fe82597ddde6a792aff9ba58e
Andy Ayers [Wed, 17 Feb 2016 18:39:18 +0000 (10:39 -0800)]
Merge pull request dotnet/coreclr#3205 from AndyAyersMS/FixBenchFProjFiles
Remove IlasmRoundTrip from these project files
Commit migrated from https://github.com/dotnet/coreclr/commit/
05eb55705da5c79b40b28628c587dc235455fe43
Gregg Miskelly [Wed, 17 Feb 2016 18:37:26 +0000 (10:37 -0800)]
Fix debugger attach to process on OSX
Attaching to processes on OSX was broken with the way the .NET CLI is installing CoreCLR. The issue is that the vmmap executable that dbgshim is using will, by default, truncate paths. This caused it to be unable to find the real path to DBI.
Fix: pass the '-wide' argument to vmmap
Commit migrated from https://github.com/dotnet/coreclr/commit/
12fd39f35bd51b20afde770225fca4bef561ac61
Andy Ayers [Tue, 16 Feb 2016 22:28:08 +0000 (14:28 -0800)]
Inline refactoring: header cleanup and some renaming
Move inlining classes and related bits of code into inline.h.
Rename `JitInlineResult` to `InlineResult` and `InlInlineHints` to
`InlineHints`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
241860f7578fd6f064807a5477dec212b5e35941
Andy Ayers [Wed, 17 Feb 2016 18:04:17 +0000 (10:04 -0800)]
Merge pull request dotnet/coreclr#3203 from AndyAyersMS/FixJitMemoryUsage
Fix issue with excessive memory use by debug and checked jits
Commit migrated from https://github.com/dotnet/coreclr/commit/
89c4544c2e9849abc09f1d2ec0ca2b1276234da3
Russ Keldorph [Wed, 17 Feb 2016 17:39:10 +0000 (09:39 -0800)]
Merge pull request dotnet/coreclr#3173 from mikedn/ssadef-dup
Remove duplicate calls to GetPerSsaData
Commit migrated from https://github.com/dotnet/coreclr/commit/
50e76ef3cea8a2ec1ac603805074c409510bc43c
Russ Keldorph [Wed, 17 Feb 2016 17:37:49 +0000 (09:37 -0800)]
Merge pull request dotnet/coreclr#3176 from mikedn/topref
Avoid unnecessary copies of AllSuccessorIter and LocationInfo
Commit migrated from https://github.com/dotnet/coreclr/commit/
8915919c187beaf51be65985ee476563351f5e03
Andy Ayers [Wed, 17 Feb 2016 16:36:45 +0000 (08:36 -0800)]
Remove IlasmRoundTrip from these project files
We test ilasm/ildasm separately, so no reason to round trip when
building these benchmarks.
Closes dotnet/coreclr#3202.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5b017ed9523ab85e39cae37ac565f004510f5d5
Kyungwoo Lee [Wed, 17 Feb 2016 13:06:34 +0000 (05:06 -0800)]
Merge pull request dotnet/coreclr#3187 from manu-silicon/ildasm
Fix ildasm when ran against CoreFX assemblies like System.Runtime
Commit migrated from https://github.com/dotnet/coreclr/commit/
17c8a749b3e1a1af8294b72eb722107b72f4460e
Andy Ayers [Wed, 17 Feb 2016 07:46:16 +0000 (23:46 -0800)]
Fix issue with excessive memory use by debug and checked jits
In dotnet/coreclr#3051 the jit started calling `eeGetClassFullName` for both
caller and callee handles even when dumping was disabled, passed
this information to the logging messages where previously the caller
and callee were identified via other context, and prepared the full
name dump artifacts for all inline decisions rather than the selective
cases handled previously.
This change caused excessive memory use in some tests.
This change makes the calls to `eeGetClassFullName` conditional on
whether dumping is enabled, and does not require these calls for logging
messages.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5e852304f2eff62533e103d706a2604a1e82ab17
Manu [Wed, 17 Feb 2016 00:48:16 +0000 (09:48 +0900)]
Fix invalid usage of pointer and SZSTRING_REMAINING_SIZE macro
When manipulating strings, the string destination buffer and the argument
of SZSTRING_REMAINING_SIZE should be the same otherwise buffer
overflows will occur.
Changed DumpHexbytes to start from the provided pointer and not finding
out how much was printed so far in the szString buffer.
Commit migrated from https://github.com/dotnet/coreclr/commit/
153e0bb1bbd1724dc8e2b1e9faf52d82c22f8815
Jan Kotas [Wed, 17 Feb 2016 03:36:44 +0000 (19:36 -0800)]
Merge pull request dotnet/coreclr#3200 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
c001e33728b82889cef3e59265f118099e7061b2
Kamil Rytarowski [Sun, 14 Feb 2016 16:34:25 +0000 (17:34 +0100)]
Fix build issue on NetBSD: Make RPATH optional and user-settable
The `$ORIGIN` linker feature isn't supported on NetBSD.
All RPATH is done via `pkgsrc` on all supported platforms, allow to override it.
pkgsrc will set CORECLR_SET_RPATH:BOOL=OFF and specify manually needed options.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4716674cb18b998dcf6c8dd1b9eb24fba282035e
Manu [Tue, 16 Feb 2016 00:09:14 +0000 (09:09 +0900)]
Fix Init to return False when not being able to load executable
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7eebaa2c75ec211faf322445b1b1fc6b96b72b2
Jan Kotas [Wed, 17 Feb 2016 00:37:06 +0000 (16:37 -0800)]
Merge pull request dotnet/coreclr#3195 from janvorli/fix-invalid-gcvalue
Fix INVALIDGCVALUE on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
e4c79ec276e3c3f42600fb48d86c3d9dba4ef415
Jan Vorlicek [Wed, 17 Feb 2016 00:18:07 +0000 (01:18 +0100)]
Merge pull request dotnet/coreclr#3167 from mikem8361/tracing
Fix tracing lib problems in multiple PALs. Issue dotnet/coreclr#3164.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ddaba368dbfb67d3609803a8cab6d8e203687000