platform/upstream/coreclr.git
8 years agoMerge pull request #2612 from hoyMS/Bug2610
Hongtao Yu [Wed, 13 Jan 2016 04:39:38 +0000 (20:39 -0800)]
Merge pull request #2612 from hoyMS/Bug2610

Fix for bug 2610 Incorrect copy prop substitution.

8 years agoMerge pull request #2623 from BruceForstall/BuildShChanges
Bruce Forstall [Wed, 13 Jan 2016 04:37:04 +0000 (20:37 -0800)]
Merge pull request #2623 from BruceForstall/BuildShChanges

Clean up build.sh

8 years agoMerge pull request #2629 from adityamandaleeka/mscorrcFpic
Aditya Mandaleeka [Wed, 13 Jan 2016 04:30:27 +0000 (20:30 -0800)]
Merge pull request #2629 from adityamandaleeka/mscorrcFpic

Add fPIC option when compiling mscorrc.

8 years agoMerge pull request #2602 from LLITCHEV/Issue2295
Lubomir Litchev [Wed, 13 Jan 2016 04:23:37 +0000 (20:23 -0800)]
Merge pull request #2602 from LLITCHEV/Issue2295

Fix issue 2295.

8 years agoMerge pull request #2627 from RussKeldorph/dowhilebndchk
Senthil [Wed, 13 Jan 2016 02:35:34 +0000 (18:35 -0800)]
Merge pull request #2627 from RussKeldorph/dowhilebndchk

Do loop cloning only if zero trip test can be ensured

8 years agoMerge pull request #2626 from briansull/cleanup-liveness
Brian Sullivan [Wed, 13 Jan 2016 02:26:54 +0000 (18:26 -0800)]
Merge pull request #2626 from briansull/cleanup-liveness

Cleanup code in fgPerStatementLiveness and fgPerBlockLocalVarLiveness

8 years agoMerge pull request #2581 from AndyAyersMS/BenchmarkGame
Andy Ayers [Wed, 13 Jan 2016 01:14:54 +0000 (17:14 -0800)]
Merge pull request #2581 from AndyAyersMS/BenchmarkGame

Add a subset of benchmark game benchmarks

8 years agoMerge pull request #2571 from AndyAyersMS/PerfTestsZ
Andy Ayers [Wed, 13 Jan 2016 01:13:25 +0000 (17:13 -0800)]
Merge pull request #2571 from AndyAyersMS/PerfTestsZ

Add more integer benchmarks

8 years agoFix for bug 2610 Incorrect copy prop substitution.
Hongtao Yu [Mon, 11 Jan 2016 23:24:49 +0000 (15:24 -0800)]
Fix for bug 2610 Incorrect copy prop substitution.

The bug is due to missing lvAddrExposed flag for tmp vars serving as pass-by-ref arguments.

8 years agoMerge pull request #2617 from stephentoub/datetime_allocation
Jan Kotas [Wed, 13 Jan 2016 00:45:56 +0000 (16:45 -0800)]
Merge pull request #2617 from stephentoub/datetime_allocation

Remove StringBuilder allocation/usage from DateTimeFormat

8 years agoFix issue 2295.
Lubomir Litchev [Sun, 10 Jan 2016 23:11:09 +0000 (15:11 -0800)]
Fix issue 2295.

Closes #2295. When creating shadow variables, copy the lvDontPromote flag
from the shadowed variable.

8 years agoAdd fPIC option when compiling mscorrc.
Aditya Mandaleeka [Tue, 12 Jan 2016 23:35:40 +0000 (15:35 -0800)]
Add fPIC option when compiling mscorrc.

8 years agoCleanup code in fgPerStatementLiveness and fgPerBlockLocalVarLiveness
Brian Sullivan [Tue, 12 Jan 2016 23:30:53 +0000 (15:30 -0800)]
Cleanup code in fgPerStatementLiveness and fgPerBlockLocalVarLiveness

Removed the <BUGNUM> comment about GT_QMARK that preceded the fgPerStatementLiveness method.
Added method header comment for fgPerStatementLiveness.
Changed return type of fgPerStatementLiveness to void.
Renamed the lhsNode argument to asgnLclVar.
Remove all the code that handles GT_QMARK/GT_COLON nodes,
 as those node are no longer used by the RyuJit codebase.
In fgPerStatementLiveness renamed lhsNode to asgnLclVar.

8 years agoDo loop cloning only if zero trip test can be ensured.
Russ Keldorph [Tue, 12 Jan 2016 00:51:49 +0000 (16:51 -0800)]
Do loop cloning only if zero trip test can be ensured.

The problem is our loop detection logic detects the loop structure, but it
doesnt know the code outside the loop structure, esp., nothing about the
edge from the "head" into the loop "entry" block.

