platform/upstream/coreclr.git
8 years agoImprovements for ReadyToRun helpers in JIT value numbering.
Eugene Rozenfeld [Wed, 2 Mar 2016 06:17:00 +0000 (22:17 -0800)]
Improvements for ReadyToRun helpers in JIT value numbering.

The following ReadyToRun helpers are now treated similarly to their normal
counterparts in value numbering:
CORINFO_HELP_READYTORUN_NEW
CORINFO_HELP_READYTORUN_NEWARR_1
CORINFO_HELP_READYTORUN_ISINSTANCEOF
CORINFO_HELP_READYTORUN_CHKCAST
CORINFO_HELP_READYTORUN_STATIC_BASE

In particular, this allows CSE-ing calls to the last 3 of the above helpers when
possible. #3281 is an issue for CORINFO_HELP_READYTORUN_STATIC_BASE.

Compiler::fgValueNumberHelperCallFunc is refactored to reduce code
duplication.

Closes #3281.

8 years agoMerge pull request #3438 from swaroop-sridhar/corjithost
Swaroop Sridhar [Tue, 1 Mar 2016 22:21:13 +0000 (14:21 -0800)]
Merge pull request #3438 from swaroop-sridhar/corjithost

Export CorJitHost interface

8 years agoMerge pull request #3445 from mikem8361/buildsymbols
Mike McLaughlin [Tue, 1 Mar 2016 21:58:43 +0000 (13:58 -0800)]
Merge pull request #3445 from mikem8361/buildsymbols

Enable source/line info on "release" builds

8 years agoMerge pull request #3433 from JohnChen0/longpath
John Chen [Tue, 1 Mar 2016 21:48:22 +0000 (13:48 -0800)]
Merge pull request #3433 from JohnChen0/longpath

Support long paths in CoreCLR runtime on Windows

8 years agoMerge pull request #3440 from gkhanna79/InitToolsUpdate
Gaurav Khanna [Tue, 1 Mar 2016 19:42:21 +0000 (11:42 -0800)]
Merge pull request #3440 from gkhanna79/InitToolsUpdate

Map RHEL distribution to download CentOS CLI

8 years agoMerge pull request #3436 from AndyAyersMS/InlineRefactorResilientPolicy
Andy Ayers [Tue, 1 Mar 2016 19:02:10 +0000 (11:02 -0800)]
Merge pull request #3436 from AndyAyersMS/InlineRefactorResilientPolicy

Inliner refactoring: allow repeated bad observations

8 years agoMerge pull request #3385 from kyulee1/fixmod1
Kyungwoo Lee [Tue, 1 Mar 2016 17:35:54 +0000 (09:35 -0800)]
Merge pull request #3385 from kyulee1/fixmod1

ARM64: Fix for Mod 1

8 years agoEnable source/line info on "release" builds
Mike McLaughlin [Tue, 1 Mar 2016 17:26:07 +0000 (09:26 -0800)]
Enable source/line info on "release" builds

The symbol info will be stripped and put into a separate *-dbg by dotnet cli (soon).

8 years agoARM64: Fix for Mod 1
Kyungwoo Lee [Fri, 26 Feb 2016 19:30:23 +0000 (11:30 -0800)]
ARM64: Fix for Mod 1

In Arm64, mod a % b is simulated as a - a / b * b.
When b (divisor) is 1, the result is simply 0.
This optimization is done in the post-pass of morph
while JIT already expands the mod operation in the pre-pass of morph.
This unnessary expansion results in bad codegen down the road.
So, the fix is to move this special case handling in the pre-pass.

Before
fgMorphTree BB02, stmt 2 (after)
[000035] -------------                   /--*  lclVar    int    V02 tmp1
[000036] -A-----------                /--*  comma     int
[000001] -------------                |  |  /--*  const     int 0xffffffff80000000
[000034] -A-----------                |  \--*  =         int
[000033] D------N-----                |     \--*  lclVar    int    V02 tmp1
[000041] -A-----------             /--*  -         int
[000040] -------------             |  \--*  lclVar    int    V02
[000006] -A-----------             *  =         int
[000005] D------N-----             \--*  lclVar    int    V01 tmp0

