platform/upstream/coreclr.git
9 years agoProper CLR module discovery in dbgshim on POSIX systems
Eugene Zemtsov [Thu, 23 Apr 2015 07:20:03 +0000 (00:20 -0700)]
Proper CLR module discovery in dbgshim on POSIX systems

9 years agoMark dbgshim functions as extern "C", for easier load via GetProcAddress
Eugene Zemtsov [Mon, 27 Apr 2015 19:14:03 +0000 (12:14 -0700)]
Mark dbgshim functions as extern "C", for easier load via GetProcAddress

9 years agoMerge pull request #836 from dotnet-bot/from-tfs
Jan Kotas [Mon, 27 Apr 2015 17:58:29 +0000 (10:58 -0700)]
Merge pull request #836 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoFix build break
Jan Kotas [Mon, 27 Apr 2015 16:44:52 +0000 (09:44 -0700)]
Fix build break

[tfs-changeset: 1460550]

9 years agoMerge pull request #830 from taylorjonl/freebsd-docs
Jan Kotas [Mon, 27 Apr 2015 16:05:43 +0000 (09:05 -0700)]
Merge pull request #830 from taylorjonl/freebsd-docs

Updated paths that contained Unix to Linux

9 years agoUpdated paths that contained Unix to Linux
taylorjonl [Mon, 27 Apr 2015 15:31:55 +0000 (09:31 -0600)]
Updated paths that contained Unix to Linux

9 years agoMerge pull request #829 from janvorli/fix-secondary-thread-gc
Jan Kotas [Mon, 27 Apr 2015 14:57:57 +0000 (07:57 -0700)]
Merge pull request #829 from janvorli/fix-secondary-thread-gc

Fix GC of other thread during native frames unwinding

9 years agoFix GC of other thread during native frames unwinding
Jan Vorlicek [Mon, 27 Apr 2015 00:28:22 +0000 (17:28 -0700)]
Fix GC of other thread during native frames unwinding

This change fixes a problem when the GC is attempting to scan a stack
of another thread that have just performed the native stack segment
unwind, but didn't have a chance to update the exception tracker
to reflect the fact that the stack range from m_pInitialExplicitFrame
and m_pLimitFrame is in the reclaimed part of the stack and is waiting
for the GC to complete (it uses the GCX_COOP).
The GC then attempts to scan explicit frames in the already reclaimed
part of the stack and crashes.
Besides fixing the issue, I have noticed that we are missing GCX_COOP
to enter the cooperative mode when unwinding frame chain in the
UnwindManagedExceptionPass1. I have also found that we don't have the
GCX_COOP in the HandleHardwareException properly scoped.
So I have fixed those as well.

9 years agoMerge pull request #825 from DickvdBrink/remove_deprecated_hash_map
Jan Kotas [Sun, 26 Apr 2015 23:45:02 +0000 (16:45 -0700)]
Merge pull request #825 from DickvdBrink/remove_deprecated_hash_map

Replace hash_map/set with unordered_map/set

9 years agoMerge pull request #826 from dotnet/richlander-patch-1
Jan Kotas [Sun, 26 Apr 2015 23:28:55 +0000 (16:28 -0700)]
Merge pull request #826 from dotnet/richlander-patch-1

Update windows-instructions.md

9 years agoMerge pull request #827 from kangaroo/freebsd-bringup
Jan Kotas [Sun, 26 Apr 2015 23:27:08 +0000 (16:27 -0700)]
Merge pull request #827 from kangaroo/freebsd-bringup

Complete FreeBSD bringup

9 years agoComplete FreeBSD bringup
Geoff Norton [Sun, 26 Apr 2015 22:32:22 +0000 (15:32 -0700)]
Complete FreeBSD bringup

Fixes issue #801 which was caused by the CoreCLR and PAL being
dlopened, but pthread not being initialized by the runtime linker yet.
FreeBSD requires that the main executable load pthread, rather than a
downstream dependency.  Also fixed a few missing calls to pthread_attr_init
which was causing asserts() on FBSD.

9 years agoUpdate windows-instructions.md
Rich Lander [Sun, 26 Apr 2015 22:26:40 +0000 (15:26 -0700)]
Update windows-instructions.md

- Added reference to issue #30 so that people can "watch at home" on this issue.

9 years agoReplace hash_map/set with unordered_map/set
Dick van den Brink [Sun, 26 Apr 2015 22:24:55 +0000 (00:24 +0200)]
Replace hash_map/set with unordered_map/set