In the bug case, there is no zero-trip test in the "head", so the entrance
into the loop is not guarded. Note that the other point of entrance into
the "entry" block is from the "top" block which will be guarded by the
loop "bottom" test.

One way to make sure is when we invert a while loop into a do-while with
an explicit compiler cloned zero trip test, in fgOptWhileLoop, i.e., we
mark it as good to optimize with a flag. The fix marks the loop as ZTT.

The caveat is the JIT doesnt always do loop inversion.

This change is more conservative than it needs to be in the interest of
managing risk.

8 years agoMerge pull request #2619 from AndyAyersMS/MoreLocking
Andy Ayers [Tue, 12 Jan 2016 22:56:06 +0000 (14:56 -0800)]
Merge pull request #2619 from AndyAyersMS/MoreLocking

Set locked to true in project.lock.json

8 years agoMerge pull request #2492 from wtgodbe/memcpy2
William Godbe [Tue, 12 Jan 2016 21:56:40 +0000 (13:56 -0800)]
Merge pull request #2492 from wtgodbe/memcpy2

Audit usage of memcpy in PAL for Debug

8 years agoClean up build.sh
Bruce Forstall [Tue, 12 Jan 2016 21:11:20 +0000 (13:11 -0800)]
Clean up build.sh

Fix some typos. Make it more readable.

8 years agoMerge pull request #2620 from janvorli/fix-few-gc-details
Jan Kotas [Tue, 12 Jan 2016 19:47:17 +0000 (11:47 -0800)]
Merge pull request #2620 from janvorli/fix-few-gc-details

Fix few details in the GC

8 years agoMerge pull request #2607 from pgavlin/Reenableb99969
Pat Gavlin [Tue, 12 Jan 2016 18:15:07 +0000 (10:15 -0800)]
Merge pull request #2607 from pgavlin/Reenableb99969

Re-enable b99969.

8 years agoFix few details in the GC
Jan Vorlicek [Tue, 12 Jan 2016 17:59:14 +0000 (18:59 +0100)]
Fix few details in the GC

- For Unix, the definition of __forceinline was missing the inline
- Allocation of GCThreadStubParams was missing a check for failure
- Removed few unnecessary #ifdefs for FEATURE_PAL from the GC sample
- Removed several obsolete functions from the GC sample

8 years agoMerge pull request #2618 from gkhanna79/TPALoadChanges
Gaurav Khanna [Tue, 12 Jan 2016 17:36:27 +0000 (09:36 -0800)]
Merge pull request #2618 from gkhanna79/TPALoadChanges

LoadByte/Path/NI support for Default Context

8 years agoSet locked to true in project.lock.json
Andy Ayers [Tue, 12 Jan 2016 17:02:42 +0000 (09:02 -0800)]
Set locked to true in project.lock.json

Otherwise it's not really locked.

8 years agoMerge pull request #2611 from JohnChen0/master
Jan Kotas [Tue, 12 Jan 2016 16:41:57 +0000 (08:41 -0800)]
Merge pull request #2611 from JohnChen0/master

Make CORCOMPILE_HEADER backward compatible

8 years agoMerge pull request #2586 from eerhardt/IgnoreSymbols2
Eric Erhardt [Tue, 12 Jan 2016 15:42:29 +0000 (09:42 -0600)]
Merge pull request #2586 from eerhardt/IgnoreSymbols2

CompareOptions.IgnoreSymbols only ignores punctuation on Unix, but not other symbols

8 years agoAdd support Load assemblies from explicit path/streams into default load context
Gaurav Khanna (CLR) [Tue, 12 Jan 2016 01:26:13 +0000 (17:26 -0800)]
Add support Load assemblies from explicit path/streams into default load context

8 years agoMerge pull request #2549 from AndyAyersMS/PerfTestX
Andy Ayers [Tue, 12 Jan 2016 07:45:11 +0000 (23:45 -0800)]
Merge pull request #2549 from AndyAyersMS/PerfTestX

More integer benchmarks for the jit: NDhrystone

8 years agoMerge pull request #2558 from AndyAyersMS/SciMark
Andy Ayers [Tue, 12 Jan 2016 07:44:41 +0000 (23:44 -0800)]
Merge pull request #2558 from AndyAyersMS/SciMark

Add SciMark benchmark

8 years agoMerge pull request #2540 from AndyAyersMS/RoslynBenchmark
Andy Ayers [Tue, 12 Jan 2016 07:43:47 +0000 (23:43 -0800)]
Merge pull request #2540 from AndyAyersMS/RoslynBenchmark

Add a simple Roslyn benchmarks