After
[000033] -------------             /--*  const     int    0
[000006] -A-----------             *  =         int
[000005] D------N-----             \--*  lclVar    int    V01 tmp0

8 years agoMap RHEL distribution to download CentOS CLI
Gaurav Khanna [Tue, 1 Mar 2016 06:50:01 +0000 (22:50 -0800)]
Map RHEL distribution to download CentOS CLI

8 years agoMerge pull request #3351 from LLITCHEV/Issue2757
Lubomir Litchev [Tue, 1 Mar 2016 05:29:51 +0000 (21:29 -0800)]
Merge pull request #3351 from LLITCHEV/Issue2757

Add support for emitting GC-ness of the second return register for 16…

8 years agoMerge pull request #3437 from briansull/update-tests
Brian Sullivan [Tue, 1 Mar 2016 03:21:28 +0000 (19:21 -0800)]
Merge pull request #3437 from briansull/update-tests

Updated arm64 Tests.lst for  PR #3430
This is a test metadata only update, it contains no source code changes

8 years agoMoved 42 tests from UNSTABLE to EXPECTED_PASS
Brian Sullivan [Tue, 1 Mar 2016 02:57:36 +0000 (18:57 -0800)]
Moved 42 tests from UNSTABLE to EXPECTED_PASS

8 years agoExport CorJitHost interface
Swaroop Sridhar [Tue, 1 Mar 2016 02:24:28 +0000 (18:24 -0800)]
Export CorJitHost interface

Export the CorJitHost interface to the build directory, so that
alternate JITs can use it.

This change is necessary to fix LLILC build break.

8 years agoUpdated arm64 Tests.lst for PR #3430
Brian Sullivan [Tue, 1 Mar 2016 01:58:53 +0000 (17:58 -0800)]
Updated arm64 Tests.lst for  PR #3430

That PR fixed Issue #3104 and we now have 20 new passing tests
There are still 5 tests with that tag that still fail and now are marked with NEED_TRIAGE
The tests that fail when we do not set COMPLUS_GCgen0size=50000000 are now tagged with REQ_LARGE_GEN0

8 years agoInliner refactoring: allow repeated bad observations
Andy Ayers [Mon, 29 Feb 2016 22:59:46 +0000 (14:59 -0800)]
Inliner refactoring: allow repeated bad observations

The LegacyPolicy now allows repeated observations leading to never
or failing inlines, provided the policy is used as part of the prejit
scan and the observations all have the same impact (that is, all nevers
or all failures). Only the first bad observation is remembered and it
is used as the reason for badness.

This addresses another of the items in issue #3371.

Also, clean up a few things:

Fix a few copy and paste errors in comment headers.

Fix broken "disallow copy-assignment" pattern for InlineResult
and uncomment and fix same for InlinePolicy.

Remove an accidentally duplicated comment block (original is still
there in inline.h).

8 years agoAdd support for emitting GC-ness of the second return register for 16 byte
Lubomir Litchev [Thu, 25 Feb 2016 05:26:55 +0000 (21:26 -0800)]
Add support for emitting GC-ness of the second return register for 16 byte
structs.

This changeset adds support for emitting the GC-ness of the second return
register (RDX for System V Amd64) for multi-register return structs.
It closes a hole in the GC info and resolves multiple GC stress failures.

Fixes #2757.

8 years agoMerge pull request #3434 from dotnet-bot/from-tfs
Pat Gavlin [Mon, 29 Feb 2016 23:50:37 +0000 (15:50 -0800)]
Merge pull request #3434 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3432 from AndyAyersMS/InlineRefactorRemoveLRMode
Andy Ayers [Mon, 29 Feb 2016 23:48:10 +0000 (15:48 -0800)]
Merge pull request #3432 from AndyAyersMS/InlineRefactorRemoveLRMode

Inliner refactoring: remove the LR sampling mode

8 years agoFix a build break in ArenaAllocator.
Pat Gavlin [Mon, 29 Feb 2016 22:40:59 +0000 (14:40 -0800)]
Fix a build break in ArenaAllocator.

The toolset used by the internal build (and the ARM build in CI) seems to be a bit
buggy w.r.t. move assignment and deleted assignment operators. In particular,
it attempts to generate an assignment operator for a derived type whose base
type has deleted the corresponding operator and it chooses deleted copy
assignment operators over move assignment operators unless std::move is
used.