hash_map/hash_set are deprecated in VS 2015
fix #821

9 years agoMerge pull request #822 from DickvdBrink/vs2015-build
Jan Kotas [Sun, 26 Apr 2015 20:50:09 +0000 (13:50 -0700)]
Merge pull request #822 from DickvdBrink/vs2015-build

Allow building with VS2015 installed

9 years agoMerge pull request #823 from stephentoub/filesecuritystate_path_unix
Jan Kotas [Sun, 26 Apr 2015 20:47:22 +0000 (13:47 -0700)]
Merge pull request #823 from stephentoub/filesecuritystate_path_unix

Fix FileSecurityState.VerifyPath on Unix

9 years agoAllow building with VS2015 installed
Dick van den Brink [Sun, 26 Apr 2015 17:36:42 +0000 (19:36 +0200)]
Allow building with VS2015 installed

Previous it was required to have VS2013 but now VS2015 can also be used. The default is still 2013 though.
On a machine with both version installed it is possible to force VS2013/VS2015 with a parameter.

Note: Still some work has to be done to make compilation successfull on VS2015.

9 years agoFix FileSecurityState.VerifyPath on Unix
Stephen Toub [Sun, 26 Apr 2015 14:15:55 +0000 (10:15 -0400)]
Fix FileSecurityState.VerifyPath on Unix

FileSecurityState.VerifyPath is throwing an exception if a path contains '?' or '*', but these are valid characters in paths on Unix.  This commit just uses PLATFORM_UNIX to remove this code when compiling for Linux or OSX.

9 years agoMerge pull request #819 from ajensenwaud/freebsd-lldb1
Jan Kotas [Sun, 26 Apr 2015 13:21:32 +0000 (06:21 -0700)]
Merge pull request #819 from ajensenwaud/freebsd-lldb1

Fixed lldb header related build errors on FreeBSD

9 years agoFixed lldb header related build errors on FreeBSD
Anders Jensen-Waud [Sat, 25 Apr 2015 22:49:55 +0000 (08:49 +1000)]
Fixed lldb header related build errors on FreeBSD

Include C standard libraries in order for build
to work properly on FreeBSD 10.1 when linking
against LLDB.

9 years agoMerge pull request #809 from richlander/rich-getcoreclr
Rich Lander [Sat, 25 Apr 2015 23:00:23 +0000 (16:00 -0700)]
Merge pull request #809 from richlander/rich-getcoreclr

Add NuGet and DNVM links to readme

9 years agoMerge pull request #807 from mikem8361/testcoreclrindebugger
Mike McLaughlin [Sat, 25 Apr 2015 18:27:47 +0000 (11:27 -0700)]
Merge pull request #807 from mikem8361/testcoreclrindebugger

Implemented hardware exception chaining.

9 years agoMerge pull request #813 from janvorli/fix-osx-hw-exceptions
Jan Vorlicek [Sat, 25 Apr 2015 18:00:43 +0000 (11:00 -0700)]
Merge pull request #813 from janvorli/fix-osx-hw-exceptions

Fix OSX hardware exception handling

9 years agoFix OSX hardware exception handling
Jan Vorlicek [Sat, 25 Apr 2015 16:43:34 +0000 (09:43 -0700)]
Fix OSX hardware exception handling

This change fixes a bug in the OSX hardware exception handling. The catch_exception_raise
function in machexceptions.cpp creates a stack frame that allows stack unwinder to
walk to the place where the hardware exception happened from the actual exception
handling code.
The problem was that this method stores the address of the faulting instruction
PLUS 1 as the return address on the stack. There was a long comment about the
reasons for doing so, but these reasons are not valid for jitted code that we
unwind using the windows style unwinder and the "+1" breaks the unwinder in
some cases.
In the case that we've hit, there was an idiv instruction with instruction code
0xF7 0xFF, followed by instruction code 0x25. The windows style unwinder got
the address of the second byte of the instruction code, the 0xFF, which followed
by the 0x25 is an unconditional indirect jump. So the unwinder decided based on
that that it is in the epilogue of the function and returned an unwound context
containing an invalid instruction pointer.
The fix is to not to increase the instruction by one in the catch_exception_raise.
We don't do that in the Linux exception handling either.
We may need to do this fixup at other place for exceptions happening in the debugger
libraries where a hardware exception can happen and be handled in our C++ code as well.

9 years agoMerge pull request #811 from richlander/rich-dnx
Rich Lander [Sat, 25 Apr 2015 07:34:12 +0000 (00:34 -0700)]
Merge pull request #811 from richlander/rich-dnx

