David Mason [Thu, 26 May 2016 02:20:54 +0000 (19:20 -0700)]
Squashed commit of the following:
commit
45d11dde6acdc3def0a13302c527e3c7a662b009
Author: David Mason <davmason@microsoft.com>
Date: Wed May 25 19:00:10 2016 -0700
Squashed commit of the following:
commit
f586c5552d8225f13b5a0476f5bdf9362ba9ee8d
Author: Lee Culver <leculver@microsoft.com>
Date: Wed May 25 14:17:45 2016 -0700
Fix heap dump GC type to be Induced
Previously we didn't set the GC type to be "Induced" when collecting a heap dump. This would cause perfview to ignore the GC.
commit
78866dfdcc15ebade0a2faeb6af9a5b7f5e0a170
Author: Lee Culver <leculver@microsoft.com>
Date: Wed May 25 13:18:41 2016 -0700
Enable LTTng events for creating a gcdump
There were a handful of events that were not properly enabled on linux. This change adds enables the remaining events to allow heap dumps.
commit
04d3d6c3d9a1c87e88bc1db91f717481f21874bc
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 24 12:57:16 2016 -0700
Fix BulkTypeEvents
The buffer used for BulkTypeEvents was defined as a BYTE** instead of BYTE*. This lead to incorrectly written BulkTypeEvents.
commit
8ceab5828e8101b134beb0175b1842487607636c
Author: David Mason <davmason@microsoft.com>
Date: Wed May 18 11:21:12 2016 -0700
Add logic for finalizer thread to check to see if a heap dump is required.
commit
cd64b4884d639ce90e4192975533f5e873bd1cb3
Author: Lee Culver <leculver@microsoft.com>
Date: Thu May 19 14:24:01 2016 -0700
Special case BulkType LTTng event
The BulkType LTTng event does not have a real element size. Instead each element is variable length. This change updates the FireBulkType method to allow us to pass the correct size to LTTng.
commit
f8ab762106188bc124af802ec0490ef8375412b5
Merge: 77495aa f0d9ab4
Author: Lee Culver <leculver@microsoft.com>
Date: Thu May 19 13:49:43 2016 -0700
Merge branch 'gc-events' of github.com:leculver/coreclr into gc-events
commit
f0d9ab4e52c69b45d2d169983c23ab5263edb5c0
Author: Lee Culver <leculver@microsoft.com>
Date: Thu May 19 12:51:01 2016 -0700
Enable BulkType LTTng events on linux
Emit calls to FireBulkType events on linux. This commit enables the code, but currently the wrong size is used in the etw subsystem (this function must be special cased).
commit
25c682ce49f51298f011046faa50443c569943b7
Author: Lee Culver <leculver@microsoft.com>
Date: Wed May 18 12:06:05 2016 -0700
Fix multiple LTTng issues
- Only emit LTTng events when LTTng is enabled. We now use the tracepoint_enabled macro to check if an event is enabled...when the version of lttng is installed that supports it.
- Unsplit LTTng events. Previously we split LTTng events when they exceeded the field limit of LTTng. Now we emit those events as a raw byte array so that it matches their windows ETW counterparts byte-for-byte.
- Emit any event with a struct or embedded array as a raw byte array too. The structure of memory that LTTng emits is incompatible with our ETW parsing. Changing events with struct/array fields greatly simplifies the parsing of events.
commit
77495aa1b3415dcee8d4b6e8eb1d0b5cb921f821
Merge: 754596d f77577c
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 18:24:55 2016 -0700
Merge branch 'master' of github.com:leculver/coreclr
commit
754596d9c51d07db9267148a20f81c786f719312
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 18:21:54 2016 -0700
Squashed commit of the following:
commit
f77577c1d7c552de9e75f6fb98a656a1d09bf8b2
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 18:04:18 2016 -0700
Properly handle arrays in LTTng
Arrays were not being properly handled by the LTTng code generator.
commit
390e998719e050a4e61b29bef4c8f8ecbff3423f
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 11:21:07 2016 -0700
Manually write events with structs
Manually write events to LTTng which have structs embedded in them.
commit
54ae7c79f3c96987504cece302513ac9215afbfe
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 09:12:45 2016 -0700
Fix issue with struct sizes
Struct sizes were not properly calculated for manually saved events.
commit
d4e59b1b8b18822e551e585ebe006e5b66066bf8
Author: Lee Culver <leculver@microsoft.com>
Date: Mon May 16 20:57:33 2016 -0700
Fix tests
Tests were not being generated properly, as they skipped a parameter.
This is now fixed.
commit
91d68c7ee36f28b1d9de8d0242edcd078416dc80
Author: Lee Culver <leculver@microsoft.com>
Date: Wed May 11 17:41:23 2016 -0700
Remove excess fields in LTTng stream
Extra fields were inserted into LTTng to calculate the size of struct
pointers. Now this calculation is done natively without needing to
insert the extra fields.
commit
3bf826f5e36637ff5188d0205510d7236458075a
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 10 10:00:39 2016 -0700
Re-enable dynamic linking to fix a load issue
Was getting a loader issue on startup, disabling static linking for now.
commit
aacb45ff675d2299df938493416f875096ec446c
Author: Lee Culver <leculver@microsoft.com>
Date: Thu Apr 28 20:56:01 2016 -0700
Unsplit lttng events
LTTng has a limitation in that it cannot emit events with more than 9
parameters. Previously we would split these events into multiple
events. However this proves to be very difficult to consume with
TraceEvent. Instead we now pack the parameters into a byte array an
emit the byte array + length as a single event, avoiding the need to
recombine events later.
commit
a9a630da28d42132c2e8929909e86545fbe630c9
Author: Lee Culver <leculver@microsoft.com>
Date: Wed Apr 20 13:31:33 2016 -0700
Only emit LTTng events when they are enabeld.
This changes adds a check for tracepoint_enabled (when that feature is available).
This change also statically compiles against the LTTng libraries (instead of dynamically) to avoid using entrypoints that may not be there if compiled against a different lttng that lacks the tracepoint_enabled entrypoint.
commit
f77577c1d7c552de9e75f6fb98a656a1d09bf8b2
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 18:04:18 2016 -0700
Properly handle arrays in LTTng
Arrays were not being properly handled by the LTTng code generator.
commit
390e998719e050a4e61b29bef4c8f8ecbff3423f
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 11:21:07 2016 -0700
Manually write events with structs
Manually write events to LTTng which have structs embedded in them.
commit
54ae7c79f3c96987504cece302513ac9215afbfe
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 17 09:12:45 2016 -0700
Fix issue with struct sizes
Struct sizes were not properly calculated for manually saved events.
commit
d4e59b1b8b18822e551e585ebe006e5b66066bf8
Author: Lee Culver <leculver@microsoft.com>
Date: Mon May 16 20:57:33 2016 -0700
Fix tests
Tests were not being generated properly, as they skipped a parameter.
This is now fixed.
commit
91d68c7ee36f28b1d9de8d0242edcd078416dc80
Author: Lee Culver <leculver@microsoft.com>
Date: Wed May 11 17:41:23 2016 -0700
Remove excess fields in LTTng stream
Extra fields were inserted into LTTng to calculate the size of struct
pointers. Now this calculation is done natively without needing to
insert the extra fields.
commit
3bf826f5e36637ff5188d0205510d7236458075a
Author: Lee Culver <leculver@microsoft.com>
Date: Tue May 10 10:00:39 2016 -0700
Re-enable dynamic linking to fix a load issue
Was getting a loader issue on startup, disabling static linking for now.
commit
aacb45ff675d2299df938493416f875096ec446c
Author: Lee Culver <leculver@microsoft.com>
Date: Thu Apr 28 20:56:01 2016 -0700
Unsplit lttng events
LTTng has a limitation in that it cannot emit events with more than 9
parameters. Previously we would split these events into multiple
events. However this proves to be very difficult to consume with
TraceEvent. Instead we now pack the parameters into a byte array an
emit the byte array + length as a single event, avoiding the need to
recombine events later.
commit
a9a630da28d42132c2e8929909e86545fbe630c9
Author: Lee Culver <leculver@microsoft.com>
Date: Wed Apr 20 13:31:33 2016 -0700
Only emit LTTng events when they are enabeld.
This changes adds a check for tracepoint_enabled (when that feature is available).
This change also statically compiles against the LTTng libraries (instead of dynamically) to avoid using entrypoints that may not be there if compiled against a different lttng that lacks the tracepoint_enabled entrypoint.
Aditya Mandaleeka [Thu, 26 May 2016 01:34:51 +0000 (18:34 -0700)]
Merge pull request #5220 from adityamandaleeka/force_gc_concurrent
Check CLRConfig value explicitly to determine whether concurrent GC was forced
Andy Ayers [Thu, 26 May 2016 01:15:14 +0000 (18:15 -0700)]
Merge pull request #5187 from AndyAyersMS/InlineXmlData
Inliner: integrate data into inline Xml
AlexGhiondea [Wed, 25 May 2016 23:07:26 +0000 (16:07 -0700)]
Merge pull request #5216 from AlexGhiondea/restorePackageVersion
Restore the package version to 1.0.2 for the CoreCLR package
Matt Mitchell [Wed, 25 May 2016 22:55:28 +0000 (15:55 -0700)]
Merge pull request #5209 from prajwal-aithal/devel/arm-ci-fix
ARM-CI: Mount Linux ARM emulator rootfs during each build
Russ Keldorph [Wed, 25 May 2016 22:32:17 +0000 (15:32 -0700)]
Merge pull request #5219 from ellismg/improve-corefx-copy-logic
Fix runtest.sh issues
Tarek Mahmoud Sayed [Wed, 25 May 2016 22:09:12 +0000 (15:09 -0700)]
Merge pull request #5221 from tarekgh/UpgradeUnixBuildToUnicode8
Upgrade Linux build to use Unicode 8.0
Aditya Mandaleeka [Wed, 25 May 2016 21:45:38 +0000 (14:45 -0700)]
Remove CORECLR_CONCURRENT_GC from Unix coreruncommon.
Matt Ellis [Wed, 25 May 2016 17:25:49 +0000 (10:25 -0700)]
Be more explict when picking up libs from CoreFx
There's no contract in the CoreFx build layout that enforces an assembly
is only in one location in the resulting binaries folder. Different
projects may have different versions of dependent assemblies SxS with them
in their output folder.
To work around this, update the copy logic to use the folder name to
determine what assembly to copy from it.
William Godbe [Wed, 25 May 2016 20:25:05 +0000 (13:25 -0700)]
Merge pull request #5224 from wtgodbe/runtestFix
Add missing quote in new runtest.cmd arg
wtgodbe [Wed, 25 May 2016 20:14:50 +0000 (13:14 -0700)]
Add missing quote in new runtest.cmd arg
Tarekm Mahmoud Sayed [Wed, 25 May 2016 17:57:21 +0000 (10:57 -0700)]
Upgrade Linux build to use Unicode 8.0
We have done this upgrade for Windows awhile ago. the change here is to do the same for Linux
The fix should take care with the issue https://github.com/dotnet/corefx/issues/7351
Aditya Mandaleeka [Wed, 25 May 2016 17:32:18 +0000 (10:32 -0700)]
Explicitly check CLRConfig value to determine whether concurrent GC was forced.
Alex Ghiondea [Wed, 25 May 2016 17:14:00 +0000 (10:14 -0700)]
Restore the package version to 1.0.2 for the ILAsm/ILDAsm packages.
This change also updates the reference to the CoreCLR package to 1.0.2. (the updated version).
Michelle McDaniel [Wed, 25 May 2016 16:29:26 +0000 (09:29 -0700)]
Merge pull request #5184 from adiaaida/x86LongCallImp
Enable FEATURE_MULTIREG_RET for x86 RyuJIT
Alex Ghiondea [Wed, 25 May 2016 16:26:06 +0000 (09:26 -0700)]
Restore the package version to 1.0.2 for the CoreCLR package
This will ensure the package version is consistent with our other packages.
Michelle McDaniel [Thu, 19 May 2016 16:55:09 +0000 (09:55 -0700)]
Enable FEATURE_MULTIREG_RET for x86 RyuJIT
This change enables the following:
1) Enable FEATURE_MULTIREG_RET for x86 RyuJIT, which is used for calls
with long return types.
2) Enable ReturnTypeDesc for x86 RyuJIT to describe the return types for
longs. Included in this is setting up the correct number of return
registers for longs on x86, and setting up the correct registers for long
returns. This is required for enabling impFixupCallLongReturn. Add Reset
function for ReturnTypeDesc for future work to reset ReturnTypeDesc to the
defaults.
3) Enabling HasMultiRegRetVal for longs on x86.
4) Enabling impFixupCallLongReturn and impAssignStructClassToVar for x86
longs. Sets up the call's ReturnTypeDesc and sets lvIsMultiRegArgOrRet for
long's tmp. Rename impAssignStructClassToVar to
impAssignMultiRegTypeToVar.
Prajwal A N [Wed, 25 May 2016 14:22:57 +0000 (23:22 +0900)]
arm-softfp: make toolchain.cmake consistent among different arm archs (#5210)
Fixes #5177
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Sergiy Kuryata [Wed, 25 May 2016 05:20:33 +0000 (22:20 -0700)]
Merge pull request #5208 from sergiy-k/runtestoverlay
Update runtest.sh to accommodate a change in CoreFX
Prajwal A N [Wed, 25 May 2016 03:25:55 +0000 (12:25 +0900)]
ARM-CI: added a fix to mount Linux ARM emulator rootfs during each build
* Previous PR #4141 assumed that the rootfs is mounted
throughout the lifespan of the CI machine
* Changing this to mount and unmount everytime a build is triggered
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Sergiy Kuryata [Wed, 25 May 2016 02:41:58 +0000 (19:41 -0700)]
Update runtests.sh to accommodate a change in CoreFX that broke creation of CoreOverlay on Unix platforms
Jonghyun Park [Wed, 25 May 2016 02:23:51 +0000 (11:23 +0900)]
[ARM/Linux] Fix incorrect return marshaling in PInvoke stub (#5010)
* Revises compMethodReturnsMultiRegRetType for ARM
For ARM, the current implementation of 'compMethodReturnsMultiRegRetType'
always returns false.
Unfortunately, this behavior is inconsistent with JIT importer. JIT impoter
attempts to merge various return statements as one statement via inserting
an assignment statement just before each return statement if there are more
than 4 returns.
If the method of interest has a return value, then JIT importer
introduces a local temporary variable, and use it to return value.
Due to the above implementation, JIT importer never generates a return
variable, which results in assertion violation insider JIT morph, which
is discussed in #5009.
This commit attempts to fix #5009 via implementing 'compMethodReturnsMultiRegRetType'
for ARM.
* Uses compRetNativeType instead of compRetType
* Fix typo '_TARGET_ARM' as '_TARGET_ARM_'
Manu [Wed, 25 May 2016 02:21:23 +0000 (11:21 +0900)]
Support the CORE_LIBRARIES environment variable on Unix (#5112)
Mimic the Windows behavior by adding to the search path of native dlls
the content of the CORE_LIBRARIES environment variable.
Vance Morrison [Wed, 25 May 2016 01:45:10 +0000 (18:45 -0700)]
Fix Guid's GetHashCode to work better (not ignore parts of it) (#5191)
A common pattern is that the last bits of the GUID are the most unique, however our current hash code ignores most of them.
Fix this to simply XOR all bits in the GUID 32 bits at a time. This is more efficient and a better hash than what we have currently.
Dmitri-Botcharnikov [Tue, 24 May 2016 21:59:24 +0000 (01:59 +0400)]
Improve vtbl matching loop in DacGetVtNameW. (#5179)
Jan Vorlicek [Tue, 24 May 2016 21:43:49 +0000 (23:43 +0200)]
Fix filter funclet handling during stack walk on Unix (#5183)
The filter funclets are not handled correctly during stack walk on Unix. When
the funclet's parent frame is reached, the filter funclet was mistakenly handled
as a non-filter funclet by the Unix specific code that is used to figure out
parent frames of funclets from exception trackers.
The fix is to skip this Unix specific code when we are looking for a parent of
a filter funclet. Filter funclet frame is always on the stack when the stack
walk reaches its parent frame.
Lubomir Litchev [Tue, 24 May 2016 21:26:27 +0000 (14:26 -0700)]
Merge pull request #5153 from LLITCHEV/r2r_jitstress_jobs
Add R2R JitStress, JitStressRegs, JITMinOpts and ForceRelocs jobs to CI.
Lubomir Litchev [Tue, 24 May 2016 21:25:37 +0000 (14:25 -0700)]
Added jit related R2R jobs.
Added jobs for R2R jitstress, jitstressregs, JITMinOpts and ForceRelocs testing.
William Godbe [Tue, 24 May 2016 19:42:30 +0000 (12:42 -0700)]
Merge pull request #5192 from wtgodbe/updatePublishedVersions
Add PowerShell script to update latest package version info in Versions repo
wtgodbe [Tue, 24 May 2016 19:13:18 +0000 (12:13 -0700)]
Add PowerShell script to update latest package version info in Versions repo
Aditya Mandaleeka [Tue, 24 May 2016 17:21:45 +0000 (10:21 -0700)]
Merge pull request #5129 from leemgs/upstream-diff-time-of-unittest
Linux/ARM: Display execution time of ./tests/runtest.sh
Andy Ayers [Sun, 22 May 2016 22:48:06 +0000 (15:48 -0700)]
Inliner: integrate data into inline Xml
Refactor the inline data dumps (the dumps that capture the observations
made by the inliner when evaluating an inline) so that the data can be
added to the inline Xml or dumped as standalone data.
I haven't tried to Xml-ify the actual data. Just dumping it as a large
comma delimited string is ok for now.
William Godbe [Tue, 24 May 2016 17:07:33 +0000 (10:07 -0700)]
Merge pull request #5171 from wtgodbe/syncFix
Update sync.cmd to download Azure Blobs. Also change publish.proj to ā¦
Russ Keldorph [Tue, 24 May 2016 15:09:22 +0000 (08:09 -0700)]
Merge pull request #5180 from RussKeldorph/jit32va
Exclude varags tests for JIT32
Russ Keldorph [Tue, 24 May 2016 14:00:02 +0000 (07:00 -0700)]
Exclude varags tests for JIT32
Add same exclusions as added for other platforms in #5124. These were
missed because we don't have JIT32 testing on dotnet-ci.
Koundinya Veluri [Tue, 24 May 2016 07:41:22 +0000 (00:41 -0700)]
Merge pull request #5170 from kouvel/NamedMutexPalTestFix
Fix intermittent test failure in paltest_namedmutex_test1
Kyungwoo Lee [Tue, 24 May 2016 05:02:34 +0000 (22:02 -0700)]
Merge pull request #5173 from kyulee1/ilasmpack
ILAsm/ILDAsm Package
Kyungwoo Lee [Mon, 23 May 2016 22:33:23 +0000 (15:33 -0700)]
ILAsm/ILDAsm Package
Fixes #5172
This has dependency on CoreCLR.
Use the same version 1.0.3 as CoreCLR.
Tested both packages are produced in Windows/Linux locally.
Lubomir Litchev [Sat, 21 May 2016 21:23:11 +0000 (14:23 -0700)]
Add R2R JitStress, JitStressRegs, JITMinOpts and ForceRelocs jobs to CI.
Jeremy Kuhne [Mon, 23 May 2016 23:48:28 +0000 (16:48 -0700)]
Merge pull request #4884 from JeremyKuhne/JeremyKuhne-linuxhandles
Update file handle steps
Geunsik Lim [Fri, 20 May 2016 13:31:32 +0000 (22:31 +0900)]
Linux/ARM: Add execution time of ./tests/runtest.sh
We have to wait for a long time to complete all unit tests on the ARM-based
embedded boards (e.g, Raspberry Pi, Odroid, Chromebook) compared to the
X86-based server environment. So, let's display execution time after finishing
the unit test.
* After PR:
128 minutes and 36 seconds taken to run CoreCLR tests.
ver1:
The existing measured time still includes overlay creation and some
package restoration. So, let's put time_start in front of
if($testDirectories).
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Reviewed-by: Aditya Mandaleeka <adityamandaleeka@microsoft.com>
Reviewed-by: Sergiy Kuryata <sergiy-k@microsoft.com>
wtgodbe [Mon, 23 May 2016 21:31:19 +0000 (14:31 -0700)]
Update sync.cmd to download Azure Blobs. Also change publish.proj to publish packages into symbol/pkg directories
Jan Kotas [Mon, 23 May 2016 21:20:22 +0000 (14:20 -0700)]
Merge pull request #5167 from dotnet-bot/from-tfs
Merge changes from TFS
Aditya Mandaleeka [Mon, 23 May 2016 20:49:35 +0000 (13:49 -0700)]
Merge pull request #5042 from leemgs/upstream-display-clang-ver
Linux/ARM: display default clang version info at build-time
Koundinya Veluri [Mon, 23 May 2016 20:34:27 +0000 (13:34 -0700)]
Fix intermittent test failure in paltest_namedmutex_test1
Fixes #5169:
- Child thread/process was not closing their test mutex before indicating completion to the parent thread/process
- Fixed by enclosing the actual child test code in braces to force closing before the cleanup code runs. This is a minimal fix for the issue, I have a separate change that generally improves and refactors the tests further.
Jan Vorlicek [Mon, 23 May 2016 18:22:35 +0000 (20:22 +0200)]
Change Unix HW exception unwinding to not to go through signal trampoline (#5140)
This change modifies the HW exception handling on Unix so that it doesn't unwind
from the context of the DispatchManagedException through the signal trampoline
to the actual location of the exception and uses the exception's context instead.
This fixes problem that some target systems like ARM Linux have with unwinding
through that trampoline.
Jan Kotas [Mon, 23 May 2016 16:37:25 +0000 (09:37 -0700)]
Add missing #ifdef FEATURE_ICASTABLE
[tfs-changeset: 1607333]
Kyungwoo Lee [Mon, 23 May 2016 14:29:58 +0000 (07:29 -0700)]
Merge pull request #5145 from kyulee1/newtest2
ARM64: Test Binary Update (
afa7fe5486fc90fec7df52bd134b789c568c8b45)
Jan Kotas [Mon, 23 May 2016 02:05:27 +0000 (19:05 -0700)]
Merge pull request #5159 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Sun, 22 May 2016 23:49:18 +0000 (16:49 -0700)]
Merge pull request #5146 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Sun, 22 May 2016 17:07:15 +0000 (10:07 -0700)]
Update tests to build against rc3-24117-00 (#5154)
Andy Ayers [Sun, 22 May 2016 16:45:06 +0000 (09:45 -0700)]
Merge pull request #5143 from AndyAyersMS/InlineXmlLock
Inliner: locks for xml read/write access
Wes Haggard [Sun, 22 May 2016 05:25:52 +0000 (22:25 -0700)]
Expose ResolveEventHandler and ResolveEventArgs in the mscorlib facade so that our test host still function.
[tfs-changeset: 1607062]
Kyungwoo Lee [Sat, 21 May 2016 00:11:28 +0000 (17:11 -0700)]
ARM64: Test Binary Update (
afa7fe5486fc90fec7df52bd134b789c568c8b45)
- vararg tests are deleted.
- dll not found issues are addressed.
Total: 9740
EXPECTED_PASS: 9658(99.2%)
EXPECTED_FAIL: 82(0.8%)
Matt Ellis [Sat, 21 May 2016 01:19:30 +0000 (18:19 -0700)]
Update pre-release tags to RC4
The long term plan is to move our packages versions up and the
prerelease tag back down to something like -beta, but for now we just
need to pick something that isn't RC3 as that's what
the release/1.0.0 branches are using.
Doing this gives us time to do the right thing without having version
clashes on myget.
[tfs-changeset: 1606983]
Aditya Mandaleeka [Sat, 21 May 2016 00:04:33 +0000 (17:04 -0700)]
Merge pull request #5136 from adityamandaleeka/xrtinit_fix
Change how InitAppXRT loads the XRT DLL
Pat Gavlin [Sat, 21 May 2016 00:03:14 +0000 (17:03 -0700)]
Merge pull request #4990 from pgavlin/gh4912
Remove some preprocessor usage from the JIT interface.
John Chen [Fri, 20 May 2016 23:33:45 +0000 (16:33 -0700)]
Merge pull request #5122 from JohnChen0/timeout
Resolve two issues that cause pri1r2r test timeout on Ubuntu
Andy Ayers [Thu, 19 May 2016 17:39:25 +0000 (10:39 -0700)]
Inliner: locks for xml read/write access
Move CritSecObject into util.h, and use it to lock around reading
and writing inline Xml. Introduce CritSecHolder for RAII management
of the locks.
Add a simple file position cache for methods to speed up replay
when the inline xml file is large.
Aditya Mandaleeka [Fri, 20 May 2016 23:07:48 +0000 (16:07 -0700)]
Fix broken RHEL debug build link
Russ Keldorph [Fri, 20 May 2016 22:51:18 +0000 (15:51 -0700)]
Merge pull request #5142 from RussKeldorph/delexcl
Remove ryujit_x86_no_fallback_issues.targets
Russ Keldorph [Fri, 20 May 2016 22:34:53 +0000 (15:34 -0700)]
Remove ryujit_x86_no_fallback_issues.targets
We have decided this file isn't useful, so its continued presence
is just confusing.
Sejong Oh [Fri, 20 May 2016 22:24:26 +0000 (15:24 -0700)]
Merge pull request #5114 from sejongoh/mark_jit_opt_sensitive
Add JitOptimizationSensitive property to GC/API/WeakReference/IsAliveā¦
Michelle McDaniel [Fri, 20 May 2016 21:54:24 +0000 (14:54 -0700)]
Merge pull request #5133 from adiaaida/disableStringarr_cs_ro
Disable stringarr_cs_ro for x86 RyuJIT
Lee Culver [Fri, 20 May 2016 21:45:28 +0000 (14:45 -0700)]
Merge pull request #5139 from leculver/shutdown
Prevent core dumps at shutdown due to ETW subsystem
Lee Culver [Fri, 20 May 2016 20:57:11 +0000 (13:57 -0700)]
Disable debugger termination to prevent shutdown race
Fixed another instance where debugger shutdown would race with ETW subsystem, causing segfaults.
Stephen Toub [Fri, 20 May 2016 20:50:38 +0000 (14:50 -0600)]
Shrink AsyncMethodBuilder.MoveNextRunner by a field in common case (#5131)
When an async method yields for the first time, there are several allocations, including a "MoveNextRunner" object that used to store the state machine and an ExecutionContext. However, for the common case where a default ExecutionContext is being used, we can avoid needing that field. For the simplest async method, this can reduce the total size of the allocations by ~4%.
(It would be nice in this case to be able to get rid of the MoveNextRunner entirely. However, the Action delegate that gets created needs to be stored into the builder before the builder is boxed to the heap, so that the cached delegate gets boxed with it; otherwise, the second yield in the async method will end up needing to reallocate the delegate. Since delegates are immutable, if the delegate was to point directly to a method on the boxed object, we would need to first have the object, a catch-22. So the MoveNextRunner serves as an intermediary that lets us create the delegate, store it into the struct builder, then box the builder, and then store the boxed object into the runner.)
Gaurav Khanna [Fri, 20 May 2016 20:50:11 +0000 (13:50 -0700)]
Merge pull request #5124 from gkhanna79/Fix4940
Throw InvalidProgramException when VarArgs are encountered
Lee Culver [Fri, 20 May 2016 20:26:19 +0000 (13:26 -0700)]
Fix multiple LTTng issues (#5068)
- Only emit LTTng events when LTTng is enabled. We now use the tracepoint_enabled macro to check if an event is enabled...when the version of lttng is installed that supports it.
- Unsplit LTTng events. Previously we split LTTng events when they exceeded the field limit of LTTng. Now we emit those events as a raw byte array so that it matches their windows ETW counterparts byte-for-byte.
- Emit any event with a struct or embedded array as a raw byte array too. The structure of memory that LTTng emits is incompatible with our ETW parsing. Changing events with struct/array fields greatly simplifies the parsing of events.
Jan Kotas [Fri, 20 May 2016 20:18:49 +0000 (13:18 -0700)]
Expose GetUninitializedObject on RuntimeHelpers (#5104)
* In coreclr, expose GetUninitializedObject on RuntimeHelpers
* Include RuntimeHelpers.GetUninitializedObject in model.xml
Pat Gavlin [Mon, 16 May 2016 18:16:07 +0000 (11:16 -0700)]
Remove some preprocessor usage from the JIT interface.
This fixes most of #4912.
- The usage of `USE_ASM_GC_WRITE_BARRIERS` has been removed. The type it guarded is
now always defined.
- The JIT helpers that were guarded by `_TARGET_X86_` are now always defined.
- The intrinsic that was guarded by `_WIN64` is now always defined.
Pat Gavlin [Fri, 20 May 2016 19:57:58 +0000 (12:57 -0700)]
Merge pull request #5123 from dotnet-bot/from-tfs
Merge changes from TFS
Koundinya Veluri [Fri, 20 May 2016 19:39:21 +0000 (12:39 -0700)]
Merge pull request #5132 from kouvel/NamedMutexFix
Fix a few bugs in named mutexes
John Chen [Fri, 20 May 2016 18:12:38 +0000 (11:12 -0700)]
Resolve two issues that cause pri1r2r test timeout on Ubuntu
* Fix Ready-to-Run image for System.Numerics.Vectors.dll.
* Disable tests\src\Loader\classloader\generics\regressions\
DD117522\Test.cs,
which contains an infinite generic type recursion. It causes CrossGen to
crash with stack overflow on Windows, and timeout on Ubuntu. Temporarily
disabling this test until we can properly fix it.
Aditya Mandaleeka [Fri, 20 May 2016 18:24:17 +0000 (11:24 -0700)]
Load XRT DLL from System32, and only on Win8+.
Matt Ellis [Fri, 20 May 2016 17:57:26 +0000 (10:57 -0700)]
Merge pull request #5105 from ellismg/fix-corefx-3467
Ignore empty collation elements in EndsWith
dotnet-bot [Fri, 20 May 2016 17:53:17 +0000 (10:53 -0700)]
Merge remote-tracking branch 'upstream/master' into from-tfs
dotnet-bot [Fri, 20 May 2016 17:50:20 +0000 (10:50 -0700)]
Fix line endings in src/vm/jitinterface.h
Michelle McDaniel [Fri, 20 May 2016 17:33:45 +0000 (10:33 -0700)]
Disable stringarr_cs_ro for x86 RyuJIT
This tests fails intermittently in the CI.
Koundinya Veluri [Fri, 20 May 2016 06:03:06 +0000 (23:03 -0700)]
Fix a few bugs in named mutexes
- When using pthread mutexes, if the mutex tells us that it was abandoned (due to owning process abruptly shutting down), it was calling ReleaseMutex (which takes a handle) on the pthread mutex object. It shouldn't be releasing the lock anyway.
- When a locked mutex is closed, it wasn't being removed from the owner thread's list of owned named mutexes. This case should be treated as abandoned.
- Since this could potentially happen from a different thread too, added the lock owner thread to the process data, added a critical section around list operations, and I now remove the process data from the owner thread's list on Close.
- Parent/child named mutex pal tests:
- Cleaned up tests by refactoring the setup/cleanup code
- Fixed a race where the parent may start a new child test before the previous child test closes its events
- Added new tests for verifying that a mutex is locked after it reports that it was abandoned, and abandoning by closing a locked mutex
Jan Vorlicek [Fri, 20 May 2016 16:49:48 +0000 (18:49 +0200)]
Add gchist SOS commands for Unix (#5127)
This change adds HistClear, HistInit, HistObj, HistObjFind and HistRoot
commands to SOS on Unix
Jose Perez Rodriguez [Fri, 20 May 2016 16:04:50 +0000 (09:04 -0700)]
Updating the version of buildtools we use to add commit hashes to native binaries (#5103)
John Chen [Fri, 20 May 2016 15:01:41 +0000 (08:01 -0700)]
Merge pull request #5052 from JohnChen0/r2r
Initial Ready-to-Run tests for generics
Jarret Shook [Fri, 20 May 2016 14:39:47 +0000 (07:39 -0700)]
Merge pull request #5109 from jashook/b103058_exclude
Mark b103058 as stress sensitive
Jarret Shook [Fri, 20 May 2016 14:38:04 +0000 (07:38 -0700)]
Merge pull request #5108 from jashook/locals_exclude_min_opts
Mark opt/perf/doublealign/Locals stress sensitive
Hanjoung Lee [Fri, 20 May 2016 14:37:48 +0000 (23:37 +0900)]
Fix typo in runtest.sh (#5125)
Signed-off-by: Hanjoung Lee hanjoung.lee@samsung.com
Gaurav Khanna [Wed, 18 May 2016 04:57:21 +0000 (21:57 -0700)]
Throw InvalidProgramException when a method with varargs is encountered.
Lee Culver [Fri, 20 May 2016 06:46:00 +0000 (23:46 -0700)]
Prevent core dumps at shutdown when the ETW subsystem races with debugger cleanup. (#5066)
Geunsik Lim [Fri, 20 May 2016 06:43:33 +0000 (15:43 +0900)]
Documentation: Add CoreCLR binary folder to test results (#5084)
When we get the test result with ./coreclr/tests/runtest.sh,
it is difficult to classify the build mode that we used after some days.
Let's add information of the CoreCLR binary folder in order to
know easily the build mode between debug-build and release-build mode.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Fadi Hanna [Fri, 20 May 2016 06:42:02 +0000 (23:42 -0700)]
Implementation of the following generic dictionary entries for R2R: (#5079)
MethodDescSlot
MethodEntrySlot
DispatchStubAddrSlot
Jan Kotas [Fri, 20 May 2016 06:39:35 +0000 (23:39 -0700)]
Merge pull request #5111 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Fri, 20 May 2016 06:39:22 +0000 (23:39 -0700)]
Merge pull request #5121 from dotnet/revert-5075-Fix4940
Revert "Change to reject varag methods"
Koundinya Veluri [Fri, 20 May 2016 04:57:09 +0000 (21:57 -0700)]
Merge pull request #5030 from kouvel/NamedMutex
Add named mutex for cross-process synchronization
Brian Robbins [Fri, 20 May 2016 04:05:43 +0000 (21:05 -0700)]
Merge pull request #5115 from brianrob/corelib_perfmap
Generate perfmap symbol file for System.Private.CoreLib
Gaurav Khanna [Fri, 20 May 2016 04:03:33 +0000 (21:03 -0700)]
Revert "Change to reject varag methods"
Gaurav Khanna [Fri, 20 May 2016 03:54:08 +0000 (20:54 -0700)]
Merge pull request #5075 from gkhanna79/Fix4940
Change to reject varag methods
Rama krishnan Raghupathy [Fri, 20 May 2016 03:06:31 +0000 (20:06 -0700)]
Merge pull request #5118 from ramarag/fixexchangeTStest
Removing ' from bash command line
Yi Zhang (CLR) [Fri, 20 May 2016 03:01:43 +0000 (20:01 -0700)]
Merge pull request #5092 from yizhang82/icastable-fix2
Fix x86 only ICastable feature bug when we pass RuntimeTypeHandles
Sivarv [Fri, 20 May 2016 02:13:49 +0000 (19:13 -0700)]
Merge pull request #5085 from sivarv/tcfix
Tail call test failure fixes.
Pat Gavlin [Fri, 20 May 2016 02:05:53 +0000 (19:05 -0700)]
Add some quirk and versioning flags and change some preprocessor symbols into fields of CORINFO_EE_INFO.
The quirk flags--CORJIT_FLG2_JIT32_QUIRKS and CORJIT_FLG2_JIT64_QUIRKS--are passed by the EE to request that the JIT
generate appropriately compatible executable code. These flags are only passed on x86/Windows and x64/Desktop/Windows,
respectively.
Version numbers for GC and EH info have been added to CORINFO_EE_INFO. The EE sets these versions to indicate the
formats of the aforementioned data that it supports.
CORINFO_PAGE_SIZE and MAX_UNCHECKED_OFFSET_FOR_NULL_OBJECT have been converted to fields on CORINFO_EE_INFO.
[tfs-changeset: 1606533]