[tfs-changeset: 1579941]

8 years agoSupport long paths in CoreCLR runtime on Windows
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.

8 years agoInliner refactoring: remove the LR sampling mode
Andy Ayers [Mon, 29 Feb 2016 18:33:23 +0000 (10:33 -0800)]
Inliner refactoring: remove the LR sampling mode

Remove code that sampled methods and provided data for the linear
regresssion (LR) size model used by the inliner. We plan on preserving
the current model for legacy behavior and creating new and different
models for future work.

Addreses one part of #3371.

8 years agoMerge pull request #3431 from CarolEidt/ProtojitAltJit
Pat Gavlin [Mon, 29 Feb 2016 20:55:50 +0000 (12:55 -0800)]
Merge pull request #3431 from CarolEidt/ProtojitAltJit

Define ALT_JIT for protojit.dll

8 years agoMerge pull request #3389 from pgavlin/AllocatorRefactor
Pat Gavlin [Mon, 29 Feb 2016 19:33:15 +0000 (11:33 -0800)]
Merge pull request #3389 from pgavlin/AllocatorRefactor

Refactor the pooled ArenaAllocator.

8 years agoMerge pull request #3429 from kyulee1/pow
Pat Gavlin [Mon, 29 Feb 2016 19:32:46 +0000 (11:32 -0800)]
Merge pull request #3429 from kyulee1/pow

ARM64: Fix for pow test

8 years agoMerge pull request #3430 from rahku/arm64
Rahul Kumar [Mon, 29 Feb 2016 19:21:29 +0000 (11:21 -0800)]
Merge pull request #3430 from rahku/arm64

Fixes issue #2643 and #2731

8 years agoDefine ALT_JIT for protojit.dll
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.

8 years agoMerge pull request #3328 from wtgodbe/centos
William Godbe [Mon, 29 Feb 2016 18:23:23 +0000 (10:23 -0800)]
Merge pull request #3328 from wtgodbe/centos

Enable checked CentOS pri 1 build & test jobs per-commit in CI

8 years agoEnable checked CentOS pri 1 build & test jobs per-commit in CI
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

8 years agoFixes issue #2643 and #2731
Rahul Kumar [Mon, 29 Feb 2016 18:01:04 +0000 (10:01 -0800)]
Fixes issue #2643 and #2731

8 years agoMerge pull request #3399 from pgavlin/Disable374539
Pat Gavlin [Mon, 29 Feb 2016 17:57:25 +0000 (09:57 -0800)]
Merge pull request #3399 from pgavlin/Disable374539

Move devdiv374539 out of test priority 0.

8 years agoRefactor the pooled ArenaAllocator.
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

8 years agoARM64: Fix for pow test
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.

8 years agoMerge pull request #3423 from gkhanna79/ExtendNugetPkgSupport
Gaurav Khanna [Mon, 29 Feb 2016 03:42:52 +0000 (19:42 -0800)]
Merge pull request #3423 from gkhanna79/ExtendNugetPkgSupport

Generate CoreCLR Nuget Package for CentOS, Debian and RHEL

8 years agoMerge pull request #3424 from dotnet-bot/from-tfs
Matt Ellis [Mon, 29 Feb 2016 02:43:19 +0000 (18:43 -0800)]
Merge pull request #3424 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoAdd missing .gitmirror file.
Matt Ellis [Mon, 29 Feb 2016 01:40:42 +0000 (17:40 -0800)]
Add missing .gitmirror file.

[tfs-changeset: 1579610]

8 years agoMerge pull request #3418 from krytarowski/netbsd-support-58
Stephen Toub [Sun, 28 Feb 2016 23:46:10 +0000 (18:46 -0500)]
Merge pull request #3418 from krytarowski/netbsd-support-58

Add netbsdmscorlib to build.cmd

8 years agoMerge pull request #3387 from rahku/Helix
Rahul Kumar [Sun, 28 Feb 2016 23:40:16 +0000 (15:40 -0800)]
Merge pull request #3387 from rahku/Helix

Helix test: remove hack to copy currently built runtime.

8 years agoremove hack to copy currently built runtime.
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