Fix typo

9 years agoFix typo
Richard Lander [Sat, 25 Apr 2015 06:53:14 +0000 (23:53 -0700)]
Fix typo

9 years agoAdd NuGet and DNVM links to readme
Richard Lander [Sat, 25 Apr 2015 05:48:56 +0000 (22:48 -0700)]
Add NuGet and DNVM links to readme

9 years agoMerge pull request #806 from richlander/rich-getcoreclr
Rich Lander [Sat, 25 Apr 2015 05:18:00 +0000 (22:18 -0700)]
Merge pull request #806 from richlander/rich-getcoreclr

Update binary distribution instructions

9 years agoUpdate binary distribution instructions
Rich Lander [Fri, 24 Apr 2015 23:28:04 +0000 (16:28 -0700)]
Update binary distribution instructions

9 years agoImplemented hardware exception chaining.
Mike McLaughlin [Tue, 21 Apr 2015 22:25:24 +0000 (15:25 -0700)]
Implemented hardware exception chaining.

Test CLR hosting under a debugger (lldb). In order to test the debugger modules and coreclr running together in the same process, add the test command "corerun" to the lldb plugin that uses the CLR hosting apis to run managed code in the lldb process.

Fixed a problem where the dac module was picking up an constructor in the coreclr module instead of using the dac version. This is because the corerun code was dlopen'ing coreclr with RTLD_GLOBAL which exposed all the symbols to the reset of the dynamic modules loaded.  Changing it to RTLD_LOCAL (the default) fixes this problem.

Changed from an ASSERT to an ERROR in the hardware exception handler because ASSERT does an SIGTRAP (DebugBreak) that keeps recursively being hit.

Removed all signals that installed a fatal_signal_handler especially SIGINT which was interfering with lldb's. The rest of the signals, the default action should be good enough.

Checked if the EE was started in the VM's hardware exception handler just to make sure everything is ready before the managed exception chain is called.

Cleanup signal thread masking. Only wait for SIGINT/SIGQUIT explicitly instead of trying to mask all the signals we don't want to wait on.

9 years agoMerge pull request #804 from janhenke/patch-1
Rich Lander [Fri, 24 Apr 2015 22:44:39 +0000 (15:44 -0700)]
Merge pull request #804 from janhenke/patch-1

Update main README.md to include FreeBSD

9 years agoMerge pull request #805 from janvorli/fix-div-handling
Jan Vorlicek [Fri, 24 Apr 2015 22:31:06 +0000 (15:31 -0700)]
Merge pull request #805 from janvorli/fix-div-handling

Fix div by 0 detection

9 years agoMerge pull request #802 from libengu/Exclusion
Bengu Li [Fri, 24 Apr 2015 22:09:19 +0000 (15:09 -0700)]
Merge pull request #802 from libengu/Exclusion

Implement a runtest exclusion mechanism for individual tests

9 years agoFix div by 0 detection
Jan Vorlicek [Fri, 24 Apr 2015 21:43:46 +0000 (14:43 -0700)]
Fix div by 0 detection

This change adds check for the DIV instruction code as well. The existing
check to distinguish between div by 0 and division overflow was checking
just the IDIV instruction.

9 years agoUpdate main README.md to include FreeBSD
Jan Henke [Fri, 24 Apr 2015 21:03:09 +0000 (23:03 +0200)]
Update main README.md to include FreeBSD

This PR adds FreeBSD to the main README.md.

9 years agoImplement a runtest exclusion mechanism for individual tests
Bengu Li [Fri, 24 Apr 2015 19:44:21 +0000 (12:44 -0700)]
Implement a runtest exclusion mechanism for individual tests

Existing runtest.cmd and runtest.proj does not support excluding
individual tests from running thus a JIT testing that wants to
do so has to hard delete the built tests which caused a bunch
of potential issue and developer inconvinience. This change
implements a solution that developer can specify excluded tests
through a msbuild .targets file with ItemGroup ExcludeList.
Existing runtest builds XunitWrapper.dll for each top level test
directory and run the tests at the granularity of XunitWrapper.dll
level. The implmentaiton controls how many test cases are included
when XunitWrapper.dll is built. No more hard deletion. Passed
tests with and without exclusion.

9 years agoMerge pull request #800 from janhenke/fbsd-doc
Rich Lander [Fri, 24 Apr 2015 19:10:54 +0000 (12:10 -0700)]
Merge pull request #800 from janhenke/fbsd-doc