8 years agoMerge pull request #2613 from stephentoub/ifdef_stringbuilder
Jan Kotas [Tue, 12 Jan 2016 03:34:01 +0000 (19:34 -0800)]
Merge pull request #2613 from stephentoub/ifdef_stringbuilder

Add ifdef to suppress non-coreclr warning

8 years agoRemove StringBuilder allocation/usage from DateTimeFormat
stephentoub [Tue, 12 Jan 2016 01:54:22 +0000 (20:54 -0500)]
Remove StringBuilder allocation/usage from DateTimeFormat

ASP.NET uses DateTimeOffset.ToString("r") to format in accordance with RFC1123.  The implementation of "r", for which the format includes quotes, ends up allocating a StringBuilder and parsing into it, just to get the quoted contents.  With a minor transformation, this is unnecessary, allowing the StringBuilder and associated allocations and work to be removed.

8 years agoMerge pull request #2572 from ramarag/event_source_payload
Rama krishnan Raghupathy [Tue, 12 Jan 2016 01:37:25 +0000 (17:37 -0800)]
Merge pull request #2572 from ramarag/event_source_payload

Fixing use case of incomplete Event Source payload

8 years agoRe-enable b99969.
Pat Gavlin [Mon, 11 Jan 2016 18:15:48 +0000 (10:15 -0800)]
Re-enable b99969.

Now that #2286 has been fixed, b99969 can be re-enabled.

8 years agoAdd ifdef to suppress non-coreclr warning
stephentoub [Mon, 11 Jan 2016 23:25:17 +0000 (18:25 -0500)]
Add ifdef to suppress non-coreclr warning

My change to optimize AppDomain.Setup included moving a variable out of a loop, which also ended up moving it out of an ifdef.  That then causes an unused variable warning on some builds.

8 years agoMerge pull request #2592 from hoyMS/Bug2311
Hongtao Yu [Mon, 11 Jan 2016 23:16:59 +0000 (15:16 -0800)]
Merge pull request #2592 from hoyMS/Bug2311

Fix for issue 2311.

8 years agoMerge pull request #2609 from hoyMS/Bug2294
Hongtao Yu [Mon, 11 Jan 2016 23:15:02 +0000 (15:15 -0800)]
Merge pull request #2609 from hoyMS/Bug2294

Fix for bug 2294 [JitStress=2] Assertion failed 'curArgTabEntry->regN…

8 years agoMake CORCOMPILE_HEADER backward compatible
John Chen (CLR) [Mon, 11 Jan 2016 22:23:52 +0000 (14:23 -0800)]
Make CORCOMPILE_HEADER backward compatible

Resolve issue #2348 by reordering fields in CORCOMPILE_HEADER,
so that PEKind and Machines fields are in the same location as
in older versions of this struct.

8 years agoMerge pull request #2587 from BruceForstall/BuildAllCmd
Bruce Forstall [Mon, 11 Jan 2016 21:48:05 +0000 (13:48 -0800)]
Merge pull request #2587 from BruceForstall/BuildAllCmd

Add "all" command to build.cmd

8 years agoMerge pull request #2568 from sejongoh/bugfix_unsigned_16bit_cmp_codegen
Sejong Oh [Mon, 11 Jan 2016 20:58:40 +0000 (12:58 -0800)]
Merge pull request #2568 from sejongoh/bugfix_unsigned_16bit_cmp_codegen

Fix bad codegen for comparing 16-bit unsigned values

8 years agoMerge pull request #2601 from stephentoub/appdomain_setup_cleanup
Matt Ellis [Mon, 11 Jan 2016 19:56:25 +0000 (11:56 -0800)]
Merge pull request #2601 from stephentoub/appdomain_setup_cleanup

Perf tweaks/cleanup to AppDomain.Setup

8 years agoFix for bug 2294 [JitStress=2] Assertion failed 'curArgTabEntry->regNum == regNum...
Hongtao Yu [Mon, 11 Jan 2016 19:03:32 +0000 (11:03 -0800)]
Fix for bug 2294 [JitStress=2] Assertion failed 'curArgTabEntry->regNum == regNum' in 'BringUpTest Main() in morph.cpp

The bug is due to a misproper definition of LAST_FP_ARGREG for Unix. On Windows, we set LAST_FP_ARGREG to XMM3. On UNix, the value should be XMM7.

8 years agoMerge pull request #2400 from pgavlin/FixDebugTypes
Pat Gavlin [Mon, 11 Jan 2016 18:14:15 +0000 (10:14 -0800)]
Merge pull request #2400 from pgavlin/FixDebugTypes

Fix DebugType and Optimize values for JIT tests.