8 years agoGenerate CoreCLR Nuget Package for CentOS, Debian and RHEL
Gaurav Khanna [Sun, 28 Feb 2016 17:38:18 +0000 (09:38 -0800)]
Generate CoreCLR Nuget Package for CentOS, Debian and RHEL

8 years agoMerge pull request #3402 from rahku/fixBbuil
Rahul Kumar [Sun, 28 Feb 2016 16:16:24 +0000 (08:16 -0800)]
Merge pull request #3402 from rahku/fixBbuil

fix warning C4334

8 years agoMerge pull request #3410 from jkotas/license
Jan Kotas [Sun, 28 Feb 2016 06:17:46 +0000 (22:17 -0800)]
Merge pull request #3410 from jkotas/license

Update license header

8 years agoMerge pull request #3415 from krytarowski/netbsd-support-57
Jan Kotas [Sat, 27 Feb 2016 23:44:21 +0000 (15:44 -0800)]
Merge pull request #3415 from krytarowski/netbsd-support-57

Fix build on NetBSD: Include <stdarg.h> for va_arg(3)

8 years agoAdd netbsdmscorlib to build.cmd
Kamil Rytarowski [Sat, 27 Feb 2016 22:42:42 +0000 (23:42 +0100)]
Add netbsdmscorlib to build.cmd

8 years agoMerge pull request #3140 from adityamandaleeka/env_pal
Aditya Mandaleeka [Sat, 27 Feb 2016 22:34:51 +0000 (14:34 -0800)]
Merge pull request #3140 from adityamandaleeka/env_pal

Fix usage of environment in PAL

8 years agoFix build on NetBSD: Include <stdarg.h> for va_arg(3)
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

8 years agoMerge pull request #3261 from krytarowski/netbsd-support-51
Aditya Mandaleeka [Sat, 27 Feb 2016 21:12:17 +0000 (13:12 -0800)]
Merge pull request #3261 from krytarowski/netbsd-support-51

Fix NetBSD build: Define PAL_STDCPP_COMPAT=1 for twowaypipe.cpp

8 years agoFurther cleanup of environment code.
Aditya Mandaleeka [Fri, 12 Feb 2016 03:08:06 +0000 (19:08 -0800)]
Further cleanup of environment code.

8 years agoMerge pull request #3406 from BruceForstall/RemoveDupGS2
Jan Kotas [Sat, 27 Feb 2016 16:38:31 +0000 (08:38 -0800)]
Merge pull request #3406 from BruceForstall/RemoveDupGS2

Remove duplicate GS compiler switch setting

8 years agoUpdate license header
Jan Kotas [Sat, 27 Feb 2016 16:36:55 +0000 (08:36 -0800)]
Update license header

8 years agoMerge pull request #3395 from dotnet-bot/from-tfs
Jan Kotas [Sat, 27 Feb 2016 16:33:58 +0000 (08:33 -0800)]
Merge pull request #3395 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3397 from BruceForstall/AddRuntimeInformationReference
Bruce Forstall [Sat, 27 Feb 2016 16:25:50 +0000 (08:25 -0800)]
Merge pull request #3397 from BruceForstall/AddRuntimeInformationReference

Add reference to System.Runtime.InteropServices.RuntimeInformation

8 years agoMerge pull request #3403 from BruceForstall/FixLinuxStandalone
Bruce Forstall [Sat, 27 Feb 2016 16:21:48 +0000 (08:21 -0800)]
Merge pull request #3403 from BruceForstall/FixLinuxStandalone

Add linker magic to non-Windows standalone RyuJIT build

8 years agoMerge pull request #3409 from stephentoub/stop_masking_job_signals
Jan Kotas [Sat, 27 Feb 2016 16:09:41 +0000 (08:09 -0800)]
Merge pull request #3409 from stephentoub/stop_masking_job_signals

Stop masking SIGTSTP and SIGCONT

8 years agoMerge pull request #3407 from mikedn/nra-comments
Pat Gavlin [Sat, 27 Feb 2016 15:52:07 +0000 (07:52 -0800)]
Merge pull request #3407 from mikedn/nra-comments

Update JIT's ArenaAllocator comments

8 years agoStop masking SIGTSTP and SIGCONT
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.

8 years agoUpdate JIT's ArenaAllocator comments
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.