Initial FreeBSD instructions based on the Linux instructions.

9 years agoInitial FreeBSD instructions based on the Linux instructions.
Jan Henke [Fri, 24 Apr 2015 15:53:51 +0000 (17:53 +0200)]
Initial FreeBSD instructions based on the Linux instructions.

This file is a copy of the Linux instructions, modified for the differences
between Linux and FreeBSD. It is not perfect yet, we are still missing some
parts on FreeBSD (LLDB, CoreFX). Also the package download with NuGet.exe does
not work yet due to a problem with importing CA certs. Nevertheless this is a
start and better than nothing. Closes #799.

9 years agoMerge pull request #798 from justincormack/netbsd
Jan Vorlicek [Fri, 24 Apr 2015 15:02:34 +0000 (08:02 -0700)]
Merge pull request #798 from justincormack/netbsd

basic NetBSD platform support

9 years agobasic NetBSD platform support
Justin Cormack [Fri, 24 Apr 2015 12:28:07 +0000 (12:28 +0000)]
basic NetBSD platform support

9 years agoMerge pull request #790 from richlander/rich-readme
Rich Lander [Fri, 24 Apr 2015 05:51:30 +0000 (22:51 -0700)]
Merge pull request #790 from richlander/rich-readme

Add source instructions more prominently

9 years agoAdd source instructions more prominently
Richard Lander [Thu, 23 Apr 2015 05:03:23 +0000 (22:03 -0700)]
Add source instructions more prominently

9 years agoMerge pull request #795 from richlander/rich-windowsnuget
Rich Lander [Fri, 24 Apr 2015 05:46:45 +0000 (22:46 -0700)]
Merge pull request #795 from richlander/rich-windowsnuget

Add instructions for acquiring binaries for Windows via NuGet

9 years agoAdd instructions for acquiring binaries for Windows via NuGet
Rich Lander [Fri, 24 Apr 2015 00:32:33 +0000 (17:32 -0700)]
Add instructions for acquiring binaries for Windows via NuGet

9 years agoMerge pull request #796 from stephentoub/temp_currency_symbol
Matt Ellis [Fri, 24 Apr 2015 04:23:02 +0000 (21:23 -0700)]
Merge pull request #796 from stephentoub/temp_currency_symbol

Temporarily change invariant currency symbol on Unix for demo purposes

9 years agoTemporarily change invariant currency symbol on Unix for demo purposes
Stephen Toub [Fri, 24 Apr 2015 03:14:56 +0000 (23:14 -0400)]
Temporarily change invariant currency symbol on Unix for demo purposes

mscorlib's globalization stack on Unix is a temporary implementation, good enough to help unblock getting the rest of the system up and running and for some basic demos.  However, such demos are hindered slightly by the use of the international monetary symbol "\x00a4" when rendering currency.  This commit just makes a temporary tweak to instead use "$".

9 years agoMerge pull request #794 from dotnet/fix-gc-issue
Jan Vorlicek [Fri, 24 Apr 2015 01:14:07 +0000 (18:14 -0700)]
Merge pull request #794 from dotnet/fix-gc-issue

Fix GC stack unwinding issue

9 years agoFix GC stack unwinding issue
Jan Vorlicek [Fri, 24 Apr 2015 00:23:07 +0000 (17:23 -0700)]
Fix GC stack unwinding issue

This change fixes a GC stack unwinding issue when a GC is
triggered in a catch handler that caught a rethrown
exception.
The problem was that we need to propagate the m_fFixupCallerSPForGCReporting
to the new exception tracker created when interleaved exception handling
starts processing a block of managed frames after processing another
block of managed frames followed by a block of native frames.
Without this flag, the m_EnclosingClauseInfoForGCReporting's
caller SP is not updated when the target unwind frame is found and
such an update is needed.

9 years agoMerge pull request #788 from ellismg/fix-pal-dylib-loading
Matt Ellis [Thu, 23 Apr 2015 21:33:32 +0000 (14:33 -0700)]
Merge pull request #788 from ellismg/fix-pal-dylib-loading

Fix loading of PAL on OSX

9 years agoMerge pull request #787 from sokket/master
Jonathan Miller [Thu, 23 Apr 2015 21:02:46 +0000 (14:02 -0700)]
Merge pull request #787 from sokket/master

Fixing an issue in FILECanonicalizePath where some paths did not canonicalize properly