8 years agoCompareOptions.IgnoreSymbols only ignores punctuation on Unix, but not other symbols
Eric Erhardt [Fri, 8 Jan 2016 18:02:56 +0000 (12:02 -0600)]
CompareOptions.IgnoreSymbols only ignores punctuation on Unix, but not other symbols

By default, ICU alternate shifted collation handling only ignores punctuation, not all symbols, so change the "variable top" to include all symbols and currency characters.

Fix #4907

8 years agoAvoid int[] and string[] allocations from String.Split in AppDomain.Setup
stephentoub [Mon, 11 Jan 2016 02:09:58 +0000 (21:09 -0500)]
Avoid int[] and string[] allocations from String.Split in AppDomain.Setup

String.Split not only allocates the string[] to hold the results, it also allocates an int[inputString.Length] to hold the indices of the separators.  With not much more code, we can do the splitting manually and avoid both arrays.

8 years agoMerge pull request #2603 from adityamandaleeka/fixSosDumpLog
Aditya Mandaleeka [Mon, 11 Jan 2016 01:51:24 +0000 (17:51 -0800)]
Merge pull request #2603 from adityamandaleeka/fixSosDumpLog

Fix SOS DumpLog

8 years agoFix SOS DumpLog
Aditya Mandaleeka [Mon, 11 Jan 2016 00:22:23 +0000 (16:22 -0800)]
Fix SOS DumpLog

8 years agoAdd some optimizations to AppDomain.Setup string handling
stephentoub [Sun, 10 Jan 2016 20:39:37 +0000 (15:39 -0500)]
Add some optimizations to AppDomain.Setup string handling

- Paths are normalized from a delimited string into a delimited StringBuilder.  It's very likely that the resulting data in the StringBuilder will be the same length or approximately the same length as that in the input string,  So pre-size the StringBuilder to be the same as the input length.
- Reuse StringBuilder instance for handling each property that needs it.
- Reuse the char[] array created for the path sepator

8 years agoMerge pull request #2544 from dotnet-bot/from-tfs
Jan Kotas [Sun, 10 Jan 2016 20:15:58 +0000 (12:15 -0800)]
Merge pull request #2544 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #2598 from mikedn/archdir
Jan Kotas [Sun, 10 Jan 2016 20:11:14 +0000 (12:11 -0800)]
Merge pull request #2598 from mikedn/archdir

Use ARCH_SOURCES_DIR consistently

8 years agoRemove duplicate else blocks
stephentoub [Sun, 10 Jan 2016 18:25:21 +0000 (13:25 -0500)]
Remove duplicate else blocks

The same code is repeated for four different property names... condense them all into a single else if.

8 years agoUse ARCH_SOURCES_DIR consistently
Mike Danes [Sun, 10 Jan 2016 14:04:05 +0000 (16:04 +0200)]
Use ARCH_SOURCES_DIR consistently

Some places already use ARCH_SOURCES_DIR for things like include_directories but others test the platform/arch variables to figure out the dir. Use ARCH_SOURCES_DIR everywhere for consistency.

8 years agoMerge pull request #2593 from RussKeldorph/remove_stk_bndchk
Jan Kotas [Sun, 10 Jan 2016 08:15:25 +0000 (00:15 -0800)]
Merge pull request #2593 from RussKeldorph/remove_stk_bndchk

Remove bad test: stk_bndchk.il

8 years agoMerge pull request #2595 from stephentoub/startup_allocs
Jan Kotas [Sun, 10 Jan 2016 08:07:17 +0000 (00:07 -0800)]
Merge pull request #2595 from stephentoub/startup_allocs

Eliminate a bunch of AppDomain.Setup string path allocations

8 years agoEliminate a bunch of AppDomain.Setup string path allocations
stephentoub [Sun, 10 Jan 2016 03:05:50 +0000 (22:05 -0500)]
Eliminate a bunch of AppDomain.Setup string path allocations

A simple "Hello, World" CoreCLR app involves several hundred K of allocations.  A large percentage of this is in AppDomain.Setup.  At least for my configuration, 30% of all allocations are strings coming from AppDomain.Setup calling Path.NormalizePath (using CoreRun to run a "Hello, World" app in a folder containing the runtime and a bunch of framework libraries).  NormalizePath already checks to see whether the generated string is the same one that was supplied, but it does so after generating the string rather than before; changing to do it before-hand eliminates those allocations (given the right circumstances).

8 years agoMerge pull request #2582 from jkotas/fix-gcsample-x86
Jan Kotas [Sat, 9 Jan 2016 04:31:09 +0000 (20:31 -0800)]
Merge pull request #2582 from jkotas/fix-gcsample-x86

Fix building of GCSample on x86 via the standalone VS project

8 years agoFix for issue 2311.
Hongtao Yu [Sat, 9 Jan 2016 01:07:14 +0000 (17:07 -0800)]
Fix for issue 2311.

