John Chen (JOCHEN7) [Wed, 24 Feb 2016 04:36:07 +0000 (20:36 -0800)]
Support long paths in CoreCLR runtime on Windows
The CoreCLR runtime is updated to support long file paths on Windows.
Pending updates to mscorlib.dll, the following scenarios are supported:
* Run managed apps from a long path.
* Load CoreCLR runtime and framework from a long path.
* Load user assemblies from a long path.
* Run CrossGen from a long path, with its input/output from a long path.
* Generate debug log file at a long path.
The following scenarios are not yet supported, and will be fixed in
future commits:
* Mscorlib.dll and framework assemblies are not yet long path compatible.
Note that until mscorlib.dll is fixed, most of the runtime changes can't
actually be used.
* Support on non-Windows platforms.
* Support for debugging and error reporting.
* Tools such as ilasm or ildasm.
Commit migrated from https://github.com/dotnet/coreclr/commit/
488e6a16685241ed1aed3b3d386b78ed32e428f0
Pat Gavlin [Mon, 29 Feb 2016 20:55:50 +0000 (12:55 -0800)]
Merge pull request dotnet/coreclr#3431 from CarolEidt/ProtojitAltJit
Define ALT_JIT for protojit.dll
Commit migrated from https://github.com/dotnet/coreclr/commit/
2d98b6a53263b9ad4b98e4a5dee35e703fd7ddf5
Pat Gavlin [Mon, 29 Feb 2016 19:33:15 +0000 (11:33 -0800)]
Merge pull request dotnet/coreclr#3389 from pgavlin/AllocatorRefactor
Refactor the pooled ArenaAllocator.
Commit migrated from https://github.com/dotnet/coreclr/commit/
156971c8b4fe09797e8e9bf480fa1cc302ff679a
Pat Gavlin [Mon, 29 Feb 2016 19:32:46 +0000 (11:32 -0800)]
Merge pull request dotnet/coreclr#3429 from kyulee1/pow
ARM64: Fix for pow test
Commit migrated from https://github.com/dotnet/coreclr/commit/
98e6343eb0d52a98c08f00b74ff2cc3c3a80f4dd
Rahul Kumar [Mon, 29 Feb 2016 19:21:29 +0000 (11:21 -0800)]
Merge pull request dotnet/coreclr#3430 from rahku/arm64
Fixes issue dotnet/coreclr#2643 and dotnet/coreclr#2731
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8c495699b76908bccb2af6fb1663d7a5b24e7d8
Carol Eidt [Mon, 29 Feb 2016 19:18:02 +0000 (11:18 -0800)]
Define ALT_JIT for protojit.dll
This enables the use of the COMPlus variables for controlling which
files use the altjit, as well as for dumps, etc.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3c874c60032a1e065c96187b4dd056ddbde51d4
William Godbe [Mon, 29 Feb 2016 18:23:23 +0000 (10:23 -0800)]
Merge pull request dotnet/coreclr#3328 from wtgodbe/centos
Enable checked CentOS pri 1 build & test jobs per-commit in CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
02a59396ec4271eced2b4c7c93380ff64b35ddf1
William Godbe [Tue, 23 Feb 2016 19:52:19 +0000 (11:52 -0800)]
Enable checked CentOS pri 1 build & test jobs per-commit in CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ff62096f5a1e79ced505c2def9309641392ed7a
Rahul Kumar [Mon, 29 Feb 2016 18:01:04 +0000 (10:01 -0800)]
Fixes issue dotnet/coreclr#2643 and dotnet/coreclr#2731
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc27b37c381c842b153f1d1777f2903a3ea2a9ac
Pat Gavlin [Mon, 29 Feb 2016 17:57:25 +0000 (09:57 -0800)]
Merge pull request dotnet/coreclr#3399 from pgavlin/Disable374539
Move devdiv374539 out of test priority 0.
Commit migrated from https://github.com/dotnet/coreclr/commit/
50aa063e74a277a576122ca824d062e12ae3af26
Pat Gavlin [Fri, 26 Feb 2016 19:17:03 +0000 (11:17 -0800)]
Refactor the pooled ArenaAllocator.
The mark/release functionality on `ArenaAllocator` was only being used by the pooled
allocator, and caused some complications in API and implementation. Instead of
providing this functionality on all allocators, refactor this functionality out of
`ArenaAllocator` and into a new subclass, `PooledAllocator`, that provides the
singleton pooled allocator.
A number of additional usability/reliability changes have been enabled as part of this
change:
- `ArenaAllocator::initialize` has been replaced with move assignment
- Asserts have been added on all relevant instance methods to ensure that
`ArenaAllocator` values are initialized before use
- `ArenaAllocator::returnPooledAllocator` has been replaced by making
`ArenaAllocator::destroy` virtual and having `PooledAllocator::destroy` return the
singleton
- The teardown of the pooled allocator is now thread-safe w.r.t. the shutdown of the
arena allocator subsystem
Commit migrated from https://github.com/dotnet/coreclr/commit/
688e7869d18be350f3e32b6a6bd8f347d722b3dd
Kyungwoo Lee [Mon, 29 Feb 2016 16:18:33 +0000 (08:18 -0800)]
ARM64: Fix for pow test
This skips Pow(Double.Epsilon,1) test for ARM64 same as ARM.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f4ad09a94ceab16ff3c0b4e4455d19c890633e3
Gaurav Khanna [Mon, 29 Feb 2016 03:42:52 +0000 (19:42 -0800)]
Merge pull request dotnet/coreclr#3423 from gkhanna79/ExtendNugetPkgSupport
Generate CoreCLR Nuget Package for CentOS, Debian and RHEL
Commit migrated from https://github.com/dotnet/coreclr/commit/
8b687145c7806d43ed3ad19b95e13dabaa31df73
Matt Ellis [Mon, 29 Feb 2016 02:43:19 +0000 (18:43 -0800)]
Merge pull request dotnet/coreclr#3424 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
f23c602bc78796baf7358b3ff5789ef7360dd2dd
Matt Ellis [Mon, 29 Feb 2016 01:40:42 +0000 (17:40 -0800)]
Add missing .gitmirror file.
[tfs-changeset: 1579610]
Commit migrated from https://github.com/dotnet/coreclr/commit/
c16f415fa11a1e233dcc57e6e37fa3ac9262bec7
Stephen Toub [Sun, 28 Feb 2016 23:46:10 +0000 (18:46 -0500)]
Merge pull request dotnet/coreclr#3418 from krytarowski/netbsd-support-58
Add netbsdmscorlib to build.cmd
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd377565b896fe3323f319c3ceaea2d82edc608f
Rahul Kumar [Sun, 28 Feb 2016 23:40:16 +0000 (15:40 -0800)]
Merge pull request dotnet/coreclr#3387 from rahku/Helix
Helix test: remove hack to copy currently built runtime.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bdef6f7cedb50988ab8d90a076c4284350dd0d67
Rahul Kumar [Fri, 26 Feb 2016 01:13:49 +0000 (17:13 -0800)]
remove hack to copy currently built runtime.
Instead add dependency to currently built runtime package
Commit migrated from https://github.com/dotnet/coreclr/commit/
d39c8a145ced54a4ffdcec75180e7e843ab85760
Gaurav Khanna [Sun, 28 Feb 2016 17:38:18 +0000 (09:38 -0800)]
Generate CoreCLR Nuget Package for CentOS, Debian and RHEL
Commit migrated from https://github.com/dotnet/coreclr/commit/
a20e204df9111cddab6246b1ba17fa34fb61bce2
Rahul Kumar [Sun, 28 Feb 2016 16:16:24 +0000 (08:16 -0800)]
Merge pull request dotnet/coreclr#3402 from rahku/fixBbuil
fix warning C4334
Commit migrated from https://github.com/dotnet/coreclr/commit/
65bc50c6fa07750154ab3aa2adeef811bfb2d948
Jan Kotas [Sun, 28 Feb 2016 06:17:46 +0000 (22:17 -0800)]
Merge pull request dotnet/coreclr#3410 from jkotas/license
Update license header
Commit migrated from https://github.com/dotnet/coreclr/commit/
26003bc83f793412a16f7f53e16640efc06e2640
Jan Kotas [Sat, 27 Feb 2016 23:44:21 +0000 (15:44 -0800)]
Merge pull request dotnet/coreclr#3415 from krytarowski/netbsd-support-57
Fix build on NetBSD: Include <stdarg.h> for va_arg(3)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4245b685acab77bd8b60f197f9db3c2def441b5a
Kamil Rytarowski [Sat, 27 Feb 2016 22:42:42 +0000 (23:42 +0100)]
Add netbsdmscorlib to build.cmd
Commit migrated from https://github.com/dotnet/coreclr/commit/
9dbc7618d427491a7542cb5bf1df422ca5391cc6
Aditya Mandaleeka [Sat, 27 Feb 2016 22:34:51 +0000 (14:34 -0800)]
Merge pull request dotnet/coreclr#3140 from adityamandaleeka/env_pal
Fix usage of environment in PAL
Commit migrated from https://github.com/dotnet/coreclr/commit/
70f034a8ee1ec9bd5532663ec54e3f885eea692d
Kamil Rytarowski [Sat, 27 Feb 2016 21:19:11 +0000 (22:19 +0100)]
Fix build on NetBSD: Include <stdarg.h> for va_arg(3)
STDARG(3) Library Functions Manual STDARG(3)
NAME
stdarg, va_arg, va_copy, va_end, va_start - variable argument lists
SYNOPSIS
#include <stdarg.h>
void
va_start(va_list ap, last);
type
va_arg(va_list ap, type);
void
va_copy(va_list dest, va_list src);
void
va_end(va_list ap);
NetBSD 7.99 June 14, 2015 NetBSD 7.99
Commit migrated from https://github.com/dotnet/coreclr/commit/
35c78b974239034a21d58fcad357f3d7b10c5ff4
Aditya Mandaleeka [Sat, 27 Feb 2016 21:12:17 +0000 (13:12 -0800)]
Merge pull request dotnet/coreclr#3261 from krytarowski/netbsd-support-51
Fix NetBSD build: Define PAL_STDCPP_COMPAT=1 for twowaypipe.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
beccdbf19acba2cbc69dfe4e5c4abdb5173c339e
Aditya Mandaleeka [Fri, 12 Feb 2016 03:08:06 +0000 (19:08 -0800)]
Further cleanup of environment code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d26de9e1b371ba5598e2e004a4402e5d30d70eff
Jan Kotas [Sat, 27 Feb 2016 16:38:31 +0000 (08:38 -0800)]
Merge pull request dotnet/coreclr#3406 from BruceForstall/RemoveDupGS2
Remove duplicate GS compiler switch setting
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9b36fbcf2b06e9d9add05e9cf4c7c55061f4f03
Jan Kotas [Sat, 27 Feb 2016 16:36:55 +0000 (08:36 -0800)]
Update license header
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd09dd93a6c9cf4dd72f71b780c1bd1c151e602d
Jan Kotas [Sat, 27 Feb 2016 16:33:58 +0000 (08:33 -0800)]
Merge pull request dotnet/coreclr#3395 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
be7be85639e952ec3327b520511de21e4dad47d1
Bruce Forstall [Sat, 27 Feb 2016 16:25:50 +0000 (08:25 -0800)]
Merge pull request dotnet/coreclr#3397 from BruceForstall/AddRuntimeInformationReference
Add reference to System.Runtime.InteropServices.RuntimeInformation
Commit migrated from https://github.com/dotnet/coreclr/commit/
39d430f869340d5c3fd81b6e2bc01d574c2a2870
Bruce Forstall [Sat, 27 Feb 2016 16:21:48 +0000 (08:21 -0800)]
Merge pull request dotnet/coreclr#3403 from BruceForstall/FixLinuxStandalone
Add linker magic to non-Windows standalone RyuJIT build
Commit migrated from https://github.com/dotnet/coreclr/commit/
1cfda8d6546ad8b5044037e604817da963686a7d
Jan Kotas [Sat, 27 Feb 2016 16:09:41 +0000 (08:09 -0800)]
Merge pull request dotnet/coreclr#3409 from stephentoub/stop_masking_job_signals
Stop masking SIGTSTP and SIGCONT
Commit migrated from https://github.com/dotnet/coreclr/commit/
876ab1b42e9b489f3fbd0a37fca7559cf91eb836
Pat Gavlin [Sat, 27 Feb 2016 15:52:07 +0000 (07:52 -0800)]
Merge pull request dotnet/coreclr#3407 from mikedn/nra-comments
Update JIT's ArenaAllocator comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c960c75fa44e247b31e37e09db056687415d3ff
Stephen Toub [Sat, 27 Feb 2016 13:51:58 +0000 (08:51 -0500)]
Stop masking SIGTSTP and SIGCONT
These are needed for job management, e.g. with SIGTSTP masked, ctrl-z doesn't work to suspend a process, and with SIGCONT masked, when the process is resumed it doesn't get notified.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7c471478c21bf567dfbf12c99e43bb081ccb1e6
Mike Danes [Sat, 27 Feb 2016 11:34:28 +0000 (13:34 +0200)]
Update JIT's ArenaAllocator comments
A recent allocator refactoring changed function and class names but the old names were still referenced in a comment.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ef14d7df2345d6c9ca0a4e0c0d762de1f867982
Pat Gavlin [Sat, 27 Feb 2016 03:58:34 +0000 (19:58 -0800)]
Merge pull request dotnet/coreclr#3400 from pgavlin/TruncationCleanup
Clean up some truncation warnings in the JIT.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4dcc5e5e307e98811f599c5bdb245e7d13795c82
Mike McLaughlin [Sat, 27 Feb 2016 03:29:35 +0000 (19:29 -0800)]
Merge pull request dotnet/coreclr#3401 from mikem8361/sosdocs
Add the "sosdocsunix.txt" sos help file to the nuget packages.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2916207efaae0dd7800aa69ee4c4f112b72d7fae
Bruce Forstall [Sat, 27 Feb 2016 01:40:23 +0000 (17:40 -0800)]
Add linker magic to non-Windows standalone RyuJIT build to make PAL work better when dynamically loading it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
deb42acb17313457bd9eb7b3c50c3aca06024202
Bruce Forstall [Sat, 27 Feb 2016 03:08:24 +0000 (19:08 -0800)]
Remove duplicate /GS switch
Also, fix a typo.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0582ab0dcc142e84cd16e15623f37ffe76cba24d
Matt Ellis [Sat, 27 Feb 2016 02:22:11 +0000 (18:22 -0800)]
Merge pull request dotnet/coreclr#3398 from mikem8361/fixstrike
Fix sos/strike build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2effea2c48268a3203e07b035a39ab20fa13fb8f
Brian Sullivan [Sat, 27 Feb 2016 01:59:44 +0000 (17:59 -0800)]
Merge pull request dotnet/coreclr#3390 from briansull/mod-fixes
Fixes GT_MOD codegen and three other issues for ARM64
Commit migrated from https://github.com/dotnet/coreclr/commit/
420d6fa5171df70f38ae44e4920ae9be25668106
Brian Sullivan [Fri, 26 Feb 2016 22:21:51 +0000 (14:21 -0800)]
Fixes GT_MOD codegen and three other issues for ARM64
Fix Issue 3263 - Incorrect codegen for rem.un - Unisgned Remainder
Fix Issue 3317 - Improve the codegen for divide so that we omit checks when we have a constant divisor
Fix Issue 3326 - assert EA_4BYTE or EA_8BYTE
Fix an assert when using alloca with allocation between 65 and 4095 bytes
Also fixed the name for GT_UDIV and GT_UDIV to contain a "un-" prefix.
Added 10 additional passing tests with tag REL_PASS
Commit migrated from https://github.com/dotnet/coreclr/commit/
57fcdf4b6982322dd1fe76dd41bd07a545f74985
Rahul Kumar [Sat, 27 Feb 2016 00:42:48 +0000 (16:42 -0800)]
fix warning C4334
Commit migrated from https://github.com/dotnet/coreclr/commit/
fde7b2cd22a8c67ecf145e8602a132baa9a70156
Mike McLaughlin [Sat, 27 Feb 2016 01:15:13 +0000 (17:15 -0800)]
Add the "sosdocsunix.txt" sos help file to the nuget packages.
This allows the sos help command to work when installed from our packages.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5678e05128ac84347109cb1528452ee3628ab4b
Pat Gavlin [Sat, 27 Feb 2016 01:06:27 +0000 (17:06 -0800)]
Move devdiv374539 out of test priority 0.
This test takes a very long time to execute (~60% of the total time
spent in JIT tests on my machine) and does not seem to be providing
an enormous amount of value. This change moves the test into priority
1, which excludes it from the build by default. If you already have
a test build, you will need to do a clean build in order to avoid
running this test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
121a4629b563a1f473e4f03f66a9dcdcf10afc8a
Jan Vorlicek [Sat, 27 Feb 2016 01:06:01 +0000 (02:06 +0100)]
Merge pull request dotnet/coreclr#3393 from janvorli/make-hw-exception-test-pri-0
Change avtest priority to 0
Commit migrated from https://github.com/dotnet/coreclr/commit/
3f7014ce953e60083f4f4412ae4a7b8faefe8243
Pat Gavlin [Sat, 27 Feb 2016 00:48:47 +0000 (16:48 -0800)]
Clean up some truncation warnings in the JIT.
These changes address casts that trigger warnings C4242, C4254, or
C4302 (all of which are truncation-related). Most of the warnings
turned out to be innocuous, but there does seem to be some fishiness
when truncating pointer values to 32-bit integers for the purpose
of generating hash codes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed690e0a669cf3c62588c3cbc9d5012490cee1c3
Mike McLaughlin [Sat, 27 Feb 2016 00:35:19 +0000 (16:35 -0800)]
Fix sos/strike build.
The previous sos commit added some xplat specific files in a "inc" directory that already exists on the tfs side containing the actual dbgeng version of the files. Renamed the directory to "xplat".
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3ebfb74af90dbde9a05d708591b64eb33c5a191
Bruce Forstall [Sat, 27 Feb 2016 00:29:57 +0000 (16:29 -0800)]
Add reference to System.Runtime.InteropServices.RuntimeInformation.dll for some JIT tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba6d6ef68cb0c0258ce9656101fc8609d90a5dea
Bruce Forstall [Sat, 27 Feb 2016 00:23:38 +0000 (16:23 -0800)]
Merge pull request dotnet/coreclr#3383 from BruceForstall/FixJitSystemIOFilesystemBinding
Change binding of System.IO.FileSystem
Commit migrated from https://github.com/dotnet/coreclr/commit/
894d162e62a6028a26f6bd129a299c7694b1bf42
Matt Ellis [Fri, 26 Feb 2016 23:57:40 +0000 (15:57 -0800)]
Fix directory name casing in TFS to match what is in git.
[tfs-changeset: 1579410]
Commit migrated from https://github.com/dotnet/coreclr/commit/
521d0fe1941a1f0f03e001b41e15675bbeb622ba
Jan Vorlicek [Fri, 26 Feb 2016 23:39:00 +0000 (00:39 +0100)]
Change avtest priority to 0
This change modifies the priority of the coreclr regression test avtest
to 0 so that it is run in the lab as part of the CI. This fulfills the
Commit migrated from https://github.com/dotnet/coreclr/commit/
c066fb30535f02080629f0500a128cf743070970
Matt Ellis [Fri, 26 Feb 2016 22:05:51 +0000 (14:05 -0800)]
Add missing .gitmirror file.
[tfs-changeset: 1579391]
Commit migrated from https://github.com/dotnet/coreclr/commit/
f085d07b88ca375bbca0f6593d252d6fe85650ce
Aditya Mandaleeka [Thu, 11 Feb 2016 02:06:38 +0000 (18:06 -0800)]
Add documentation to environ functions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bfc8932f80aaada9aa09b4b5ffca33f88b3cf027
Aditya Mandaleeka [Wed, 10 Feb 2016 03:14:28 +0000 (19:14 -0800)]
Fix all callers of environment functions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6f241cbc1122ac9fa3efdf9d39646e7848d6219
Aditya Mandaleeka [Tue, 9 Feb 2016 03:17:09 +0000 (19:17 -0800)]
Remove usage of PALC versions of critsec functions in environ.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5381c4eebfe7b8dc3655d1b094cda14a132edeae
Aditya Mandaleeka [Tue, 9 Feb 2016 02:11:15 +0000 (18:11 -0800)]
Modify environment code to avoid unsafe environ usage.
Commit migrated from https://github.com/dotnet/coreclr/commit/
57826d55c851c21714ce043ab1606aa07c716c21
Aditya Mandaleeka [Tue, 9 Feb 2016 00:14:57 +0000 (16:14 -0800)]
Consolidate environment code in environ.cpp.
Commit migrated from https://github.com/dotnet/coreclr/commit/
404c73d924bd999df383a5ed46ca6d65d9b57131
Chris McKinsey [Fri, 26 Feb 2016 20:37:32 +0000 (12:37 -0800)]
Merge pull request dotnet/coreclr#3381 from cmckinsey/DevDiv_168744
Fix bug in optOptimizeBools for equality of 0/1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ab9bcb2ffba27b8b5b75d23cc14095bd3e6d5b1
Kyungwoo Lee [Fri, 26 Feb 2016 19:52:22 +0000 (11:52 -0800)]
Merge pull request dotnet/coreclr#3376 from kyulee1/fixcast
ARM64: Fix for casting long to ulong
Commit migrated from https://github.com/dotnet/coreclr/commit/
e457eebfa1326b944daa024feb4aee3d26b27b45
Mike McLaughlin [Fri, 26 Feb 2016 19:43:57 +0000 (11:43 -0800)]
Merge pull request dotnet/coreclr#3365 from mikem8361/osxexception
Fix the osx exception port forwarding limitations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
057d197dbc5063d9053607784fee68fc1f5dac73
Mike McLaughlin [Wed, 27 Jan 2016 00:37:14 +0000 (16:37 -0800)]
Fix the osx exception port forwarding limitations.
Cleanup CThreadMachExceptionHandlerNode/CThreadMachExceptionHandlers.
Send forward exception, save thread info, restore thread back to faulting context and restart faulting instruction and forward.
Add MachExceptionInfo struct used to pass all the exception state around. Bump the IP back one when restarting breakpoint exceptions.
Match lldb exception port options. Found and fix bug with MACH_EXCEPTION_CODES behavior. Needed pack(4) around the exception message structs.
Cleaned up the _ASSERT, CHECK_MACH, FATAL_ERROR macros.
Dump the task level exception ports.
Add more checks to PAL SXS tests. Validate that the fault addr (ExceptionRecord.ExceptionInformation[1]) is correct. Check that a third party signal handler will be properly chained to.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f6654b6faec5730f71d6c547ea497e406ae4d47
Bruce Forstall [Fri, 26 Feb 2016 19:18:07 +0000 (11:18 -0800)]
Change binding of System.IO.FileSystem
Change the binding from 4.0.1-beta-* to 4.0.0-beta-23302 to match all other
JIT configs. This allows a not-yet-committed test to successfully run, and
doesn't seem to negatively affect existing tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0dca5017762264f09d26b6150b2e13c005ede5d6
Jose Perez Rodriguez [Fri, 26 Feb 2016 18:36:08 +0000 (10:36 -0800)]
Merge pull request dotnet/coreclr#3329 from joperezr/CleanToolRuntime
Correctly cleaning up the ToolRuntime folder once a new version is required
Commit migrated from https://github.com/dotnet/coreclr/commit/
492d298077b6220c29d3f80c4006ca1820d4efbc
Chris McKinsey [Fri, 26 Feb 2016 18:04:18 +0000 (10:04 -0800)]
Fix bug in optOptimizeBools for equality of 0/1.
The method optIsBoolCond had a clever way to test for a constant
of value 0/1 by casting the resulting gtIconVal to (unsigned) and
comparing for <= 1. Unfortunately, for 64-bit targets gtIconVal as
ssize_t holds 64-bits and the cast to (unsigned) results in truncating
significant bits and results in the optimization falsely recognizing
legal patterns of bit-tests comparing against 0/1. Because 32-bit
targets represent 64-bit long constants as GT_CNS_LNG they do not
suffer from this problem as the code already had exclusions for them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fbdd95218427aa9be25aaa7730f10e4707404c71
Andy Ayers [Fri, 26 Feb 2016 16:10:41 +0000 (08:10 -0800)]
Merge pull request dotnet/coreclr#3362 from AndyAyersMS/InlineRefactor5a2
InlineRefactoring: capturing bits of legacy policy
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e8d97edfef3e8492cf9f0b2e52dfa9570d2a33e
Jan Kotas [Fri, 26 Feb 2016 15:28:42 +0000 (07:28 -0800)]
Merge pull request dotnet/coreclr#3374 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
839a58d517bfecf7e424679cb950a788daef54c4
Jan Kotas [Fri, 26 Feb 2016 14:55:55 +0000 (06:55 -0800)]
Merge pull request dotnet/coreclr#3375 from BruceForstall/FixAltJitLoading
Fix CoreCLR altjit loading that was broken by LongFile work
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5b0444280ba0add2ca8880d240a592642e04f25
Jan Vorlicek [Fri, 26 Feb 2016 10:21:47 +0000 (11:21 +0100)]
Merge pull request dotnet/coreclr#3357 from janvorli/fix-stackwalk
Fix stack walker on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebc23989bd97ba2c59ecc60f308c880d93530312
Kyungwoo Lee [Fri, 26 Feb 2016 07:28:35 +0000 (23:28 -0800)]
ARM64: Fix for casting long to ulong
When converting long (i8) to ulong (u8) with overflow check,
JIT inadvertently inserts 4 byte mov which clears the upper bits.
This explicit conversion is only needed when converting from i4 to u8.
Before
IN0002: 000024 cmp x0, dotnet/coreclr#0
IN0003: 000028 bge G_M62889_IG03
IN0004: 00002C bl CORINFO_HELP_OVERFLOW
IN0005: 000030 mov w0, w0 --> Incorrect conversion clearing the
upper 32 bits of x0.
After
IN0005: 000028 cmp x0, dotnet/coreclr#0
IN0006: 00002C bge G_M62889_IG03
IN0007: 000030 bl CORINFO_HELP_OVERFLOW
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ab7237cf21fe4b06d284b8998fb6ddb5d05b7bd
Bruce Forstall [Fri, 26 Feb 2016 07:39:39 +0000 (23:39 -0800)]
Fix CoreCLR altjit loading that was broken by LongFile work
Commit migrated from https://github.com/dotnet/coreclr/commit/
4b00f647bce012999f1c76313014ee15a13c925f
Matt Ellis [Fri, 26 Feb 2016 06:40:34 +0000 (22:40 -0800)]
Remove need for mono resgen
The last remaining dependency on mono was to use the resgen
implementation since cross platform we don't have a version of
ResGen.exe. While MSBuild and dotnet-resgen can both convert txt files
into resources, neither of them understand the #if syntax we use in
mscorlib.txt to allow us to remove resources if features of the runtime
are not enabled.
Since we already have a dependency on Python, I've added a dead simple
script that understands the limited preprocessor features we support
and pre-processes the text file. We can then pass that preprocessed file
to MSBuild which will handle converting it to a .resources file.
[tfs-changeset: 1579180]
Commit migrated from https://github.com/dotnet/coreclr/commit/
29f52c442a08240b3df1c5893901f9dfcae6751f
Jan Kotas [Fri, 26 Feb 2016 04:09:25 +0000 (20:09 -0800)]
Merge pull request dotnet/coreclr#3350 from arnmac/patch-1
Update to freebsd-instructions.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
597fb487b5391c0c57a2cef0d51e57c840e34422
Jan Kotas [Fri, 26 Feb 2016 04:07:28 +0000 (20:07 -0800)]
Merge pull request dotnet/coreclr#3361 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb288b1bbc4a83d98ca500c16c51d0734a39db48
Stephen Toub [Fri, 26 Feb 2016 04:04:14 +0000 (23:04 -0500)]
Merge pull request dotnet/coreclr#3370 from stephentoub/upgrade_buildtools
Upgrade buildtools to 177
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff8cc4486863b19250ae8ba0eabaec2689d5184a
Jan Kotas [Fri, 26 Feb 2016 03:24:36 +0000 (19:24 -0800)]
Merge pull request dotnet/coreclr#3363 from pallavit/UpdateReflectionSA
Remove Assembly.EscapeCodeBase property from CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7528fe8e59a857dd55592543c5c077c602a62dd
Andy Ayers [Thu, 25 Feb 2016 00:14:32 +0000 (16:14 -0800)]
InlineRefactoring: capturing bits of legacy policy
Rework the logic for force inline, basic block count, il size,
and maxstack so that the policy decides when these values
should inhibit inlining.
Commit migrated from https://github.com/dotnet/coreclr/commit/
14120d399fa46844bd60c66b5b4bdb4c5ed6435d
Pat Gavlin [Fri, 26 Feb 2016 02:39:03 +0000 (18:39 -0800)]
Merge remote-tracking branch 'upstream/master' into from-tfs
Conflicts:
src/jit/CMakeLists.txt
src/jit/alloc.cpp
src/jit/alloc.h
src/jit/jit.settings.targets
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e7b58bb20f8d03b098d1b6ba1098983979dd3d2
stephentoub [Fri, 26 Feb 2016 02:19:17 +0000 (21:19 -0500)]
Upgrade buildtools to 177
Commit migrated from https://github.com/dotnet/coreclr/commit/
8fa544ae96e1656af1224a119a737534f9064ea3
Pat Gavlin [Fri, 26 Feb 2016 02:07:05 +0000 (18:07 -0800)]
Merge pull request dotnet/coreclr#3359 from pgavlin/AllocatorCleanup2
Clean up norls_allocator.
Commit migrated from https://github.com/dotnet/coreclr/commit/
795f1e3d0dabc42c4dd06a2129635f31b2866230
Lubomir Litchev [Fri, 26 Feb 2016 01:37:18 +0000 (17:37 -0800)]
Merge pull request dotnet/coreclr#3319 from LLITCHEV/implicit-RetBuf-return-type
Explicitly change the type of a method with implicit RetBuf to BYREF for System V OSs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5e103809a060948e3bdac52c78a99bb5b54d118
Pat Gavlin [Wed, 24 Feb 2016 18:36:00 +0000 (10:36 -0800)]
Update norls_allocator to conform to the JIT CC.
There are no functional changes aside from the removal of a couple
of fields from norls_allocator and norls_pagdesc. As part of this
change, norls_allocator has been renamed to ArenaAllocator to better
reflect its behavior.
Commit migrated from https://github.com/dotnet/coreclr/commit/
62ce0e505571896f3a63023c0074c79be1c26a60
Jan Vorlicek [Wed, 24 Feb 2016 10:51:43 +0000 (11:51 +0100)]
Fix stack walker on Unix
This change fixes the stack walker on Unix to properly account for the cases
when funclet frames were reclaimed due to native frames unwinding and so
they are not on the stack anymore. The stack walker needs to know that to
properly skip reporting GC references for the parent frame of the funclet.
While there was already code attempting to do that, it was incorrectly
skipping some exception trackers and not skipping the current tracker
in case the catch handler was not called yet.
This problem was discovered while running stress tests with GCStress 3.
Commit migrated from https://github.com/dotnet/coreclr/commit/
12f1fcdbec8cdc862953f90b4b420d3e4e74657b
Aditya Mandaleeka [Fri, 26 Feb 2016 00:41:41 +0000 (16:41 -0800)]
Merge pull request dotnet/coreclr#3364 from adityamandaleeka/semaphore_name_length
Reduce length of debugger semaphore names.
Commit migrated from https://github.com/dotnet/coreclr/commit/
30df86262f9f1d7fa9f21862a0807c24b5ffe5b1
Mike McLaughlin [Thu, 25 Feb 2016 23:57:03 +0000 (15:57 -0800)]
Merge pull request dotnet/coreclr#3336 from mikem8361/sosstack
Enabled more SOS commands and fixed various issues.
Commit migrated from https://github.com/dotnet/coreclr/commit/
28f0e30e4e04a817c8f1e31cf9d2d0b34e5f62dd
Mike McLaughlin [Sat, 20 Feb 2016 08:27:33 +0000 (00:27 -0800)]
Create a version resilient interface between sos (libsos.so) and the lldb plugin
(libsosplugin.so). There is a ILLDBServices interface between the two with a proper
QI/Addref/Release interface so we can add new interfaces later and still be backwards
and forward compatible. Internally in sos there is a DebugClient wrapper around this
interface that makes it look like all the individual dbgeng interfaces (IDebugControl4,
IDebugSymbols, IDebugDataSpaces, etc) even with QI, etc.
Enable the sos the u (clru), DumpStack (dumpstack), EEStack (eestack), DumpIL (dumpil), DumpSig and
DumpSigElem commands (aliases in parans).
Add the clrstack -f option that displays the intermixed native and managed frames
when managed assembly and offsets.
Implement GetContextFromFrame. Enable the _EFN_* exported functions.
Add source file/line number support (native only) via GetLineByOffset.
Fix bug when executed just "sos". Displays help now.
Disable the U -gcinfo option since it isn't implemented on xplat because it uses Windows fibers.
Fixed a problem where some HelperMethodFrames were not unwinding; clrstack would stop without displaying
managed functions on the stack. The HelperMethodFrames were not sometimes unwinding because the lldb
VirtualUnwind used by the DAC was using (via the data target) to do the out of context unwind has some
limitations. lldb doesn't have a way to unwind an arbitrary register context so the VirtualUnwind
implementation searches through the thread's frames until it finds a match and returns the next one. The
match was an exact match and in some cases it didn't find a frame. Changed it to check if the incoming
context's SP is in between frames and return the next one if so.
Only add the special internal "corerun" lldb plugin command in debug builds.
Commit migrated from https://github.com/dotnet/coreclr/commit/
266ee6dc6d688ec973acfee2e30d61877cd288be
Lubomir Litchev [Tue, 23 Feb 2016 18:24:21 +0000 (10:24 -0800)]
Explicitly change the type of a method with implicit RetBuf to BYREF for
System V.
The System V ABI requires the address implicit RetBuf to be returned in
RAX.
Instead of moving the address of the buffer to RAX in codegenxarch.cpp,
change such methods return type to TYP_BYREF and generate the necessary
code to put the address in RAX.
Added/cleaned some comments.
Fixes issue dotnet/coreclr#3299.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f6baf04de71fd6fb795786181dd872c2e5edbb8
Aditya Mandaleeka [Thu, 25 Feb 2016 21:51:32 +0000 (13:51 -0800)]
Reduce debugger semaphore name length.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6275f358331cc079f84ea9ae67dbeef74edf6faf
Pallavi Taneja [Thu, 25 Feb 2016 21:33:35 +0000 (13:33 -0800)]
Remove Assembly.EscapeCodeBase property from CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
d398442ca43f47284c7b37ff6d7fc6b3e6c1b53c
Andy Ayers [Thu, 25 Feb 2016 21:07:43 +0000 (13:07 -0800)]
Merge pull request dotnet/coreclr#3346 from AndyAyersMS/InlineRefactor5a1
Inline Refactoring: set up policy for bad inlinees
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7f2265ca022f780a632918ae642fb4d3986064e
tijoytom [Thu, 25 Feb 2016 20:04:10 +0000 (12:04 -0800)]
Merge pull request dotnet/coreclr#3314 from tijoytom/master
Adding more interop tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
306a27c807b34593aa3f77bfd729c594e65a8845
dotnet-bot [Thu, 25 Feb 2016 19:41:31 +0000 (11:41 -0800)]
Roll back change 1578859 on behalf of pagavlin. Change broke SuperPMI.
[tfs-changeset: 1578925]
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ce6630f106425cf6064cfbb7f633af39b3c7973
Andy Ayers [Tue, 23 Feb 2016 23:21:22 +0000 (15:21 -0800)]
Inline Refactoring: set up policy for bad inlinees
Move inline policies to their own header and cpp file.
Add a method to the policy class to indicate if the policy wants newly
discovered `Never` inline cases to change the callee method attributes
to Noinline. This is an existing optimization that saves time when the
jit sees calls to this callee elsewhere as a possible inline candidates.
For example, in the trace below, at for the call at offset 31, the jit
determines that `ToInt32` is too large to be inlined and so marks it as
noinline. Then when it sees another call to `ToInt31` at offset 44 it
immediately fails the inline attempt.
```
Inlines into RegistryTimeZoneInformation:.ctor(ref):this
...
[IL=0031 TR=000040] [FAILED: too many il bytes] System.BitConverter:ToInt32(ref,int):int
[IL=0044 TR=000049] [FAILED: noinline per IL/cached result] System.BitConverter:ToInt32(ref,int):int
[IL=0057 TR=000058] [FAILED: noinline per IL/cached result] System.BitConverter:ToInt32(ref,int):int
```
Diagnostic and experimental policies may choose to disable this
optimization to make it easier to locally reason about failed inlines.
There were 5 calls to `setMethodAttribs` passing `CORINFO_FLG_BAD_INLINEE`.
This change consolidates 4 of them into the inlining code. The remaining
call is for a method with verification errors. I've left it as is.
Commit migrated from https://github.com/dotnet/coreclr/commit/
99927794a53ed68b1a55ddba238eff809be79fdc
Jan Kotas [Thu, 25 Feb 2016 17:40:59 +0000 (09:40 -0800)]
Merge pull request dotnet/coreclr#3356 from bendono/PowerShell
Validate PowerShell prerequisite. Update documentation. -- Issue dotnet/coreclr#3355
Commit migrated from https://github.com/dotnet/coreclr/commit/
97545d6f772546e4737c112007d687c6fbc640b4
Jan Kotas [Thu, 25 Feb 2016 17:09:09 +0000 (09:09 -0800)]
Merge pull request dotnet/coreclr#3358 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a6d8a44c0a2f8d3f431c58aa77b95f15f212756
Ben Monroe [Thu, 25 Feb 2016 12:51:35 +0000 (21:51 +0900)]
Validate PowerShell prerequisite. Update documentation.
Commit migrated from https://github.com/dotnet/coreclr/commit/
70749779abb4994ef4087f305c41ee14ca495e0b
Pat Gavlin [Thu, 25 Feb 2016 15:19:33 +0000 (07:19 -0800)]
Add a new set of APIs for JIT configuration.
These APIs accommodate the retrieval of config values using the JIT
interface rather than the utilcode library. All configuration options
are now initialized upon the first call to compileMethod. The values
of configuration options are available off of an ambient JitConfig
object.
This also changed `JitHost::get*ConfigValue` to use the
`EEConfig_default` policy instead of `REGUTIL_default` in order to
avoid breaking a small set of JIT config options available in release
builds that were using the former. This change is exceedingly
unlikely to adversely affect the behavior of other JIT config options
that were originally fetched using `REGUTIL_default`, since values
for these options should not be present any locations searched
by `EEConfig_default` that are not searched by
`REGUTIL_default` (namely config files).
[tfs-changeset: 1578859]
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2b9a6e8bae487ae092fca2d3bccd109c7ef85f9
Aaron Havens [Thu, 25 Feb 2016 14:38:53 +0000 (08:38 -0600)]
Update freebsd-instructions.md
Corrected the typo.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a9d71c9594bd7a67639455a135853ec8063a6b96
Jan Kotas [Thu, 25 Feb 2016 14:29:11 +0000 (06:29 -0800)]
Merge pull request dotnet/coreclr#3354 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3b883ca33c1080ec65815684aabce462624b1b4