8 years agoMerge pull request #3400 from pgavlin/TruncationCleanup
Pat Gavlin [Sat, 27 Feb 2016 03:58:34 +0000 (19:58 -0800)]
Merge pull request #3400 from pgavlin/TruncationCleanup

Clean up some truncation warnings in the JIT.

8 years agoMerge pull request #3401 from mikem8361/sosdocs
Mike McLaughlin [Sat, 27 Feb 2016 03:29:35 +0000 (19:29 -0800)]
Merge pull request #3401 from mikem8361/sosdocs

Add the "sosdocsunix.txt" sos help file to the nuget packages.

8 years agoAdd linker magic to non-Windows standalone RyuJIT build to make PAL work better when...
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.

8 years agoRemove duplicate /GS switch
Bruce Forstall [Sat, 27 Feb 2016 03:08:24 +0000 (19:08 -0800)]
Remove duplicate /GS switch

Also, fix a typo.

8 years agoMerge pull request #3398 from mikem8361/fixstrike
Matt Ellis [Sat, 27 Feb 2016 02:22:11 +0000 (18:22 -0800)]
Merge pull request #3398 from mikem8361/fixstrike

Fix sos/strike build.

8 years agoMerge pull request #3390 from briansull/mod-fixes
Brian Sullivan [Sat, 27 Feb 2016 01:59:44 +0000 (17:59 -0800)]
Merge pull request #3390 from briansull/mod-fixes

Fixes GT_MOD codegen and three other issues for ARM64

8 years agoFixes GT_MOD codegen and three other issues for ARM64
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

8 years agofix warning C4334
Rahul Kumar [Sat, 27 Feb 2016 00:42:48 +0000 (16:42 -0800)]
fix warning C4334

8 years agoAdd the "sosdocsunix.txt" sos help file to the nuget packages.
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.

8 years agoMove devdiv374539 out of test priority 0.
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.

8 years agoMerge pull request #3393 from janvorli/make-hw-exception-test-pri-0
Jan Vorlicek [Sat, 27 Feb 2016 01:06:01 +0000 (02:06 +0100)]
Merge pull request #3393 from janvorli/make-hw-exception-test-pri-0

Change avtest priority to 0

8 years agoClean up some truncation warnings in the JIT.
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.

8 years agoFix sos/strike build.
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".

8 years agoAdd reference to System.Runtime.InteropServices.RuntimeInformation.dll for some JIT...
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

8 years agoMerge pull request #3383 from BruceForstall/FixJitSystemIOFilesystemBinding
Bruce Forstall [Sat, 27 Feb 2016 00:23:38 +0000 (16:23 -0800)]
Merge pull request #3383 from BruceForstall/FixJitSystemIOFilesystemBinding

Change binding of System.IO.FileSystem

8 years agoFix directory name casing in TFS to match what is in git.
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]

8 years agoChange avtest priority to 0
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

8 years agoAdd missing .gitmirror file.
Matt Ellis [Fri, 26 Feb 2016 22:05:51 +0000 (14:05 -0800)]
Add missing .gitmirror file.

[tfs-changeset: 1579391]

8 years agoAdd documentation to environ functions.
Aditya Mandaleeka [Thu, 11 Feb 2016 02:06:38 +0000 (18:06 -0800)]
Add documentation to environ functions.

8 years agoFix all callers of environment functions.
Aditya Mandaleeka [Wed, 10 Feb 2016 03:14:28 +0000 (19:14 -0800)]
Fix all callers of environment functions.

8 years agoRemove usage of PALC versions of critsec functions in environ.
Aditya Mandaleeka [Tue, 9 Feb 2016 03:17:09 +0000 (19:17 -0800)]
Remove usage of PALC versions of critsec functions in environ.

8 years agoModify environment code to avoid unsafe environ usage.
Aditya Mandaleeka [Tue, 9 Feb 2016 02:11:15 +0000 (18:11 -0800)]
Modify environment code to avoid unsafe environ usage.

8 years agoConsolidate environment code in environ.cpp.
Aditya Mandaleeka [Tue, 9 Feb 2016 00:14:57 +0000 (16:14 -0800)]
Consolidate environment code in environ.cpp.