Remove the use of unsupported System.Threading.Thread.Abort in a test. Use
semaphore instead.i

The test is testing current GC which is composed of two threads. One thread serves as the garbage collector and run terminates by
itself. The other thread is the main thread and it explicitly aborts the GC thread when all work is done.

F

8 years agoAdd "all" command to build.cmd
Bruce Forstall [Sat, 9 Jan 2016 00:08:17 +0000 (16:08 -0800)]
Add "all" command to build.cmd

With "all", all build architectures and type are built. If a set of architectures or types
is also given, then the set of builds is restricted to those architecturs or flavors.

For example:
    build all
       -- builds all architectures, and all build types per architecture
    build all x86
       -- builds all build types for x86
    build all x64 x86 Checked Release
       -- builds x64 and x86 architectures, Checked and Release build types for each

8 years agoMerge pull request #2588 from BruceForstall/Fixx86TestBuild
Bruce Forstall [Sat, 9 Jan 2016 01:42:27 +0000 (17:42 -0800)]
Merge pull request #2588 from BruceForstall/Fixx86TestBuild

Allow all architectures for buildtest.cmd

8 years agoFixing use case of incomplete Event Source payload
Rama krishnan Raghupathy [Fri, 8 Jan 2016 06:44:25 +0000 (22:44 -0800)]
Fixing use case of incomplete Event Source payload

8 years agostk_bndchk.il is failing consistently for some individuals and
Russ Keldorph [Sat, 9 Jan 2016 00:52:51 +0000 (16:52 -0800)]
stk_bndchk.il is failing consistently for some individuals and
occasionally in the cloud. It assumes that it can create at most 1000
threads and be guaranteed that at least one of the threads' stacks will be
at an address below the heap. Presumably it did that because such
addresses were required to provoke a bug repro at one point in time.
Assuming the original bug is long fixed, there doesn't appear to be much
value to this test case, and it should simply be removed rather than made
deterministic.

Fixes #2585

8 years agoAllow all architectures for buildtest.cmd
Bruce Forstall [Sat, 9 Jan 2016 00:42:39 +0000 (16:42 -0800)]
Allow all architectures for buildtest.cmd

8 years agoMerge pull request #2574 from jkotas/tail-calls
Jan Kotas [Sat, 9 Jan 2016 00:04:21 +0000 (16:04 -0800)]
Merge pull request #2574 from jkotas/tail-calls

Enable tailcallopt for CoreRT

8 years agoMerge pull request #2569 from briansull/fix-2286
Brian Sullivan [Fri, 8 Jan 2016 22:14:25 +0000 (14:14 -0800)]
Merge pull request #2569 from briansull/fix-2286

Fix Issure 2286 - RyuJIT needs to honor volatile reads/writes and avoid making CSE's

8 years agoFix building of GCSample on x86 via the standalone VS project
Jan Kotas [Fri, 8 Jan 2016 22:04:23 +0000 (14:04 -0800)]
Fix building of GCSample on x86 via the standalone VS project

8 years agoAdd a subset of benchmark game benchmarks
Andy Ayers [Fri, 8 Jan 2016 07:13:23 +0000 (23:13 -0800)]
Add a subset of benchmark game benchmarks

Add tests that are not multithreaded and don't rely on large input files. These are adapted for xunit-performance.

Add license and readme.

8 years agoEnable tailcallopt for CoreRT
Jan Kotas [Fri, 8 Jan 2016 16:54:57 +0000 (08:54 -0800)]
Enable tailcallopt for CoreRT

tailcallopt was disabled for ReadyToRun compilation mode because of zapper limitation. Moved the block to the zapper so that CoreRT can take advantage of it.

8 years agoMerge pull request #2570 from BruceForstall/BuildCmdCleanup
Bruce Forstall [Fri, 8 Jan 2016 20:52:24 +0000 (12:52 -0800)]
Merge pull request #2570 from BruceForstall/BuildCmdCleanup

Improve buildtest.cmd, runtest.cmd

8 years agoFix Issure 2286 - RyuJIT needs to honor volitile reads/writes and avoid making CSE...
Brian Sullivan [Fri, 8 Jan 2016 00:14:01 +0000 (16:14 -0800)]
Fix Issure 2286 - RyuJIT needs to honor volitile reads/writes and avoid making CSE's across them

In Liveness.cpp we will now treat a volatile accesses as definitions of the global heap
Assertions are also added in ValueNumber.cpp such that a block that defines or mutates the global heap
must have been marked as cotailing a definition of the global heap using the bbHeapDef flag.

