Lubomir Litchev [Fri, 18 Sep 2015 21:04:36 +0000 (14:04 -0700)]
Merge pull request #1577 from LLITCHEV/master
Fix for Issue #3164.
Thanks all!
Koundinya Veluri [Fri, 18 Sep 2015 18:56:22 +0000 (11:56 -0700)]
Merge pull request #1565 from kouvel/TryGetRawMetadataFix
Fix TryGetRawMetadata to return false when the assembly is not a Runt…
Mike McLaughlin [Fri, 18 Sep 2015 18:54:26 +0000 (11:54 -0700)]
Merge pull request #1588 from mikem8361/target4
Add ICorDebugDataTarget4 to SOS.
Lubomir Litchev [Fri, 18 Sep 2015 17:58:12 +0000 (10:58 -0700)]
Disable the clang/llvm optimizer for a method that triggers wrong codegen.
There is a bug in the clang-3.5 optimizer. The issue is that in release
build the optimizer is mistyping (or just wrongly decides to use 32 bit
operation for a corner case of MIN_LONG) the args of the (ltemp / lval2)
to int (it does a 32 bit div operation instead of 64 bit.)
For the case of lval1 and lval2 equal to MIN_LONG (0x8000000000000000)
this results in raising a SIGFPE.
Matt Mitchell [Fri, 18 Sep 2015 15:58:44 +0000 (08:58 -0700)]
Merge pull request #1580 from ravimeda/fixTestBuildProj
Remove Clean Target in Test Build Proj.
Jan Kotas [Fri, 18 Sep 2015 03:09:47 +0000 (20:09 -0700)]
Merge pull request #1582 from janvorli/osx-thread-suspension-activation
Change PAL_InjectActivation to use pthread_kill
Sergiy Kuryata [Fri, 18 Sep 2015 01:40:16 +0000 (18:40 -0700)]
Merge pull request #1583 from adityamandaleeka/coreclr_tests_linux
CoreCLR tests on Linux
Jan Vorlicek [Thu, 17 Sep 2015 21:16:13 +0000 (23:16 +0200)]
Change PAL_InjectActivation to use pthread_kill
This change modifies the PAL_InjectActivation to use much more portable pthread_kill
instead of pthread_sigqueue.
Remove the activation function passing from the PAL_InjectActivation
and add a PAL API to set the activation function globally, since we need just one.
Jan Kotas [Fri, 18 Sep 2015 01:20:23 +0000 (18:20 -0700)]
Merge pull request #1585 from DasAllFolks/patch-2
Fix link to "Public Contract" subsection
Jan Kotas [Fri, 18 Sep 2015 01:18:50 +0000 (18:18 -0700)]
Merge pull request #1586 from DasAllFolks/patch-1
Fix link to "Coding Style" page
Jan Kotas [Fri, 18 Sep 2015 01:18:20 +0000 (18:18 -0700)]
Merge pull request #1587 from DasAllFolks/patch-3
Fix link to CoreFX Performance Guidelines
Mike McLaughlin [Wed, 16 Sep 2015 22:08:11 +0000 (15:08 -0700)]
Add ICorDebugDataTarget4 to SOS.
Now that Eugene fixed out of context unwinding in the DAC for Linux after
this change, the SOS "clrstack" command should always work and not hang anymore.
Steven Das [Fri, 18 Sep 2015 00:15:03 +0000 (19:15 -0500)]
Fix link to CoreFX Performance Guidelines
This link currently returns a 404 error.
It appears to be one of several links broken by some of the CoreFX
documentation having been moved into the new `coding-guidelines`
subdirectory.
Steven Das [Thu, 17 Sep 2015 23:59:34 +0000 (18:59 -0500)]
Fix link to "Coding Style" page
This link is currently returning a 404 error; it appears that several of these links may have been broken when a new `coding-guidelines` subdirectory was created.
Steven Das [Thu, 17 Sep 2015 23:55:11 +0000 (18:55 -0500)]
Fix link to "Public Contract" subsection
The link to the "Public Contract" subsection of the "Breaking Changes" page is currently stale and returns a 404 error.
Jan Kotas [Thu, 17 Sep 2015 23:50:42 +0000 (16:50 -0700)]
Merge pull request #1584 from DasAllFolks/patch-1
Unbreak "breaking changes" link
Steven Das [Thu, 17 Sep 2015 23:48:48 +0000 (18:48 -0500)]
Unbreak "breaking changes" link
Previous link produced a 404 error.
Aditya Mandaleeka [Thu, 17 Sep 2015 23:21:50 +0000 (16:21 -0700)]
Minor improvements to runtest.sh
Aditya Mandaleeka [Thu, 17 Sep 2015 23:01:42 +0000 (16:01 -0700)]
Add runtest.sh script to run CoreCLR tests on Linux
Jan Kotas [Thu, 17 Sep 2015 22:55:33 +0000 (15:55 -0700)]
Merge pull request #1581 from dotnet-bot/from-tfs
Merge changes from TFS
Matt Mitchell [Thu, 17 Sep 2015 20:49:46 +0000 (13:49 -0700)]
Merge pull request #1574 from kouvel/FixPalTests
Fix some frequently failing PAL tests
Koundinya Veluri [Wed, 16 Sep 2015 18:32:46 +0000 (11:32 -0700)]
Fix some frequently failing PAL tests
Some PAL tests are frequently failing in the CI. The specified output folder is currently used as the working folder for all PAL tests. The CI machine happened to have the output folder on a mount mounted as fuseblk instead of ext4. We don't know why this is happening. For the moment, I'm fixing the test runner to work around this issue.
Changes:
- Use /tmp/PalTestOutput/default as the output folder by default
- If a specific folder is specified for the output, use a unique folder inside /tmp/PalTestOutput for output files, and copy them to the specified folder at the end. A unique folder is used to support parallel runs on the same machine in this mode.
- Run each test in its own folder. Many PAL tests don't clean up after themselves, and create/use the same file/folder names in the current folder.
- Add a few more checks to some tests to hopefully provide more information upon the next failure
- Fix GetFileAttributes tests, which were crashing upon some failures due to mismatched number of placeholders and arguments to vprintf
Fixes #1561
Tarek Mahmoud Sayed [Thu, 17 Sep 2015 18:05:43 +0000 (11:05 -0700)]
Port the DateTime parser fix with Serbia cultures
Serbia has '.' at the end of the date and time parts. (like 'd.M.yyyy.'). while '.' is marked as date and time separator in same time. this confuse the parser and make it fail
to parse date/time string formatted with the Serbia culture.
[tfs-changeset: 1526268]
AlexGhiondea [Thu, 17 Sep 2015 17:19:56 +0000 (10:19 -0700)]
Merge pull request #1460 from bbowyersmyth/StringJoin
String.Join optimization for single item lists
Ravi Eda [Thu, 17 Sep 2015 16:09:02 +0000 (11:09 -0500)]
Remove Clean Target in Test Build Proj.
Jan Kotas [Thu, 17 Sep 2015 14:57:10 +0000 (07:57 -0700)]
Merge pull request #1578 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 17 Sep 2015 12:27:09 +0000 (05:27 -0700)]
Fix build break on arm
[tfs-changeset: 1526208]
Lubomir Litchev [Thu, 17 Sep 2015 05:53:49 +0000 (22:53 -0700)]
Fix for Issue #3164.
Added extra code to work around an optimizer bug in clang 3.5. In a
particular case 0/MIN_LONG results into MIN_LONG that causes a const
folding to produce a result of 0 instead of overflow exception for
MIN_LONG * MIN_LONG.
Jan Kotas [Thu, 17 Sep 2015 02:42:32 +0000 (19:42 -0700)]
Merge pull request #1575 from benpye/arm-unwind-regression
Fix ARM unwind regression
Jan Kotas [Thu, 17 Sep 2015 02:38:27 +0000 (19:38 -0700)]
Merge pull request #1568 from dotnet-bot/from-tfs
Merge changes from TFS
Ben Pye [Wed, 16 Sep 2015 23:38:18 +0000 (23:38 +0000)]
Fix ARM build regression
Eric Erhardt [Wed, 16 Sep 2015 20:06:03 +0000 (15:06 -0500)]
Merge pull request #1559 from eerhardt/Fix2788
Time Zone transitions are 1 tick off on Linux
Lakshmi Priya [Wed, 16 Sep 2015 19:06:13 +0000 (12:06 -0700)]
Merge pull request #1560 from Priya91/longpath-test
Replace MAX_PATH with new defines in rest of coreclr.
Gaurav Khanna [Wed, 16 Sep 2015 18:45:06 +0000 (11:45 -0700)]
Fix for GH issue 410 - https://github.com/dotnet/coreclr/issues/410
Whenever a managed exception is thrown, the details about the thrown exception are also saved off the managed thread object (as LastThrownObject). The VM also has an exception tracker that tracks its dispatch across the managed frames and incase of nested exceptions, the trackers are collapsed correctly, when the nested exception is handled, and last thrown object is updated correctly. The VM works on the premise that the LastThrownObject is updated correctly.
Incase of this bug, a method (M1)is invoked via Reflection and has an exception E1. During exception dispatch for E1, an IL filter is invoked that, in turn, has an exception (E2) that remains unhandled. While this is swallowed by the VM (as expected), the LastThrownObject is not updated to reflect the active exception to be E1. Thus, when the dispatch for original exception E1 completes and no managed handler is found, the exception is caught by Reflection subsystem that extracts the thrown exception using the GET_THROWABLE macro that uses the LastThrownObject to determine the thrown exception. Since the LTO was not updated, it still reflects E2.
The fix is to update the managed exception state, if the filter has an unhandled exception, similar to how we do when a managed catch block successfully handles the exception. I have refactored the code to make the semantic cleaner.
[tfs-changeset: 1525835]
Eric Erhardt [Tue, 15 Sep 2015 22:49:54 +0000 (17:49 -0500)]
Time Zone transitions are 1 tick off on Linux
When we build the AdjustmentRules up, we set the StartDate to be the Transition Time that comes from the tzfile, and we set the EndDate to the be (the next Transition Time - 1 tick). That way the next AdjustmentRule goes into effect at the exact transition time. The issue is that the code in CheckIsDst uses a less than operator when comparing the endTime, but for these rules it should be less than or equal to.
Fix https://github.com/dotnet/corefx/issues/2788.
Jan Kotas [Wed, 16 Sep 2015 18:17:53 +0000 (11:17 -0700)]
Merge pull request #1564 from dotnet-bot/from-tfs
Merge changes from TFS
Koundinya Veluri [Wed, 16 Sep 2015 17:17:56 +0000 (10:17 -0700)]
Fix TryGetRawMetadata to return false when the assembly is not a RuntimeAssembly
Related to dotnet/corefx#2768
Vance Morrison [Wed, 16 Sep 2015 16:09:56 +0000 (09:09 -0700)]
Merge pull request #1562 from cshung/EventCounterWork
Port bug fixes and add hooks for EventCounter work
Jan Kotas [Wed, 16 Sep 2015 16:07:48 +0000 (09:07 -0700)]
Merge pull request #1553 from paulnice/patch-1
Fix runtime versions in the Console example
Jan Kotas [Wed, 16 Sep 2015 16:06:37 +0000 (09:06 -0700)]
Merge pull request #1557 from ravimeda/master
Update Build CoreCLR Instructions on Mac OS X.
Andrew Au [Wed, 16 Sep 2015 14:59:03 +0000 (07:59 -0700)]
Port bug fixes and add hooks for EventCounter work
Stephen Toub [Wed, 16 Sep 2015 13:13:53 +0000 (09:13 -0400)]
Merge pull request #1554 from kouvel/WaitAllCheckForDuplicates
Check for duplicate handles in PAL's implementation of a wait-all ope…
Aditya Mandaleeka [Tue, 15 Sep 2015 23:20:55 +0000 (16:20 -0700)]
Handle pre- and post-commands gracefully in bash execution scripts.
Existing tests can specify pre- or post-commands that are injected into
the execution scripts. However, today these are all using Windows syntax
so they break the bash scripts. We will handle that by skipping any tests
that are using pre- or post-commands unless they specify the bash-specific
equivalent. The scripts will continue to run and just exit with an exit
code that indicates a skip, so that the skipped tests are tracked and not
just hidden.
Also, this change moves the global pre-command that was being added for
running __TestEnv into the bash/batch targets rather than in the dir.props
file that is used for all platforms.
Aditya Mandaleeka [Tue, 15 Sep 2015 23:10:24 +0000 (16:10 -0700)]
Enable bash run scripts to handle tests with multiple arguments.
Aditya Mandaleeka [Tue, 15 Sep 2015 23:08:57 +0000 (16:08 -0700)]
Enable coreclr tests to run on Unix with corerun.
Aditya Mandaleeka [Tue, 15 Sep 2015 23:04:19 +0000 (16:04 -0700)]
Enable building coreclr tests on Linux
Aditya Mandaleeka [Tue, 15 Sep 2015 22:51:16 +0000 (15:51 -0700)]
Clean up some test scripts
Eugene Zemtsov [Tue, 15 Sep 2015 22:09:35 +0000 (15:09 -0700)]
Merge pull request #1538 from Djuffin/get_context2
Make DBI/SOS stackwalk work when thread is running native code
Aditya Mandaleeka [Tue, 15 Sep 2015 21:21:38 +0000 (14:21 -0700)]
Merge pull request #1555 from richlander/roadmap
Add link to .NET Core Roadmap
Ravi Eda [Tue, 15 Sep 2015 21:10:33 +0000 (16:10 -0500)]
Update Build CoreCLR Instructions on Mac OS X.
Rebuild option is not handled in build.sh. Hence removing the sentence
that suggests using a rebuild option that will delete previously built
assemblies.
Eugene [Fri, 21 Aug 2015 04:11:31 +0000 (21:11 -0700)]
Use out-of-proc libunwind to unwind native stack from DAC
Implementation of PAL_VirtualUnwindOutOfProc that uses ptrace libunwind
to be able to unwind native stack in debugee. This allows to get valid managed
stack for threads that passed HelperMethodFrames.
Eugene Zemtsov [Fri, 7 Aug 2015 08:08:37 +0000 (01:08 -0700)]
Use Frame list context when GetThreadContext is unavailable
When DAC tries to obtain thread context for debugee thread on the system without working GetThreadContext, it uses filter context
and if it is NULL, it goes through thread Frame list looking for a Frame that can provide meaningful CONTEXT to start the stackwalk.
Filter context can be NULL if the thread is currently running native code, or manage exception just has been thrown (first chance).
Before this change DBI stackwalker would fail to provide stack trace in such cases.
Bruce Forstall [Tue, 15 Sep 2015 18:31:37 +0000 (11:31 -0700)]
Merge pull request #1540 from BruceForstall/FixPow1TestForLinux
Fix pow1 test to run on Linux
Matt Mitchell [Tue, 15 Sep 2015 17:30:33 +0000 (10:30 -0700)]
Merge pull request #1144 from mmitche/real-debug-build
Do not pass /O1 except in release/release with debug info modes
Koundinya Veluri [Mon, 14 Sep 2015 20:55:30 +0000 (13:55 -0700)]
Check for duplicate handles in PAL's implementation of a wait-all operation
Matt Mitchell [Tue, 16 Jun 2015 16:45:18 +0000 (09:45 -0700)]
Do not pass /O1 except in release/release with debug info modes
Richard Lander [Tue, 15 Sep 2015 04:45:44 +0000 (21:45 -0700)]
Add link to .NET Core Roadmap
Bruce Forstall [Tue, 15 Sep 2015 01:01:32 +0000 (18:01 -0700)]
Minor change to SystemV structs declarations in JIT-EE interface
Pull over a couple changes from the work-in-progress git branch.
[tfs-changeset: 1525036]
Wes Haggard [Tue, 15 Sep 2015 00:48:18 +0000 (17:48 -0700)]
Fix build break on ARM.
[tfs-changeset: 1525030]
paulnice [Mon, 14 Sep 2015 15:07:24 +0000 (08:07 -0700)]
Fix runtime versions
1. Fix the sample output of 'dnvm list' command with the latest one.
2. Fix the 'dnvm use' commands with the current runtime versions.
Gaurav Khanna [Mon, 14 Sep 2015 14:23:12 +0000 (07:23 -0700)]
This fixes the case of 64bit (to be in sync with Arm/Arm64) failures when, due to Jit optimizations, the return address of two successive frames are the same, resulting in incorrect current context initialization. As a result, CrawlFrame specific lookup of data (e.g. GenericArgType) are incorrect and fails tests.
I have refactored the code to be common for X64/Arm/Arm64 as much as possible.
X64 EH Selfhost is clean (and so is DDR).
[tfs-changeset: 1524814]
Jan Kotas [Mon, 14 Sep 2015 10:07:35 +0000 (03:07 -0700)]
Merge pull request #1547 from jkotas/standalone-gc
Initial port of GC sample to Linux
Jan Kotas [Mon, 14 Sep 2015 08:20:09 +0000 (01:20 -0700)]
Merge pull request #1546 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Sat, 12 Sep 2015 18:31:02 +0000 (11:31 -0700)]
Initial port of GC sample to Linux
- Add CMake build for the GC sample
- Add Unix clone of the GC environment. The Unix GC environment is partially
implemented, enough to make GC sample to compile and run on Linux.
dotnet-bot [Mon, 14 Sep 2015 02:48:24 +0000 (19:48 -0700)]
Fix mscorlib asmmeta and add SecurityCritical attribute to the two new functions in AssemblyExtensions
[tfs-changeset: 1524637]
Jan Kotas [Sat, 12 Sep 2015 22:59:30 +0000 (15:59 -0700)]
Merge pull request #1543 from mikedn/unboxmsg
Improve the invalid cast message generated by unbox
Mike Danes [Sat, 12 Sep 2015 09:01:35 +0000 (12:01 +0300)]
Improve the invalid cast message generated by unbox
Change JIT_Unbox to use COMPlusThrowInvalidCastException instead of
COMPlusThrow(kInvalidCastException). This mirrors the behavior of
the normal cast by including the source and destination types in
the exception message.
Fix #1453
Jan Kotas [Sat, 12 Sep 2015 17:12:46 +0000 (10:12 -0700)]
Merge pull request #1544 from jkotas/standalone-gc
GC sample improvements
Jan Kotas [Sat, 12 Sep 2015 15:50:59 +0000 (08:50 -0700)]
Move sample GC environment to separate directory
Jan Kotas [Sat, 12 Sep 2015 14:59:37 +0000 (07:59 -0700)]
Use NULL for consistency
Jan Kotas [Sat, 12 Sep 2015 06:14:00 +0000 (23:14 -0700)]
Replace unsigned __int64/__int64 with UINT64/INT64
Jan Kotas [Sat, 12 Sep 2015 08:39:03 +0000 (01:39 -0700)]
Merge pull request #1539 from BruceForstall/DeleteBadTests
Delete two bad tests
Jan Kotas [Sat, 12 Sep 2015 03:24:32 +0000 (20:24 -0700)]
Merge pull request #1542 from jkotas/gcsample
Upgrade GCSample project to VS2015
Jan Kotas [Sat, 12 Sep 2015 03:16:17 +0000 (20:16 -0700)]
Upgrade GCSample project to VS2015
Bruce Forstall [Sat, 12 Sep 2015 00:04:24 +0000 (17:04 -0700)]
Fix pow1 test to run on Linux
This tests queries PROCESSOR_ARCHITECTURE to see if it is running on ARM. This returns a null string on Linux. So, check for null on continue. If necessary, this could be adjusted later if we need to do something special for non-Windows .NET Core on ARM.
Bruce Forstall [Fri, 11 Sep 2015 23:30:43 +0000 (16:30 -0700)]
Delete two bad tests
These tests were deleted from internal runs long ago and should not have been ported.
Bruce Forstall [Fri, 11 Sep 2015 20:28:32 +0000 (13:28 -0700)]
Merge pull request #1536 from BruceForstall/FixLinuxNullRefCheck
Fix JIT null reference checking for large field accesses on PAL
Bruce Forstall [Fri, 11 Sep 2015 20:27:53 +0000 (13:27 -0700)]
Merge pull request #1537 from BruceForstall/FixLinuxIntLongDifference
Replace 'long' by 'int' to avoid bug on Linux
Bruce Forstall [Fri, 11 Sep 2015 19:04:31 +0000 (12:04 -0700)]
Replace 'long' by 'int' to avoid bug on Linux
In GetSignedMagicNumberDivide(), a cast to (unsigned long) was doing a sign extend instead of a zero extend, leading
to an apparent infinite loop with test case b147814_il.exe. This change replaces the cast with (unsigned int), which
matches Windows behavior.
Bruce Forstall [Fri, 11 Sep 2015 18:13:54 +0000 (11:13 -0700)]
Fix JIT null reference checking for large field accesses on PAL platforms
The JIT needs to do explicit null checks for large field accesses if such an
access might exceed the unmapped zero page in the OS. On Windows, that means
fields over 32KB. On PAL platforms, we use 1/2 the OS page size. As far as I
can tell, the reason we use 1/2 the known unmapped page size is for "defense
in depth", in case we get it wrong somehow.
Jan Kotas [Fri, 11 Sep 2015 18:06:20 +0000 (11:06 -0700)]
Merge pull request #1523 from dotnet-bot/from-tfs
Merge changes from TFS
Sridhar Periyasamy [Fri, 11 Sep 2015 17:15:24 +0000 (10:15 -0700)]
Merge pull request #1495 from Sridhar-MS/code-coverage
Build Code Coverage instrumented binaries for native binaries in Linux and OSX
Bruce Bowyer-Smyth [Fri, 11 Sep 2015 06:15:06 +0000 (16:15 +1000)]
String.Join optimization
Jan Vorlicek [Fri, 11 Sep 2015 00:20:21 +0000 (02:20 +0200)]
Merge pull request #1533 from janvorli/fix-native-unwind-issue
Fix null reference exception handling in JIT_WriteBarrier
Jan Vorlicek [Thu, 10 Sep 2015 22:56:25 +0000 (00:56 +0200)]
Fix null reference exception handling in JIT_WriteBarrier
This change fixes an issue when a null reference exception happens in the first
instruction of the JIT_WriteBarrier. There were two problems.
First problem was that the native unwinder didn't know that it is unwinding a
frame where the PC is an address of a failing instruction instead of the next
address after a call instruction. So it decremented the PC before looking up the
unwind info. Unfortunately, that means that if the hardware exception happens
in the first instruction, the unwind info is not found and the unwinder resorts
to RBP chain unwinding, which effectively skips one managed frame.
The second problem was that the FaultingExceptionFrame we create when handling
the hardware exception had context pointing to the JIT_WriteBarrier. But that
breaks the stack walker. When it arrives at the FaultingExceptionFrame, it
calls its ReturnAddress method and expects to get a managed code address.
However, in this case, it was getting the address of the JIT_WriteBarrier instead
and that made the stack walker to skip to the next explicit frame, effectively
skipping multiple managed frames that it should have reported.
Koundinya Veluri [Thu, 10 Sep 2015 08:04:12 +0000 (01:04 -0700)]
Merge pull request #1499 from kouvel/TryGetRawMetadata
Add AssemblyExtensions.TryGetRawMetadata to the System.Reflection.Met…
Koundinya Veluri [Thu, 10 Sep 2015 06:28:47 +0000 (23:28 -0700)]
Merge pull request #1522 from kouvel/AssemblyLoadNullVersion
Allow loading assemblies on the TPA list without specifying a version
Lakshmi Priya Sekar [Tue, 8 Sep 2015 23:19:52 +0000 (16:19 -0700)]
Respond to PR feedback.
Venkata Sivaramakrishna Ramadugu [Wed, 9 Sep 2015 22:49:08 +0000 (15:49 -0700)]
Fix to correctly spill a special putarg_reg when the fixed register assigned to it is getting killed before its GT_CALL.
Essentially in execution order we have the following nodes
RCX <-- GT_PUTARG_REG(lcl var V07) here V07 is 'this' object
R8 <-- GT_PUTARG_REG(GT_AND(GT_LSH,...))
ControlExpr of call (i.e. call target) is a vtable call and uses 'this' object to get to the right virtual method. Essentially a GT_IND(GT_LEA(V07))
GT_CALL
While building ref positions for first putarg_reg, it is flagged as "special" and preferenced to its source lcl var V07 if it is the non-last use. The hope is that if there are further uses of V07 before the kill of fixed reg assigned to V07, they can continue to be in that register.
While allocating a register to a special putarg_reg, lsra checks that a) source lcl var's interval is active and b) register assigned to source lcl var is the same as putarg_reg
Second putarg_reg (to R8) has an operand which needs CL (shift operation) and hence will kill RCX before GT_CALL. As a result, V07 is marked for spilling after its use in special putarg_reg but not first putarg_reg. Further since next kill of RCX (GT_LSH) is well before the next use of source lcl var (in controlExpr), putarg_reg cannot be marked as isBusyUntilNextKill. As a result, LSRA would think that RCX is available for allocation after the last use of V07 in controlExpr and hence GT_IND is allocated RCX thereby thrashing 'this' object passed in RCX. This leads to an AV for the repro case while executing jitted code.
Fix is that while allocating LSRA also needs to check that the next use of special putarg_reg is same as the next kill of the fixed register assigned to it. Since first putarg_reg is not marked as special, kill of RCX by GT_SH would lead to spilling of putarg_reg into a tree temp.
Fix #1475
[tfs-changeset: 1523584]
Sridhar Periyasamy [Wed, 9 Sep 2015 21:20:07 +0000 (14:20 -0700)]
Address code coverage builds feedback
- Move the build type check to unix only.
- Remove the global fPIC compiler option and add it as compile flags for libcorguids @ src/inc/CMakeLists.txt
- Use add_compiler_options instead of add_definitions.
Koundinya Veluri [Fri, 4 Sep 2015 05:06:56 +0000 (22:06 -0700)]
Add AssemblyExtensions.TryGetRawMetadata to the System.Reflection.Metadata namespace.
This patch contains has the necessary changes in coreclr and mscorlib. Tests will be added separately, once the new API is
published and can be consumed.
Part of dotnet/corefx#2768
Koundinya Veluri [Wed, 9 Sep 2015 06:52:15 +0000 (23:52 -0700)]
Allow loading assemblies on the TPA list without specifying a version
When comparing the bound assembly's version against the requested assembly name, removed the distinction between platform
assemblies and app assemblies when the bound assembly is on the TPA list. A requested version of null behaves equivalently to
a requested version of 0.0.0.0.
Jan Kotas [Wed, 9 Sep 2015 15:13:46 +0000 (08:13 -0700)]
Merge pull request #1520 from sergey-raevskiy/clarify-comment
Clarify comment
sergey-raevskiy [Wed, 9 Sep 2015 10:48:59 +0000 (13:48 +0300)]
Clarify comment
Jan Vorlicek [Wed, 9 Sep 2015 00:53:19 +0000 (02:53 +0200)]
Merge pull request #1518 from janvorli/fix-some-printf-formats
Fix printf formatting for ll, I and I32 length modifiers
Jan Vorlicek [Tue, 8 Sep 2015 22:53:41 +0000 (00:53 +0200)]
Reflect PR feedback
Aditya Mandaleeka [Tue, 8 Sep 2015 22:42:57 +0000 (15:42 -0700)]
Merge pull request #1497 from adityamandaleeka/fix_warnings
Fix the remaining unused variable/label warnings
Jan Vorlicek [Tue, 8 Sep 2015 22:04:14 +0000 (00:04 +0200)]
Fix printf formatting for ll, I and I32 length modifiers
These modifiers were not handled at all.
Jan Vorlicek [Tue, 8 Sep 2015 21:46:22 +0000 (23:46 +0200)]
Merge pull request #1516 from janvorli/fix-managed-exception-dispatch-2
Fix missing uses of the INSTALL_MANAGED_EXCEPTION_DISPATCHER
Lakshmi Priya Sekar [Tue, 8 Sep 2015 19:01:33 +0000 (12:01 -0700)]
Replace MAX_PATH with new defines, rest of coreclr.