9 years agoMerge pull request #783 from Djuffin/dbi-linux
Eugene Zemtsov [Thu, 23 Apr 2015 20:17:01 +0000 (13:17 -0700)]
Merge pull request #783 from Djuffin/dbi-linux

CoreCLR DBI  automatically detects CLR instance to attach to

9 years agoFix loading of PAL on OSX
Matt Ellis [Thu, 23 Apr 2015 00:00:41 +0000 (17:00 -0700)]
Fix loading of PAL on OSX

On OSX our trick to preload the PAL from the host before trying to load
coreclr doesn't actually cause the OSX loader to correctly resolve the
dependency.

This change moves to use rpath and then add an entry to the rpath list
for libcoreclr to @loader_path.

This way, we can load libcoreclr even in cases where the path to the PAL
is not on DYLD_LIBRARY_PATH and your CWD is not the doesn't have a copy.

Related issues are #709 and #719

9 years agoAddressing PR feedback in the test cases and fixing casing for test case runs
Jonathan Miller [Thu, 23 Apr 2015 18:43:46 +0000 (11:43 -0700)]
Addressing PR feedback in the test cases and fixing casing for test case runs

9 years agoCoreCLR DBI automatically detects CLR instance to attach to (when possible)
Eugene Zemtsov [Wed, 22 Apr 2015 21:00:23 +0000 (14:00 -0700)]
CoreCLR DBI  automatically detects CLR instance to attach to (when possible)

9 years agoMerge pull request #791 from janhenke/freebsd-linking
Jan Kotas [Thu, 23 Apr 2015 17:24:09 +0000 (10:24 -0700)]
Merge pull request #791 from janhenke/freebsd-linking

Fix the two remaining linker errors on FreeBSD.

9 years agoMerge pull request #789 from mikem8361/dactablefix
Mike McLaughlin [Thu, 23 Apr 2015 17:02:55 +0000 (10:02 -0700)]
Merge pull request #789 from mikem8361/dactablefix

Fixed the dac table file problem

9 years agoFix the two remaining linker errors on FreeBSD.
Jan Henke [Thu, 23 Apr 2015 16:51:47 +0000 (02:51 +1000)]
Fix the two remaining linker errors on FreeBSD.

Thanks to Jan Vorlicek for finding the source of the first linker error. Those
linker options need to be passed to the linker on FreeBSD too.
The second linker error is caused by the fact that FreeBSD has no libdl, the
functionality is instead implemented in libc. Thus do not add the -ldl option
to the linker on FreeBSD. Fixes #739

This is fixes the build on FreeBSD completely!

9 years agoMerge pull request #786 from libengu/TestStructPromote
Bengu Li [Thu, 23 Apr 2015 16:44:12 +0000 (09:44 -0700)]
Merge pull request #786 from libengu/TestStructPromote

Add Directed/StructPromote test cases for JIT

9 years agoMerge pull request #784 from libengu/TestGenericsFields
Bengu Li [Thu, 23 Apr 2015 16:43:58 +0000 (09:43 -0700)]
Merge pull request #784 from libengu/TestGenericsFields

Add Generics/Fields test cases for JIT

9 years agoFixed the dac table file problem. The file name used isn't unique if there is more...
Mike McLaughlin [Thu, 23 Apr 2015 04:27:10 +0000 (21:27 -0700)]
Fixed the dac table file problem. The file name used isn't unique if there is more than one process running managed code.  As a temporary fix (using a file is very temporary anyway), use the CLR module base address in the file name. Even if there is more than one process with managed code/coreclr running if the base address is the same the dac table address will be the same. Moved the dac table initialization to be sooner in the EE initialization because SOS/DAC can need it even before the EE debugger support is started. Also fixed the dac table file cleanup. We can't actually remove the dac file now that the base address is part of the name because multiple processes could be using it.

9 years agoMerge pull request #773 from janhenke/build-args
Matthew Whilden [Thu, 23 Apr 2015 10:20:47 +0000 (03:20 -0700)]
Merge pull request #773 from janhenke/build-args

Add optional arguments for choosing clang version and verbose build output

9 years agoMerge pull request #771 from mikem8361/hwexcept
Mike McLaughlin [Thu, 23 Apr 2015 04:27:43 +0000 (21:27 -0700)]
Merge pull request #771 from mikem8361/hwexcept

Share hardware exception between coreclr and DAC