8 years agoConvert System.Globalization.Native to use a configure.cmake and .h.in files.
Eric Erhardt [Thu, 7 Jan 2016 22:14:16 +0000 (16:14 -0600)]
Convert System.Globalization.Native to use a configure.cmake and .h.in files.

8 years agoMerge pull request #2550 from AndyAyersMS/InlineTree
Andy Ayers [Fri, 8 Jan 2016 18:09:40 +0000 (10:09 -0800)]
Merge pull request #2550 from AndyAyersMS/InlineTree

Initial version of the inline tree

8 years agoMerge pull request #2563 from hoyMS/Bug2452
Pat Gavlin [Fri, 8 Jan 2016 17:08:59 +0000 (09:08 -0800)]
Merge pull request #2563 from hoyMS/Bug2452

Fix for bug 2452.

8 years agoMerge pull request #2573 from janvorli/fix-unlimited-stack-issue
Jan Kotas [Fri, 8 Jan 2016 15:15:37 +0000 (07:15 -0800)]
Merge pull request #2573 from janvorli/fix-unlimited-stack-issue

Fix issue with unlimited stack setting

8 years agoFix issue with unlimited stack setting
Jan Vorlicek [Fri, 8 Jan 2016 00:41:07 +0000 (01:41 +0100)]
Fix issue with unlimited stack setting

This change fixes a problem when a process stack size is set to unlimited.
In such case, the main thread stack memory range can shrink during the
process run time. But CoreCLR caches the initial stack limit value and
uses it to detect whether an object is on stack. Since the stack range is
not correct and there can be allocations in the original range of the stack,
this check sometimes fails and can cause issues.

The fix is to remember the stack top at the beginning of the scan in the
ScanContext and use it to check the object address too.

8 years agoMerge pull request #2567 from LLITCHEV/GetTypeIntrinsic
Jan Kotas [Fri, 8 Jan 2016 05:11:12 +0000 (21:11 -0800)]
Merge pull request #2567 from LLITCHEV/GetTypeIntrinsic

Fix ARM build break (Issue 2362).

8 years agoMerge pull request #2560 from AndyAyersMS/TestAttributionNote
Jan Kotas [Fri, 8 Jan 2016 05:10:14 +0000 (21:10 -0800)]
Merge pull request #2560 from AndyAyersMS/TestAttributionNote

Add note about attributions and licenses for 3rd-party originated tests

8 years agoMerge pull request #2562 from sergiy-k/gccodefix
Jan Kotas [Fri, 8 Jan 2016 05:09:31 +0000 (21:09 -0800)]
Merge pull request #2562 from sergiy-k/gccodefix

Fix incorrect merge in gc.cpp

8 years agoAdd more integer benchmarks
Andy Ayers [Thu, 7 Jan 2016 02:31:45 +0000 (18:31 -0800)]
Add more integer benchmarks

The remainder of our simple integer benchmarks: AddArray2, Array1, BenchE, CSieve, Permutate, Puzzle, and TreeInsert.

8 years agoMerge pull request #2559 from bartonjs/osx_openssl_requirements
Stephen Toub [Fri, 8 Jan 2016 02:28:34 +0000 (21:28 -0500)]
Merge pull request #2559 from bartonjs/osx_openssl_requirements

Update OS X instructions to include upgrading OpenSSL

8 years agoMerge pull request #2561 from mikem8361/fixtransport
Stephen Toub [Fri, 8 Jan 2016 02:28:05 +0000 (21:28 -0500)]
Merge pull request #2561 from mikem8361/fixtransport

Fixed issue #5109.  Console stops echoing typed keys after running coreclr.

8 years agoImprove buildtest.cmd, runtest.cmd
Bruce Forstall [Fri, 8 Jan 2016 00:42:04 +0000 (16:42 -0800)]
Improve buildtest.cmd, runtest.cmd

Apply the same kind of changes that were applied to build.cmd:
1. Improved readability and structure of the code.
2. Make all three look similar.
3. Add "sequential" and "msbuildargs" options
4. Add better logging and less verbose console output

8 years agoMerge pull request #2557 from kyulee1/fixmessage
Kyungwoo Lee [Thu, 7 Jan 2016 23:52:41 +0000 (15:52 -0800)]
Merge pull request #2557 from kyulee1/fixmessage

Fix help message in ildasm for Unix

8 years agoFix wrong codegen for comparing 16-bit unsigned values
Sejong Oh [Thu, 7 Jan 2016 23:41:10 +0000 (15:41 -0800)]
Fix wrong codegen for comparing 16-bit unsigned values

The changes fix a bug generating 16-bit signed comparison code to
compare unsigned 16-bit values.

8 years agoMerge pull request #2518 from davmason/master
David Mason [Thu, 7 Jan 2016 23:40:43 +0000 (15:40 -0800)]
Merge pull request #2518 from davmason/master