8 years agoMerge pull request #3381 from cmckinsey/DevDiv_168744
Chris McKinsey [Fri, 26 Feb 2016 20:37:32 +0000 (12:37 -0800)]
Merge pull request #3381 from cmckinsey/DevDiv_168744

Fix bug in optOptimizeBools for equality of 0/1.

8 years agoMerge pull request #3376 from kyulee1/fixcast
Kyungwoo Lee [Fri, 26 Feb 2016 19:52:22 +0000 (11:52 -0800)]
Merge pull request #3376 from kyulee1/fixcast

ARM64: Fix for casting long to ulong

8 years agoMerge pull request #3365 from mikem8361/osxexception
Mike McLaughlin [Fri, 26 Feb 2016 19:43:57 +0000 (11:43 -0800)]
Merge pull request #3365 from mikem8361/osxexception

Fix the osx exception port forwarding limitations.

8 years agoFix the osx exception port forwarding limitations.
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.

8 years agoChange binding of System.IO.FileSystem
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.

8 years agoMerge pull request #3329 from joperezr/CleanToolRuntime
Jose Perez Rodriguez [Fri, 26 Feb 2016 18:36:08 +0000 (10:36 -0800)]
Merge pull request #3329 from joperezr/CleanToolRuntime

Correctly cleaning up the ToolRuntime folder once a new version is required

8 years agoFix bug in optOptimizeBools for equality of 0/1.
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.

8 years agoMerge pull request #3362 from AndyAyersMS/InlineRefactor5a2
Andy Ayers [Fri, 26 Feb 2016 16:10:41 +0000 (08:10 -0800)]
Merge pull request #3362 from AndyAyersMS/InlineRefactor5a2

InlineRefactoring: capturing bits of legacy policy

8 years agoMerge pull request #3374 from dotnet-bot/from-tfs
Jan Kotas [Fri, 26 Feb 2016 15:28:42 +0000 (07:28 -0800)]
Merge pull request #3374 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3375 from BruceForstall/FixAltJitLoading
Jan Kotas [Fri, 26 Feb 2016 14:55:55 +0000 (06:55 -0800)]
Merge pull request #3375 from BruceForstall/FixAltJitLoading

Fix CoreCLR altjit loading that was broken by LongFile work

8 years agoMerge pull request #3357 from janvorli/fix-stackwalk
Jan Vorlicek [Fri, 26 Feb 2016 10:21:47 +0000 (11:21 +0100)]
Merge pull request #3357 from janvorli/fix-stackwalk

Fix stack walker on Unix

8 years agoARM64: Fix for casting long to ulong
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, #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, #0
IN0006: 00002C      bge     G_M62889_IG03
IN0007: 000030      bl      CORINFO_HELP_OVERFLOW

8 years agoFix CoreCLR altjit loading that was broken by LongFile work
Bruce Forstall [Fri, 26 Feb 2016 07:39:39 +0000 (23:39 -0800)]
Fix CoreCLR altjit loading that was broken by LongFile work

8 years agoRemove need for mono resgen
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]

8 years agoMerge pull request #3350 from arnmac/patch-1
Jan Kotas [Fri, 26 Feb 2016 04:09:25 +0000 (20:09 -0800)]
Merge pull request #3350 from arnmac/patch-1

Update to freebsd-instructions.md

8 years agoMerge pull request #3361 from dotnet-bot/from-tfs
Jan Kotas [Fri, 26 Feb 2016 04:07:28 +0000 (20:07 -0800)]
Merge pull request #3361 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3370 from stephentoub/upgrade_buildtools
Stephen Toub [Fri, 26 Feb 2016 04:04:14 +0000 (23:04 -0500)]
Merge pull request #3370 from stephentoub/upgrade_buildtools

Upgrade buildtools to 177

8 years agoMerge pull request #3363 from pallavit/UpdateReflectionSA
Jan Kotas [Fri, 26 Feb 2016 03:24:36 +0000 (19:24 -0800)]
Merge pull request #3363 from pallavit/UpdateReflectionSA

Remove Assembly.EscapeCodeBase property from CoreCLR

8 years agoInlineRefactoring: capturing bits of legacy policy
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.

8 years agoMerge remote-tracking branch 'upstream/master' into from-tfs
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