9 years agoChanged the VM's hardware exception to return if not in manged code. For DAC's hardwa...
Mike McLaughlin [Wed, 15 Apr 2015 23:59:56 +0000 (16:59 -0700)]
Changed the VM's hardware exception to return if not in manged code. For DAC's hardware exception handling, add
hardware exception holder used to determine if a C++ exception should be thrown for a hardware exception. Cleaned
up PAL initialization interactions between the debugger modules (PAL_InitializeDLL) and coreclr (PAL_InitializeCoreCLR).

9 years agoAddressing PR feedback
Jonathan Miller [Thu, 23 Apr 2015 01:31:16 +0000 (18:31 -0700)]
Addressing PR feedback

9 years agoFixing an issue in FILECanonicalizePath where paths like /Test/..
Jonathan Miller [Wed, 22 Apr 2015 23:18:00 +0000 (16:18 -0700)]
Fixing an issue in FILECanonicalizePath where paths like /Test/..
would not be properly canonicalized due to a missing check to
ensure the function doesn't truncate the root slash

9 years agoMerge pull request #785 from DickvdBrink/SOS-plugin-build
Jan Kotas [Wed, 22 Apr 2015 22:24:22 +0000 (15:24 -0700)]
Merge pull request #785 from DickvdBrink/SOS-plugin-build

Fixed lldb not found error on fedora

9 years agoAdd Directed/StructPromote test cases for JIT
Bengu Li [Wed, 22 Apr 2015 21:31:36 +0000 (14:31 -0700)]
Add Directed/StructPromote test cases for JIT

Add Directed/StructPromote test cases for JIT. Related proj, config files
added. Solution file update is delayed to later PRs for parallel working.
Passed build, buildtest, runtest.

9 years agoFixed lldb not found error on fedora
Dick van den Brink [Wed, 22 Apr 2015 21:23:46 +0000 (23:23 +0200)]
Fixed lldb not found error on fedora

liblldb is installed in /usr/lib64/llvm/liblldb.so

9 years agoAdd Generics/Fields test cases for JIT
Bengu Li [Wed, 22 Apr 2015 21:13:34 +0000 (14:13 -0700)]
Add Generics/Fields test cases for JIT

Add Generics/Fields test cases for JIT. Related proj, config, and sln files
added and updated. Passed build, buildtest, runtest.

9 years agoMerge pull request #759 from brianrob/perfmap
Jan Kotas [Wed, 22 Apr 2015 20:21:58 +0000 (13:21 -0700)]
Merge pull request #759 from brianrob/perfmap

Enable perf_events to resolve JIT compiled code addresses

9 years agoAdd optional arguments for choosing clang version and verbose build output
Jan Henke [Wed, 22 Apr 2015 10:47:11 +0000 (12:47 +0200)]
Add optional arguments for choosing clang version and verbose build output

This commit adds two optional arguments to build.sh. The "verbose" option
enables verbose build output. This can be useful to debug build failures by
seeing the complete command line used to invoke the build.
The other option is "clangx.y", which allows to specify the clang version used
for the build. This makes it easy to test different clang versions and aid
future migration to newer clang releases and other platforms. Closes #740

9 years agoMerge pull request #776 from libengu/TestInlineOpt
Bengu Li [Wed, 22 Apr 2015 18:18:30 +0000 (11:18 -0700)]
Merge pull request #776 from libengu/TestInlineOpt

Add Inline test cases for JIT

9 years agoMerge pull request #774 from dotnet-bot/from-tfs
Jan Kotas [Wed, 22 Apr 2015 18:18:10 +0000 (11:18 -0700)]
Merge pull request #774 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoAdd Inline test cases for JIT
Bengu Li [Wed, 22 Apr 2015 17:36:50 +0000 (10:36 -0700)]
Add Inline test cases for JIT

Add inlining optimizaiton test cases for JIT. Related proj, config, and sln files
added and updated. Passed build, buildtest, runtest.

9 years agoMerge pull request #750 from fieryorc/pull/add-apis
Prem Ramanathan [Wed, 22 Apr 2015 17:32:01 +0000 (10:32 -0700)]
Merge pull request #750 from fieryorc/pull/add-apis

Add few pal APIs to pal library

9 years agoAdd few pal APIs needed for debugger code.
Prem Ramanathan [Tue, 21 Apr 2015 00:07:19 +0000 (17:07 -0700)]
Add few pal APIs needed for debugger code.
Added APIs:

InterlockedBitTestAndReset
InterlockedBitTestAndSet
InitializeCriticalSectionEx

Added test for the first two APIs.