Merge the .Net Native and CoreCLR implementations of EventSource.

8 years agoFix ARM build break (Issue 2362).
Lubomir Litchev [Thu, 7 Jan 2016 23:30:15 +0000 (15:30 -0800)]
Fix ARM build break (Issue 2362).

Remove unnecessary __cdecl modifier.

8 years agoMerge the .Net Native and CoreCLR implementations of EventSource. This replaces a...
David Mason [Mon, 21 Dec 2015 23:43:42 +0000 (15:43 -0800)]
Merge the .Net Native and CoreCLR implementations of EventSource. This replaces a lot of the previous ifdefs in the ProjectN impelmentation with a partial class that is cleaner and easier to understand.

Remove some ifdefs that can be done in a better way and merge additional bug fixes that happened in the nuget package branch.

Refactor some code to eliminate ifdefs for projectN.

Refactor code so that the ProjectN support uses partial classes instead of ifdefs.

Round 2 of making sure everything compiles in CoreCLR and in ProjectN.

Add formatting to the debugger message that EventSource prints when an internal error happens.

Change null strings to be represented as empty strings in TraceLogging.

Remove some ifdefs that can be done in a better way and merge additional bug fixes that happened in the nuget package branch.

Change WriteEventString to use an anonymous struct instead of EventMessage.

8 years agoMerge pull request #2552 from hoyMS/Bug2298
Hongtao Yu [Thu, 7 Jan 2016 22:15:44 +0000 (14:15 -0800)]
Merge pull request #2552 from hoyMS/Bug2298

Fix for Bug 2298

8 years agoFix a test bug where dllexport qualifier was missing.
Hongtao Yu [Thu, 7 Jan 2016 21:18:42 +0000 (13:18 -0800)]
Fix a test bug where dllexport qualifier was missing.

8 years agoFix incorrect merge in gc.cpp
Sergiy Kuryata [Thu, 7 Jan 2016 20:57:53 +0000 (12:57 -0800)]
Fix incorrect merge in gc.cpp

@Maoni0 noticed that there was one place in gc.cpp that was incorrectly
merged with code from other branches. This change fixes the problem.

8 years agoFixed issue #5109. Console stops echoing typed keys after running a coreclr program.
Mike McLaughlin [Thu, 7 Jan 2016 20:30:17 +0000 (12:30 -0800)]
Fixed issue #5109.  Console stops echoing typed keys after running a coreclr program.

The DbgTransportSession/TwoWayPipe code was closing handle 0 (stdout) because the DbgTransportSession class wasn't being zero init'ed via a memset. The TwoWayPipe code initialized the pipe handles to -1.  The fix is to reinitialized the TwoWayPipe by calling the constructor. Even though it is overkill also checked for 0 in the Disconnect code that closes the pipes.

8 years agoFix help message in ildasm for Unix
Kyungwoo Lee [Thu, 7 Jan 2016 15:57:55 +0000 (07:57 -0800)]
Fix help message in ildasm for Unix

ildasm -h contains a few broken message like "[Undefined resource string ID:0xCC]"
This is because we converted .rc file to a string table and SyntaxCon() enumerate all message ids while some of ids are ifdefedd out under FEATURE_PAL.
The fix is to define all the missing ids with empty string.

And also the indention (prefixed space) are all ignored except one.
Our trick (in awk script) to extract expression ID is to iterate argument string ($i) while setting it
to empty string to effectively delete the argument.
Unfortunately this has side-effect that normalizes all spaces between arguments to one space string.
The fix is to explicitly extract string content from the original string $0.

8 years agoInitial version of the inline tree
Andy Ayers [Wed, 6 Jan 2016 17:49:23 +0000 (09:49 -0800)]
Initial version of the inline tree

Extend `inlExpLst` to to describe the full inlining tree in a method, with a
corresponding dump method.

Add a top-level tree node to serve as the root of the tree. Set this as the
inline context for all top-level expressions. Update the code that links in new
nodes when there is a successful inline to build the tree links. Since the
child list is extended by a prepend and candidates are currently visited in
lexical (increasing "local" IL offset) order, the child list ends up reversed.
The dumper prints the list entries from back to front to compensate so the tree
display reflects lexical order.

Capture IL offset to help in identifying call sites. Note this is incomplete and
offets are often missing copies of the parent's offset. Will work on improving
this subsequently.

Update the depth check to return the depth. This is currently only used in
diagnostic messages.

Remove some unused inlining-related data members from the compiler class. Cache
the `JitPrintInlinedMethods` config value and use it to dump the tree when
inlining is done, if there were any inlines.

