Carol Eidt [Wed, 22 Jun 2016 20:02:32 +0000 (13:02 -0700)]
Merge pull request #5871 from mikedn/modopt
Improve div/mod by const power of 2
Aditya Mandaleeka [Wed, 22 Jun 2016 19:49:30 +0000 (12:49 -0700)]
Merge pull request #5925 from RussKeldorph/j32_issues
Fix syntax error in x86_jit32_issues.targets
Pat Gavlin [Wed, 22 Jun 2016 18:27:09 +0000 (11:27 -0700)]
Merge pull request #5904 from pgavlin/WalkTreePostExecutionOrder
Obey GTF_REVERSE_OPS in fgWalkTreePost.
Sejong Oh [Wed, 22 Jun 2016 18:12:38 +0000 (11:12 -0700)]
Merge pull request #5905 from sejongoh/group_jitstress_jobs
Move all JIT stress jobs into a sub directory on CI
Russ Keldorph [Wed, 22 Jun 2016 18:09:12 +0000 (11:09 -0700)]
Fix syntax error in x86_jit32_issues.targets
William Godbe [Wed, 22 Jun 2016 17:46:46 +0000 (10:46 -0700)]
Merge pull request #5924 from wtgodbe/groovalicious
Run all tests under server GC during code coverage job
wtgodbe [Wed, 22 Jun 2016 17:43:55 +0000 (10:43 -0700)]
Run all tests under server GC
John Chen [Wed, 22 Jun 2016 17:43:23 +0000 (10:43 -0700)]
Merge pull request #5921 from JohnChen0/master
Disable a test case till issue #5501 is fixed
Evgeny Pavlov [Wed, 22 Jun 2016 16:56:51 +0000 (20:56 +0400)]
[SOS] [Linux] Fix incorrect symbol loading from portable pdb (#5896)
* Fix incorrect symbol loading from portable pdb
* Change return value to S_OK
Mike McLaughlin [Wed, 22 Jun 2016 16:55:33 +0000 (09:55 -0700)]
Generate symbols packages for Windows CoreCLR binaries. (#5902)
* Generate symbols packages for Windows CoreCLR binaries.
Issue #5832.
* Add dll/exe back to symbol package.
Gaurav Khanna [Wed, 22 Jun 2016 16:31:25 +0000 (09:31 -0700)]
Merge pull request #5919 from gkhanna79/FixCOC
Add Code of Conduct details to README.md
John Chen [Wed, 22 Jun 2016 16:12:44 +0000 (09:12 -0700)]
Disable a test case till issue #5501 is fixed
Mike Danes [Mon, 9 May 2016 22:01:12 +0000 (01:01 +0300)]
Optimize integer div/mod by const power of 2 in lowering
Optimizing GT_DIV/GT_UDIV/GT_MOD/GT_UMOD by power of 2 in codegen is problematic because the xarch DIV instruction has special register requirements. By the time codegen decides to perform the optimization the rax and rdx registers have been already allocated by LSRA even though they're not always needed (as it happens in the case of unsigned division where CDQ isn't used).
Since the JIT can't represent a CDQ instruction in its IR an arithmetic shift (GT_RSH) has been instead to extract the dividend sign. xarch's SAR is larger than CDQ but it has the advantage that it doesn't require specific registers. Also, arithmetic shifts are available on architectures other than xarch.
Example: method "static int foo(int x) => x / 8;" is now compiled to
mov eax, ecx
mov edx, eax
sar edx, 31
and edx, 7
add edx, eax
mov eax, edx
sar eax, 3
instead of
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
As a side-effect of this change the optimization now also works when the divisor is too large to be contained. Previously this wasn't possible because the divisor constant needed to be modified during codegen but the constant was already loaded into a register.
Example: method "static ulong foo(ulong x) => x /
4294967296;" is now compiled to
mov rax, rcx
shr rax, 32
whereas before a DIV instruction was used.
This change also fixes an issue in fgShouldUseMagicNumberDivide. The optimization that is done in lower can handle negative power of 2 divisors but fgShouldUseMagicNumberDivide handled those cases because it didn't check the absolute value of the divisor.
Example: method "static int foo(int x) => return x / -2;" is now compiled to
mov eax, ecx
mov edx, eax
shr edx, 31
add edx, eax
sar edx, 1
mov eax, edx
neg eax
instead of
mov eax, 0x7FFFFFFF
imul edx:eax, ecx
mov eax, edx
sub eax, ecx
mov edx, eax
shr edx, 31
add eax, edx
Mike Danes [Sat, 14 Nov 2015 08:46:20 +0000 (10:46 +0200)]
Add tests for integer div/mod by const
Gaurav Khanna [Wed, 22 Jun 2016 15:43:14 +0000 (08:43 -0700)]
Add Code of Conduct details to README.md
chunseoklee [Wed, 22 Jun 2016 15:12:58 +0000 (00:12 +0900)]
fix build break on ARM caused by f1889 (#5914)
Gaurav Khanna [Wed, 22 Jun 2016 13:58:08 +0000 (06:58 -0700)]
Merge pull request #5913 from dotnet-bot/UpdateDependencies20160622051611
Updating External dependencies to beta-24222-00
Jan Vorlicek [Wed, 22 Jun 2016 12:26:17 +0000 (14:26 +0200)]
Cleanup hardware exception handling (#5916)
Currently, we were checking for the exception address being in a marked jit
helper and unwinding to the caller context if it was there at two places.
Once in the HandleHardwareException to get context for the faulting exception
frame and once in DispatchManagedException to get the first managed frame.
This change modifies the code in HandleHardwareException to update the context
record in the exception itself so that we can leave out the same change in
the DispatchManagedException.
I have also added updating of the exception address in the exception record
so that the exception address is set to be in the managed caller of the helper.
dotnet-bot [Wed, 22 Jun 2016 05:16:11 +0000 (05:16 +0000)]
Updating External dependencies to beta-24222-00
Brian Sullivan [Wed, 22 Jun 2016 04:12:32 +0000 (21:12 -0700)]
Merge pull request #5908 from briansull/Fix-Remorph-Call
Fix for Remorph of a call with nonstandard args
Brian Sullivan [Wed, 22 Jun 2016 04:11:15 +0000 (21:11 -0700)]
Merge pull request #5909 from dotnet-bot/from-tfs
Merge changes from TFS
Brian Sullivan [Tue, 21 Jun 2016 23:19:11 +0000 (16:19 -0700)]
Fix for Remorph of a call with nonstandard args
Fadi Hanna [Tue, 21 Jun 2016 23:34:40 +0000 (16:34 -0700)]
Fixing build break on x86 and arm.
[tfs-changeset: 1614031]
Aditya Mandaleeka [Tue, 21 Jun 2016 23:06:05 +0000 (16:06 -0700)]
Merge pull request #3097 from vors/docx
Convert SOSAndICorDebug.docx to SOSAndICorDebug.md
Jarret Shook [Tue, 21 Jun 2016 22:49:33 +0000 (15:49 -0700)]
Merge pull request #5900 from jashook/gc_stress_incompat
Set b14364 as gcstress incompat
Jarret Shook [Tue, 21 Jun 2016 22:49:18 +0000 (15:49 -0700)]
Merge pull request #5898 from jashook/gcstress_timeout_update
Up the default timeout for GCStress
Aditya Mandaleeka [Tue, 21 Jun 2016 22:40:25 +0000 (15:40 -0700)]
Merge pull request #5907 from Maoni0/stress_txt
updated stress run description
Maoni0 [Tue, 21 Jun 2016 22:36:05 +0000 (15:36 -0700)]
added a note about the reason why we ignore failures from tests in the stress run infrastructure
Sejong Oh [Tue, 21 Jun 2016 21:31:06 +0000 (14:31 -0700)]
Move all JIT stress jobs into a sub directory on CI
William Godbe [Tue, 21 Jun 2016 21:25:49 +0000 (14:25 -0700)]
Merge pull request #5903 from wtgodbe/groovester
Archive entire obj directory in coverage jobs
wtgodbe [Tue, 21 Jun 2016 21:21:45 +0000 (14:21 -0700)]
Archive entire obj directory
Maoni Stephens [Tue, 21 Jun 2016 20:56:01 +0000 (13:56 -0700)]
Merge pull request #5894 from Maoni0/seg_table
We need to have seg_mapping_table aligned on its natural alignement
Gaurav Khanna [Tue, 21 Jun 2016 20:22:03 +0000 (13:22 -0700)]
Merge pull request #5899 from dotnet-bot/UpdateDependencies20160621051655
Updating External dependencies to beta-24221-00
Sejong Oh [Tue, 21 Jun 2016 20:06:29 +0000 (13:06 -0700)]
Merge pull request #5892 from sejongoh/group_jitstress_jobs
Initial changes to move JIT stress jobs into jitstress directory on CI
Fadi Hanna [Tue, 21 Jun 2016 18:51:05 +0000 (11:51 -0700)]
Generic dictionary minor performance improvement and simplification for R2R (#5690)
A set of refactoring changes to slighly improve the performance of generic dictionary access on R2R images, and simplifying the codebase:
1) Removing dependency on CEEInfo::ComputeRuntimeLookupForSharedGenericTokenStatic (and deleting the API).
2) Stop parsing the generic type/method signatures when generating the R2R dictionary lookup assembly stub.
3) Avoid re-encoding the generic type/method signatures in a new in-memory blob using a SigBuilder (signatures used directly from the R2R image)
4) Moved the parsing/loading of type/method signatures to Dictionary::PopulateEntry()
5) Dictionary index and slot number are now encoded in the generated assembly stub instead of the signature (stub takes a pointer to a data blob, which contains the signature, the dictionary index and slot, and the module pointer)
Brian Sullivan [Tue, 21 Jun 2016 18:45:15 +0000 (11:45 -0700)]
Merge pull request #5895 from briansull/UnboxingStub-Fix
Fix for generic unboxing stub with x8 return buffer argument
Carol Eidt [Tue, 21 Jun 2016 18:10:47 +0000 (11:10 -0700)]
Merge pull request #5813 from mikedn/no-setflags
Remove useless gtSetFlags calls
Pat Gavlin [Tue, 21 Jun 2016 17:58:43 +0000 (10:58 -0700)]
Obey GTF_REVERSE_OPS in fgWalkTreePost.
This particular sort of tree walk should correspond to the
tree execution order.
Brian Robbins [Tue, 21 Jun 2016 17:42:10 +0000 (10:42 -0700)]
Merge pull request #5885 from brianrob/docker_perf
Update Linux Tracing Instructions for Docker Containers
jashoo [Tue, 21 Jun 2016 17:30:13 +0000 (10:30 -0700)]
Set b14364 as gcstress incompat
This test is set to be excluded to in interal testing under gc stress.
Add that information here as well.
dotnet-bot [Tue, 21 Jun 2016 17:16:55 +0000 (17:16 +0000)]
Updating External dependencies to beta-24221-00
jashoo [Tue, 21 Jun 2016 16:35:02 +0000 (09:35 -0700)]
Up the default timeout for GCStress
Gaurav Khanna [Tue, 21 Jun 2016 15:46:09 +0000 (08:46 -0700)]
Merge pull request #5887 from gkhanna79/Fix5883
Update Prerelease version to Beta and increment patch version.
Brian Sullivan [Tue, 21 Jun 2016 01:29:11 +0000 (18:29 -0700)]
Fix for generic unboxing stub with x8 return buffer argument
When we have nonstandard args we have to handle them before
we setup to expect the return buffer arg.
Added additional JitDump information about the call and its return type in impImportCall.
All of the ARM64 EXPECTED_PASS tests will now pass when hasFixedRerBufReg is enabled.
Additional changes are needed for the IL_STUB_PInvoke to get the Interop tests to pass
But these tests are currentlt alreay in the EXPECTED_FAIL catagory.
Gaurav Khanna [Mon, 20 Jun 2016 20:56:09 +0000 (13:56 -0700)]
Update Prerelease version to Beta and increment patch version.
Rahul Kumar [Tue, 21 Jun 2016 01:52:22 +0000 (18:52 -0700)]
Merge pull request #5893 from rahku/test
Enable building only native test components
Aditya Mandaleeka [Tue, 21 Jun 2016 01:26:16 +0000 (18:26 -0700)]
Merge pull request #4983 from benaadams/patch-2
Add slack channel
Aditya Mandaleeka [Tue, 21 Jun 2016 01:18:06 +0000 (18:18 -0700)]
Merge pull request #3074 from Dmitry-Me/useElseIfForExclusive
Use else-if for mutually exclusive conditions
Maoni0 [Wed, 15 Jun 2016 20:37:35 +0000 (13:37 -0700)]
We need to have seg_mapping_table aligned on its natural alignement (ptr size). When it's not aligned,
aside from the perf problem, we also have a functional problem when an address that's not on a heap
segment is passed - we could read an intermediate value which would cause an AV. If the address is
on a heap segment it means we are guaranteed to read a ptr size atomically. This only affects functions
like IsHeapPointer which can be run when EE is not suspended.
Rahul Kumar [Tue, 21 Jun 2016 00:01:34 +0000 (17:01 -0700)]
Enable building only native test components
William Godbe [Mon, 20 Jun 2016 23:47:12 +0000 (16:47 -0700)]
Merge pull request #5889 from wtgodbe/Loader
Fix race condition in Loader regression 523654 test
Aditya Mandaleeka [Mon, 20 Jun 2016 23:38:49 +0000 (16:38 -0700)]
Merge pull request #5879 from mattwarren/patch-1
Added links to CoreCLR issues, small formatting fix
Aditya Mandaleeka [Mon, 20 Jun 2016 23:35:14 +0000 (16:35 -0700)]
Merge pull request #5888 from adityamandaleeka/generate_core_dumps_runtest
Set coredump_filter to include shared library code in CI core dumps
Sejong Oh [Mon, 20 Jun 2016 22:42:22 +0000 (15:42 -0700)]
Initial changes to group JIT stress jobs into a sub directory on CI
Add jitstress2_jitstressregs1 scenario first and then will add others
after testing.
wtgodbe [Mon, 20 Jun 2016 22:21:44 +0000 (15:21 -0700)]
Fix race condition in Loader regression 523654 test
Sean Gillespie [Mon, 20 Jun 2016 21:56:29 +0000 (14:56 -0700)]
Merge pull request #5886 from swgillespie/longgc-netci
Switch to double-quotes for interpolated string in netci.groovy
Aditya Mandaleeka [Mon, 20 Jun 2016 21:29:37 +0000 (14:29 -0700)]
Set coredump_filter to include shared library code.
Brian Robbins [Fri, 17 Jun 2016 23:04:10 +0000 (16:04 -0700)]
Update Linux tracing instructions for Docker containers.
Sean Gillespie [Mon, 20 Jun 2016 20:11:18 +0000 (13:11 -0700)]
Switch to double-quotes for interpolated string
Stephen Toub [Mon, 20 Jun 2016 19:34:27 +0000 (15:34 -0400)]
Merge pull request #5882 from stephentoub/fix_ev_bytearray
Fix EventSource deserializing of byte[]s
Pat Gavlin [Mon, 20 Jun 2016 17:25:07 +0000 (10:25 -0700)]
Merge pull request #5875 from pgavlin/JitStdoutVbuf
Disable buffering on jitstdout.
Stephen Toub [Mon, 20 Jun 2016 17:05:18 +0000 (13:05 -0400)]
Fix EventSource deserializing of byte[]s
It's incorrectly repeating the first element for all elements.
Gaurav Khanna [Mon, 20 Jun 2016 15:35:28 +0000 (08:35 -0700)]
Merge pull request #5876 from dotnet-bot/UpdateDependencies20160620061718
Updating External dependencies to rc4-24220-00
Matt Warren [Mon, 20 Jun 2016 10:29:55 +0000 (11:29 +0100)]
Added links to CoreCLR issues, small formatting fix
Jan Vorlicek [Mon, 20 Jun 2016 09:57:00 +0000 (11:57 +0200)]
Fix GC background thread start in OOM (#5840)
This change fixes a problem that happened when the `gc_heap::create_bgc_thread`
calls SetupUnstartedThread and it fails to allocate a Thread object and throws.
The GC doesn't expect that and so when the stack is unwound, the `gc_heap::gc_started`
stays set. Now we try to allocate memory for the Throwable for the exception, so we go
to GC heap and since there is not enough space, we end up calling
`gc_heap::try_allocate_more_space`, which calls `gc_heap::wait_for_gc_done`.
And that’s the end of it, since the `gc_started` is still set and we wait forever.
The fix is to catch exception from the SetupUnstartedThread. I have also fixed couple of
places where this method was being called and the exception was not expected.
As an additional cleanup, I have moved the thread creation in GC to the GCToEEInterface.
dotnet-bot [Mon, 20 Jun 2016 06:17:18 +0000 (06:17 +0000)]
Updating External dependencies to rc4-24220-00
Pat Gavlin [Mon, 20 Jun 2016 04:42:09 +0000 (21:42 -0700)]
Disable buffering on jitstdout.
This avoid the need to call fflush() throughout the code.
Sejong Oh [Mon, 20 Jun 2016 02:01:55 +0000 (19:01 -0700)]
Merge pull request #5380 from sejongoh/x86_decompose_storeind
Decomposing 64-bit storeind instruction to 32-bit storeind instructions
Sejong Oh [Wed, 25 May 2016 01:11:52 +0000 (18:11 -0700)]
Decomposing 64-bit storeind instruction to 32-bit storeind instructions
Mike McLaughlin [Sun, 19 Jun 2016 22:24:49 +0000 (15:24 -0700)]
Fix source/line info in unhandled exceptions (#5874)
* Fix no source/line info for unhandled exceptions.
Issue #5828.
* Remove comment.
Peter Jas [Sun, 19 Jun 2016 18:37:06 +0000 (21:37 +0300)]
Remove the corner cases from sscanf test (#5873)
Jan Kotas [Sun, 19 Jun 2016 16:40:48 +0000 (09:40 -0700)]
Update GC from CoreRT (#5859)
https://github.com/dotnet/corert/tree/master/src/Native/gc
53276850bc2e7e531908434b2d062fcff3e1d58d
Jan Kotas [Sat, 18 Jun 2016 04:03:23 +0000 (21:03 -0700)]
Merge pull request #5858 from dotnet-bot/from-tfs
Merge changes from TFS
Kyungwoo Lee [Sat, 18 Jun 2016 03:46:05 +0000 (20:46 -0700)]
Merge pull request #5865 from kyulee1/fixgcstruct
ARM64: Fix GC hole for Multi-Reg Struct
Aditya Mandaleeka [Sat, 18 Jun 2016 02:38:35 +0000 (19:38 -0700)]
Merge pull request #5863 from adityamandaleeka/generate_core_dumps_runtest
Add option to runtest.sh to enable limited dump generation.
Andy Ayers [Sat, 18 Jun 2016 01:45:25 +0000 (18:45 -0700)]
Merge pull request #5868 from AndyAyersMS/BooleansRule
JIT: standardize on bool for return type of GenTree OperIs methods
Aditya Mandaleeka [Sat, 18 Jun 2016 01:30:06 +0000 (18:30 -0700)]
Merge pull request #5862 from adityamandaleeka/remove_dead_code
Remove some dead code in notifyexternals
Brian Sullivan [Fri, 17 Jun 2016 23:27:25 +0000 (16:27 -0700)]
Merge pull request #5831 from briansull/fix-5759
Fix for issue 5795
Andy Ayers [Fri, 17 Jun 2016 22:31:32 +0000 (15:31 -0700)]
JIT: standardize on bool for return type of GenTree OperIs methods
We had a mixture of bool and int return types. Standardize on bool.
Otherwise callers must match the mixed typing to avoid the fatal
C4800 warning on windows.
Aditya Mandaleeka [Fri, 17 Jun 2016 19:42:27 +0000 (12:42 -0700)]
Remove dead code in notifyexternals
Aditya Mandaleeka [Fri, 17 Jun 2016 22:13:19 +0000 (15:13 -0700)]
Enable core dump generation in CI test jobs
Kyungwoo Lee [Fri, 17 Jun 2016 21:27:36 +0000 (14:27 -0700)]
ARM64: Fix GC hole for Multi-Reg Struct
Fixes https://github.com/dotnet/coreclr/issues/5817
When we pass struct in multi-reg, we dropped the GC info on creating
instruction.
The fix is that for GT_LCL_FLD, we enforce non-float type size while
holding the gc type.
Validate with small cutdown. And also confirmed that the gc range is
reasonable in System.Reflection.RuntimeParameterInfo.GetParameters.
Russ Keldorph [Fri, 17 Jun 2016 22:02:55 +0000 (15:02 -0700)]
Merge pull request #5836 from RussKeldorph/nogcsosx
Disable GCStress=C periodic triggers for OSX
Andy Ayers [Fri, 17 Jun 2016 21:42:02 +0000 (14:42 -0700)]
Merge pull request #5856 from AndyAyersMS/ConstantObservations
JIT: Cleanup code in and around fgFindJumpTargets
Aditya Mandaleeka [Fri, 17 Jun 2016 20:49:53 +0000 (13:49 -0700)]
Add option to runtest.sh to enable limited dump generation.
Brian Sullivan [Thu, 16 Jun 2016 17:06:55 +0000 (10:06 -0700)]
Fix for issue 5795
We incorrectly pass the ret buf arg in x9 instead of x8
It is required that we call SortArgs and EvalArgsToTemps whenever we have any register arguments
We were not doing that when we only had a retBufArg argument in x8.
Fix for UNIX_AMD64 structs
Jan Kotas [Fri, 17 Jun 2016 17:43:24 +0000 (10:43 -0700)]
Merge pull request #5854 from dotnet-bot/from-tfs
Merge changes from TFS
Andy Ayers [Thu, 16 Jun 2016 22:33:48 +0000 (15:33 -0700)]
JIT: Cleanup code in and around fgFindJumpTargets
Reorder code to remove gotos. Extract two large chunks of logic as
subroutines. Add braces and update comments. Bring `fgStack` class up
to current Jit coding conventions. Reunite some orphaned comments for
fgFindJumpTargets.
No behavior change expected. No diffs seen via jit-diff tool. No diffs
seen in desktop testing.
Sean Gillespie [Fri, 17 Jun 2016 16:55:33 +0000 (09:55 -0700)]
Merge pull request #5839 from swgillespie/gc-batch-fix
Fix GC test batch script skip conditions that were behaving unexpectedly
Jan Kotas [Fri, 17 Jun 2016 15:17:25 +0000 (08:17 -0700)]
Fix full framework build break
[tfs-changeset: 1613359]
Gaurav Khanna [Fri, 17 Jun 2016 15:09:45 +0000 (08:09 -0700)]
Merge pull request #5852 from gkhanna79/Fix5837
Correctly resolve binding from Resolving event for static load
Eric St. John [Fri, 17 Jun 2016 14:16:31 +0000 (07:16 -0700)]
Changes to update TFS packages post 1.0
[tfs-changeset: 1613358]
Gaurav Khanna [Fri, 17 Jun 2016 13:29:41 +0000 (06:29 -0700)]
Add missing check to allow assembly bound using the Resolving event to be used during static binding scenario
Gaurav Khanna [Fri, 17 Jun 2016 12:32:04 +0000 (05:32 -0700)]
Merge pull request #5843 from dotnet-bot/UpdateDependencies20160617052045
Updating External dependencies to rc4-24217-00
Jonghyun Park [Fri, 17 Jun 2016 11:36:07 +0000 (20:36 +0900)]
Use LEAF_END_MARKED instead of LEAF_END for ARM64 debugbreak.S (#5850)
This commit applies the changes in #5847 (which fixes #5845) into ARM64
stub.
Jonghyun Park [Fri, 17 Jun 2016 08:55:43 +0000 (17:55 +0900)]
Use Use LEAF_END_MARKED instead of LEAF_END for various functions (#5849)
This commit fixes #5848.
Jonghyun Park [Fri, 17 Jun 2016 08:55:24 +0000 (17:55 +0900)]
Use LEAF_END_MARKED instead of LEAF_END for DBG_DebugBreak (#5847)
This commit tries to fix #5845
Jarret Shook [Fri, 17 Jun 2016 06:21:43 +0000 (23:21 -0700)]
Merge pull request #5842 from prajwal-aithal/devel/arm-ci-emul-fix
ARM-CI: Create mount path if not already present
dotnet-bot [Fri, 17 Jun 2016 05:20:45 +0000 (05:20 +0000)]
Updating External dependencies to rc4-24217-00
Prajwal A N [Fri, 17 Jun 2016 03:24:24 +0000 (12:24 +0900)]
ARM-CI: Create mount path if not already present
* Previous PRs assumed that the mount path is already created on the CI machine
* This results in errors if the same is not true
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>