9 years agoMerge pull request #775 from mmitche/run-cppcheck
Matt Mitchell [Wed, 22 Apr 2015 17:22:36 +0000 (10:22 -0700)]
Merge pull request #775 from mmitche/run-cppcheck

Initial commit of script to run cppcheck.

9 years agoInitial commit of script to run cppcheck.
Matt Mitchell [Wed, 22 Apr 2015 16:23:46 +0000 (09:23 -0700)]
Initial commit of script to run cppcheck.

This script runs the cppcheck and sloccount tools for static analysis.  The lab runs this script with the default arguments

Mark script as executable

9 years agoAdds support for resolving JIT compiled managed call frames in perf_events.
Brian Robbins [Mon, 13 Apr 2015 23:18:16 +0000 (16:18 -0700)]
Adds support for resolving JIT compiled managed call frames in perf_events.

9 years agoMerge pull request #768 from libengu/TestGenericsArrays
Matt Mitchell [Wed, 22 Apr 2015 15:11:45 +0000 (08:11 -0700)]
Merge pull request #768 from libengu/TestGenericsArrays

Add Generics/Arrays test cases for JIT

9 years agoMerge pull request #765 from DickvdBrink/llvm_locate_fix
Jan Kotas [Tue, 21 Apr 2015 23:43:12 +0000 (16:43 -0700)]
Merge pull request #765 from DickvdBrink/llvm_locate_fix

Fixed locating llvm tools on fedora

9 years agoUpdate framework assembly for System.Uri WinRT projection from System.dll to Internal...
Ryan Byington [Tue, 21 Apr 2015 23:15:59 +0000 (16:15 -0700)]
Update framework assembly for System.Uri WinRT projection from System.dll to Internal.Uri.dll

For NetCore for CoreCLR System.Uri was moved from System.dll to Internal.Uri.dll. This change updates the WinRT projection for this change.

This is a temporary workaround while we investigate a complete fix and will break phone and .NET 4.6 scenarios.

[tfs-changeset: 1457678]

9 years agoAdd Generics/Arrays test cases for JIT
Bengu Li [Tue, 21 Apr 2015 23:10:40 +0000 (16:10 -0700)]
Add Generics/Arrays test cases for JIT

Add test cases in directory JIT/Generics/Arrays. Related proj, config, and sln files
added and updated. Passed build, buildtest, runtest.

9 years agoMerge pull request #766 from libengu/cmov
Bengu Li [Tue, 21 Apr 2015 22:40:41 +0000 (15:40 -0700)]
Merge pull request #766 from libengu/cmov

Add test cases in directory Directed/cmov

9 years agoAdd test cases in directory Directed/cmov
Bengu Li [Tue, 21 Apr 2015 18:42:30 +0000 (11:42 -0700)]
Add test cases in directory Directed/cmov

Add test cases in directory Directed/cmov. Logical operator
tests where many of the operations emit cmov instruciton on
x86\x64. Related proj, config, and sln files added and updated.
Passed build, buildtest, runtest.

9 years agoMerge pull request #752 from CarolEidt/PrecedenceFixes
Carol Eidt [Tue, 21 Apr 2015 18:23:21 +0000 (11:23 -0700)]
Merge pull request #752 from CarolEidt/PrecedenceFixes

Issue #609 & #610: Fix precedence issues

9 years agoMerge pull request #754 from jkotas/unnecessaryfile
Jan Kotas [Tue, 21 Apr 2015 05:29:04 +0000 (22:29 -0700)]
Merge pull request #754 from jkotas/unnecessaryfile

Delete unnecessary .gitmirror file

9 years agoDelete unnecessary .gitmirror file
Jan Kotas [Tue, 21 Apr 2015 05:23:07 +0000 (22:23 -0700)]
Delete unnecessary .gitmirror file

9 years agoMerge pull request #753 from dotnet-bot/from-tfs
Jan Kotas [Tue, 21 Apr 2015 05:21:28 +0000 (22:21 -0700)]
Merge pull request #753 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoUse more appropriate mirror setting for src\corefx
Jan Kotas [Tue, 21 Apr 2015 04:09:22 +0000 (21:09 -0700)]
Use more appropriate mirror setting for src\corefx

[tfs-changeset: 1457001]

9 years agoMerge pull request #745 from bartonjs/crypto-interop-library
Jan Kotas [Tue, 21 Apr 2015 02:19:46 +0000 (19:19 -0700)]
Merge pull request #745 from bartonjs/crypto-interop-library

Create native interop library System.Security.Cryptography.Native