The jit traditionally (and probably inadvertently) allowed one level of
recursive inlining. Added a test case showing how this can happen.

Because there is now a top-level inlining context, the recursion check can now
potentially detect and block these recursive inlines. Support legacy behavior
for now by setting `ixlCode` to `nullptr` in the top-level record.

This change should be no diff.

Sample output:
```
Inlines into Enumerable:Where(ref,ref):ref
  [IL=3] Error:ArgumentNull(ref):ref
  [IL=17] Error:ArgumentNull(ref):ref
  [IL=?] WhereArrayIterator`1:.ctor(ref,ref):this
    [IL=?] Iterator`1:.ctor():this
      [IL=?] Object:.ctor():this
      [IL=?] Environment:get_CurrentManagedThreadId():int
        [IL=?] Thread:get_CurrentThread():ref
  [IL=?] WhereListIterator`1:.ctor(ref,ref):this
    [IL=?] Iterator`1:.ctor():this
      [IL=?] Object:.ctor():this
      [IL=?] Environment:get_CurrentManagedThreadId():int
        [IL=?] Thread:get_CurrentThread():ref
  [IL=?] WhereEnumerableIterator`1:.ctor(ref,ref):this
    [IL=?] Iterator`1:.ctor():this
      [IL=?] Object:.ctor():this
      [IL=?] Environment:get_CurrentManagedThreadId():int
        [IL=?] Thread:get_CurrentThread():ref
```
Sample showing the recursive inline:
```
Inlines into Fact:factRx(int,int,int,int):int
  [IL=6] Fact:factRx(int,int,int,int):int
```

8 years agoAdd note about attributions and licenses for 3rd-party originated tests
Andy Ayers [Thu, 7 Jan 2016 19:38:59 +0000 (11:38 -0800)]
Add note about attributions and licenses for 3rd-party originated tests

8 years agoUpdate OS X instructions to include upgrading OpenSSL
bartonjs [Thu, 7 Jan 2016 19:25:08 +0000 (11:25 -0800)]
Update OS X instructions to include upgrading OpenSSL

8 years agoAdd SciMark benchmark
Andy Ayers [Thu, 7 Jan 2016 17:13:50 +0000 (09:13 -0800)]
Add SciMark benchmark

3rd party attributions retained in file header comments.

8 years agoMerge pull request #2517 from swgillespie/etw-python3
Rama krishnan Raghupathy [Thu, 7 Jan 2016 18:37:17 +0000 (10:37 -0800)]
Merge pull request #2517 from swgillespie/etw-python3

python3-ize the ETW setup scripts

8 years agoMerge pull request #2541 from BruceForstall/BuildCmdCleanup
Bruce Forstall [Thu, 7 Jan 2016 06:53:20 +0000 (22:53 -0800)]
Merge pull request #2541 from BruceForstall/BuildCmdCleanup

Improve and clean-up build.cmd

8 years agoFix for Bug 2298.
Hongtao Yu [Thu, 7 Jan 2016 01:59:05 +0000 (17:59 -0800)]
Fix for Bug 2298.

There is a noway assert in the lower assuming an GT_ARR_ELEM node cannot be a top expression node. This is not true.  We can have a top-level GT_ARR_ELEM. For example, a function call with a parameter of GT_ARR_ELEM can end up being simplified by the inliner to single GT_ARR_ELEM node if the function has an empty body.

The fix here is to remove the assert and use the GT_ARR_ELEM as the inserting point and remove the GT_ARR_ELEM later.

8 years agoMerge pull request #2548 from ellismg/fix-en-us-posix-casing
Jan Kotas [Thu, 7 Jan 2016 03:07:27 +0000 (19:07 -0800)]
Merge pull request #2548 from ellismg/fix-en-us-posix-casing

Don't use Turkish casing for en-US-POSIX.

8 years agoMerge pull request #2546 from AndyAyersMS/InlineTestCleanup
Jan Kotas [Thu, 7 Jan 2016 01:54:53 +0000 (17:54 -0800)]
Merge pull request #2546 from AndyAyersMS/InlineTestCleanup

Remove some redundant inlining tests

8 years agoMerge pull request #2529 from janvorli/fix-osx-build-with-new-cmake
Jan Vorlicek [Thu, 7 Jan 2016 01:40:46 +0000 (02:40 +0100)]
Merge pull request #2529 from janvorli/fix-osx-build-with-new-cmake

Fix build on OSX with CMake version >= 3.4

8 years agoMerge pull request #2543 from janvorli/fix-div-0-ovf-detection
Jan Kotas [Thu, 7 Jan 2016 01:35:22 +0000 (17:35 -0800)]
Merge pull request #2543 from janvorli/fix-div-0-ovf-detection

Fix div by zero or overflow detection on Unix