9 years agoFixed locating llvm tools on fedora
Dick van den Brink [Tue, 21 Apr 2015 00:51:59 +0000 (02:51 +0200)]
Fixed locating llvm tools on fedora

The locate_llvm_exec function was missing the $llvm_prefix

9 years agoMerge pull request #746 from libengu/TestCheckedCtor
Bengu Li [Mon, 20 Apr 2015 23:26:51 +0000 (16:26 -0700)]
Merge pull request #746 from libengu/TestCheckedCtor

Add CSharp Base/Peer Constructor test cases

9 years agoCreate native interop library System.Security.Cryptography.Native
Jeremy Barton [Mon, 20 Apr 2015 23:03:44 +0000 (16:03 -0700)]
Create native interop library System.Security.Cryptography.Native

9 years agoAdd CSharp Base/Peer Constructor test cases
Bengu Li [Mon, 20 Apr 2015 21:38:27 +0000 (14:38 -0700)]
Add CSharp Base/Peer Constructor test cases

Add CSharp Base/Peer Constructor test cases. Related proj, config,
and sln files added and updated. Passed build, buildtest, runtest.

9 years agoIssue #609 & #610: Fix precedence issues
Carol Eidt [Mon, 20 Apr 2015 19:19:29 +0000 (12:19 -0700)]
Issue #609 & #610: Fix precedence issues

Near line 6089 in importer.cpp, enforcing the precedence indicated by
the indentation resulted in no diffs, which at first seemed surprising.
However, this is because we never encounter the other mask values
without calli.

Near line 10483, this is where we convert (dup, stloc) to (stloc, ldloc).
This was clearly intended only for non-debug mode, but the original code
in the importer was like this:

     if (!opts.compDbgCode &&
         (nextOpcode == CEE_STLOC)   ||
         (nextOpcode == CEE_STLOC_S) ||
         ((nextOpcode >= CEE_STLOC_0) &&
         (nextOpcode <= CEE_STLOC_3)))
     {
         insertLdloc = true;

Due to the fact that the parens don't support the apparent intended
precedence, the condition is equivalent to:

    if ((!opts.compDbgCode && (nextOpcode == CEE_STLOC)   ||
       (nextOpcode == CEE_STLOC_S)                        ||
       ((nextOpcode >= CEE_STLOC_0) && (nextOpcode <= CEE_STLOC_3)))

Changing it the apparent original meaning caused regressions.  This is
because it is often cheaper to load a local (i.e. the insertLdloc case)
than to do a dup, which may 1) cause a temp to be created to store the
value on the stack, or 2) result in a tree (e.g. a large constant) which
is cloneable but which is more expensive in code bytes than a ldloc.

The original code clearly intended to do this only in the non-debug case,
but with the incorrect parens it was doing it for any short stloc.  I'm
not sure that it is 100% OK to do this transformation on dbg code, but
we've apparently been doing it for some time (it's the same way in
jit32).

Adding the apparently intended parens caused regressions (158392 bytes
over all the MCH files). The change in this shelveset has a net
improvement (3848 bytes over all jitAsmDiffs).  (Doing this
transformation in all cases, i.e. just eliminating the !opts.compDbgCode,
causes zero diffs, indicating that we don't have any instances of dups
followed by non-short stlocs.)

Fix #609
Fix #610

9 years agoMerge pull request #742 from dotnet-bot/from-tfs
John Chen [Mon, 20 Apr 2015 16:21:19 +0000 (09:21 -0700)]
Merge pull request #742 from dotnet-bot/from-tfs

Merge changes from TFS

9 years agoEnable build crossgen.exe from build.cmd.
John Chen [Mon, 20 Apr 2015 15:36:31 +0000 (08:36 -0700)]
Enable build crossgen.exe from build.cmd.

Adds and modifies CMakeLists.txt files to enable building of crossgen.exe from build.cmd for x64 processor on Windows. Also adds a step in build.cmd to generate native image for mscorlib.

[tfs-changeset: 1456454]

9 years agoMerge pull request #736 from ellismg/hardcode-utf8-in-pal
Matt Ellis [Mon, 20 Apr 2015 05:17:54 +0000 (22:17 -0700)]
Merge pull request #736 from ellismg/hardcode-utf8-in-pal

Hardcode CP_ACP to UTF-8 on Linux

9 years agoMerge pull request #727 from richlander/rich-docs
Rich Lander [Sat, 18 Apr 2015 15:27:24 +0000 (08:27 -0700)]
Merge pull request #727 from richlander/rich-docs

Add Book of the Runtime docs