Kyungwoo Lee [Fri, 27 May 2016 00:08:33 +0000 (17:08 -0700)]
Merge pull request dotnet/coreclr#5256 from kyulee1/testupdate
ARM64: A few Test List Update
Commit migrated from https://github.com/dotnet/coreclr/commit/
5e40c4dbfd67fa996fb6cea9842a433b8976e1ed
Gaurav Khanna [Thu, 26 May 2016 23:48:35 +0000 (16:48 -0700)]
Merge pull request dotnet/coreclr#5144 from gkhanna79/RelaxALC2
Enable overriding TPA assemblies
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2f9a4dd588a1a9e6349c8bc4f0694e0d1130ab6
Andy Ayers [Thu, 26 May 2016 21:16:52 +0000 (14:16 -0700)]
Merge pull request dotnet/coreclr#5239 from AndyAyersMS/TrackCallOffsets
Track call offsets
Commit migrated from https://github.com/dotnet/coreclr/commit/
02eada1015063befd713e1bd60685f3a8bb38184
Kyungwoo Lee [Thu, 26 May 2016 20:42:58 +0000 (13:42 -0700)]
ARM64: A few Test List Update
CircleInConvex seems to pass after HFA work is merged.
test147911 is about getting hardwared EH (division by zero) which is not
triggered by our arm64 box. So, I exclude it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a453d31ce04c6f2db1c6bba785249038b72c9899
Gaurav Khanna [Thu, 26 May 2016 20:22:11 +0000 (13:22 -0700)]
Merge pull request dotnet/coreclr#5230 from gkhanna79/FixWinMD
WinMD Adapter should only lookup mscorlib in WinMD references
Commit migrated from https://github.com/dotnet/coreclr/commit/
857dc0b1aacc52822b623c8668a047d46d217307
Matt Mitchell [Thu, 26 May 2016 20:10:23 +0000 (13:10 -0700)]
Merge pull request dotnet/coreclr#5252 from mmitche/skip-archiving-tests-for-stressmodes
Skip archiving windows test data
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8cd4e479335414df8cd59380485769a72a66c93
Matt Mitchell [Thu, 26 May 2016 20:03:11 +0000 (13:03 -0700)]
Skip archiving windows test data
We don't need it for downstream stress builds on non-Windows platforms (they use the plain build)
Commit migrated from https://github.com/dotnet/coreclr/commit/
de8f2d8e93317ac22c14a51706ef2edc074d76d7
Joel Hendrix [Thu, 26 May 2016 19:26:19 +0000 (12:26 -0700)]
Merge pull request dotnet/coreclr#5203 from jhendrixMSFT/master
Add retry logic when downloading the CLI from Azure blob storage.
Commit migrated from https://github.com/dotnet/coreclr/commit/
64973a2ee9be8817e8c73d872013e422acae14a0
Lubomir Litchev [Thu, 26 May 2016 18:14:52 +0000 (11:14 -0700)]
Merge pull request dotnet/coreclr#5235 from LLITCHEV/r2r-jitstress-only-checked
Don't do r2r-jitstress jobs for non Checked configurations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b671a720e48e5a1e5c5fe839bb6d959460f6c82e
Brian Sullivan [Thu, 26 May 2016 17:33:59 +0000 (10:33 -0700)]
Merge pull request dotnet/coreclr#5196 from briansull/arm64-hfa-args
ARM64: ABI - Passing HFA struct arguments in floating point registers
Commit migrated from https://github.com/dotnet/coreclr/commit/
185a23ebc2b54873d00a91e5ef069e6571c8e356
Koundinya Veluri [Thu, 26 May 2016 17:11:49 +0000 (10:11 -0700)]
Merge pull request dotnet/coreclr#5206 from kouvel/ShmCreateDirectoryFix
Fix shm directory creation for named mutexes
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c568d02f781b6f78abd1970dbee7e1e10700847
Joel Hendrix [Thu, 26 May 2016 17:01:38 +0000 (10:01 -0700)]
Add retry logic when downloading the CLI from Azure blob storage.
Downloading from Azure can transiently fail for a number of reasons. Add
some retry logic when downloading to avoid transient failures. For *nix
variants add a retry value when using curl (wget retries by default).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2fab93aebd5365ea3716a4a4d3b87d6047698e09
Lubomir Litchev [Thu, 26 May 2016 03:27:50 +0000 (20:27 -0700)]
Don't do r2r-jitstress jobs for non Checked configurations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6dcc70e2572a354e8de201ac3dff37f53825b9f0
Jarret Shook [Thu, 26 May 2016 15:24:41 +0000 (08:24 -0700)]
Merge pull request dotnet/coreclr#5231 from jashook/build_fix
arm32 build fix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7823f314a3b846c9f04f63653d8f1a1cd5d0a269
Geunsik Lim [Thu, 26 May 2016 08:22:19 +0000 (17:22 +0900)]
Typo Fix: from preemtive GC to preemptive GC (dotnet/coreclr#5237)
This is just to fix typo.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
68b7bfa4df2d08019c3b320d6fbc4a85838f0d47
Geunsik Lim [Thu, 26 May 2016 08:21:39 +0000 (17:21 +0900)]
Linux/ARM: Regression fix in release build since "UNW_ARM_UNWIND_METHOD=6" (dotnet/coreclr#5126)
> https://github.com/dotnet/coreclr/pull/3502/
> Fix Stack Unwind Behavior of Libunwind-ARM
We have been getting the 300+ failures(in ./JIT/ directory) in release-build
mode whenever we have always run CoreCLR unit-test since
https://github.com/myungjoo/coreclr/commit/dotnet/coreclr@
35b5df6888f1574e6ef9313c6bc8522d1817573d.
(Reference - https://wiki.linaro.org/KenWerner/Sandbox/libunwind#overhead_of_the_ARM_specific_unwind-tables)
With recent fixes on stack unwindings, it appears that we no more send ambiguous
requests to libunwind-arm.(Checked by @myungjoo, with cases of dotnet/coreclr#3462)
From now on, let's remove the unwind environment variable (e.g., UNW_ARM_UNWIND_METHOD=6)
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
CC: Ben Pye <@benpye>
CC: Jan Kotas <@jkotas>
CC: Matt Mitchell <@mmitche>
Commit migrated from https://github.com/dotnet/coreclr/commit/
3351bfc78dccbc161ab055883cdb6b7bb3df3c67
Sean Gillespie [Thu, 26 May 2016 05:29:42 +0000 (22:29 -0700)]
Merge pull request dotnet/coreclr#5227 from swgillespie/timeout-increase
Increase the timeout of long GC tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
460fd870c1cd077c1ba9c49fe99148d86f62c80a
Brian Sullivan [Tue, 24 May 2016 21:03:49 +0000 (14:03 -0700)]
Enable HFA support for passing arguments on ARM64
Fixes dotnet/coreclr#4946 ARM64: ABI - Passing HFA struct arguments in floating point registers
We are now passing 24 additional HFA tests and have one test regression
Previously HFA support was enabled on ARM32 using #ifdef _TARGET_ARM_
Now HFA support is enabled for both platform using #ifdef FEATURE_HFA
Note that FEATURE_HFA is a VM defined and enable only for platforms that have HFA support
The VM is responsible for determining if a stuct is a HFA or not
The JIT Calls this method CorInfoType CEEInfo::getHFAType(CORINFO_CLASS_HANDLE hClass) to identify HFA types
Note that when using an AltJit targeting Arm32 or Arm64 we will never see an HFA type
In CodegenArm64.cpp
Method genPutArgStk
Implement passing of HFA structs on the stack
Refactored to handle both 16-byte structs and HFA struct
Track GC types for the 16-byte structs or he floating point types for HFA's
Use ldp when we have a 16-byte struct with no GC pointers
Added asserts to check that we never write past the end of the outgoing arg area
In CodegenCommon.cpp
Method genFnPrologCalleRegArgs
Implement the homing of incoming HDF variables
These are currently homed into a stack based struct as we did for ARM32
Use floating point types and registers when handling HFAs
Added asserts to check that we never write past the end of the stack based struct
Added Dump method for fgArgTabEntry to display how arguments will be passed
Added GetNextSlotNum for fgArgInfo which returns what stack offset we would use for the next stack base argument
Fixed tree dump so that it can print multireg struct arguments
In Morph.cpp
Method ArgsComplete
We currently chose to spill odd sized structs (11,13,14,15 bytes in size) into a GT_LCL_VAR temp so that we don't
need to use more than two instructions to pass a GT_OBJ struct. (Since we cannot read beyond the end of a GT_OBJ struct)
Method fgMorpgArgs
Handle HFAs for multireg and stack arguments
In this method 'size' is the number of registers used when passing an argument in registers
or the number of TARGET_POINTER_SIZE stack slots when passing them on the stack
For HFA this means that 'size' can change if we can't pass them using registers.
Use new Dump method to print out how each argument is passed (what register or what stack slot)
Method fgMorphMultiregStuctArg
Implement the expansion of multireg HFA arguments into GT_LISTs
Refactored to handle both 16-byte structs and HFA struct
Track GC types for the 16-byte structs or he floating point types for HFA's
Changes from code review feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2efe59bec6e0b70b2ede2dc0301a790d465e6a4
Pat Gavlin [Thu, 26 May 2016 03:17:38 +0000 (20:17 -0700)]
Merge pull request dotnet/coreclr#5207 from pgavlin/gh5202
Limit the exports of libclrjit.{so,dylib}.
Commit migrated from https://github.com/dotnet/coreclr/commit/
90bfb614bf3dc933f33878cff542ba20435369fa
Aditya Mandaleeka [Thu, 26 May 2016 01:34:51 +0000 (18:34 -0700)]
Merge pull request dotnet/coreclr#5220 from adityamandaleeka/force_gc_concurrent
Check CLRConfig value explicitly to determine whether concurrent GC was forced
Commit migrated from https://github.com/dotnet/coreclr/commit/
230aa6adb070c9c5ba7ae5b7ea2f1fdc96efed7f
Andy Ayers [Wed, 25 May 2016 18:14:02 +0000 (11:14 -0700)]
Inliner: enable minimal xml mode
Allow production of minimal inline xml, which only contains entries
for methods with inlines. Enabled if `JitInlineDumpXml = 2`.
Since the default for inline replay is noinline, replaying minimal
versus full xml should give the same result.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a48a63f48edc033be423c3dc1de983017954d87d
Andy Ayers [Tue, 24 May 2016 18:12:14 +0000 (11:12 -0700)]
Inliner: use offset in xml replay
Replay needs the ability to distinguish among multiple calls to the same
callee. The IL offset of the call site can be used for this, so start
checking for it during replay.
Note there is subsequent follow-up work to ensure that we actually track
offsets for calls.
Refactor the way the ReplayPolicy gets notified of the current inline
context (and the IL offset of the call). Instead of trying to pass
this information as arguments to the factory method that creates
policies, add special notifications for this information that only the
ReplayPolicy will act upon.
Commit migrated from https://github.com/dotnet/coreclr/commit/
be9d889b084099797dfcf019b2820433558dbec9
Andy Ayers [Tue, 24 May 2016 18:49:15 +0000 (11:49 -0700)]
JIT: Track IL offset of all calls
The jit normally only does sparse IL offset tracking. This makes it
difficult for the jit to consistently describe call sites, especially in
cases where there are multiple calls in a statement or calls from inlined
methods.
Because the current IL tracking is intimately tied up with debug
emission, we can't simply start tracking offsets more broadly. This
change introduces a separate `gtRawILOffset` field for calls. The
new field currently only exists in debug and inline data builds.
Since `impImportCall` was the only caller of `impCurILOffset`, I
refactored the code to have callers pass the raw offset so it could
be recorded on the call. `impImportCall` converts this raw offset to
the reportable IL offset as befre. I've also updated the banner comment
to the new style and fixed a few small CC violations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
78b78103b0a155bc3abbb4b6878390959062ef8c
Andy Ayers [Thu, 26 May 2016 01:15:14 +0000 (18:15 -0700)]
Merge pull request dotnet/coreclr#5187 from AndyAyersMS/InlineXmlData
Inliner: integrate data into inline Xml
Commit migrated from https://github.com/dotnet/coreclr/commit/
049961ad651dda73a2578f37df5b1d5e88345d0a
AlexGhiondea [Wed, 25 May 2016 23:07:26 +0000 (16:07 -0700)]
Merge pull request dotnet/coreclr#5216 from AlexGhiondea/restorePackageVersion
Restore the package version to 1.0.2 for the CoreCLR package
Commit migrated from https://github.com/dotnet/coreclr/commit/
31778913d14810c710e88c343cb401eddb994f55
Matt Mitchell [Wed, 25 May 2016 22:55:28 +0000 (15:55 -0700)]
Merge pull request dotnet/coreclr#5209 from prajwal-aithal/devel/arm-ci-fix
ARM-CI: Mount Linux ARM emulator rootfs during each build
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfdb63b96c1361be281910847066c505d22ee5d3
Jarret Shook [Wed, 25 May 2016 22:46:46 +0000 (15:46 -0700)]
arm32 build fix.
Add an #else statement so that an unreachable return statement is not inserted.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae88d1daea78dd696391ac16c381963229f48ac4
Gaurav Khanna [Wed, 25 May 2016 22:42:20 +0000 (15:42 -0700)]
WinMD Adapter should only lookup mscorlib in WinMD references
Commit migrated from https://github.com/dotnet/coreclr/commit/
57c5bd38021e154e0949c204b759208541d56f39
Russ Keldorph [Wed, 25 May 2016 22:32:17 +0000 (15:32 -0700)]
Merge pull request dotnet/coreclr#5219 from ellismg/improve-corefx-copy-logic
Fix runtest.sh issues
Commit migrated from https://github.com/dotnet/coreclr/commit/
0473063987e041201dd0c3ef91f983d1f978b7ba
Sean Gillespie [Wed, 25 May 2016 22:20:45 +0000 (15:20 -0700)]
Increase the timeout of long GC tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac9238e28be14234cd0c64bf9e492fa34ce7a30f
Tarek Mahmoud Sayed [Wed, 25 May 2016 22:09:12 +0000 (15:09 -0700)]
Merge pull request dotnet/coreclr#5221 from tarekgh/UpgradeUnixBuildToUnicode8
Upgrade Linux build to use Unicode 8.0
Commit migrated from https://github.com/dotnet/coreclr/commit/
8eb31f2e602d699ce47e8dee2b5b81dce6bebba2
Aditya Mandaleeka [Wed, 25 May 2016 21:45:38 +0000 (14:45 -0700)]
Remove CORECLR_CONCURRENT_GC from Unix coreruncommon.
Commit migrated from https://github.com/dotnet/coreclr/commit/
18fb747a7bc519d874c85d36eccfe1aaf4f18ab6
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcda7c5bbd829b76319a99394186ae9a90df4b51
William Godbe [Wed, 25 May 2016 20:25:05 +0000 (13:25 -0700)]
Merge pull request dotnet/coreclr#5224 from wtgodbe/runtestFix
Add missing quote in new runtest.cmd arg
Commit migrated from https://github.com/dotnet/coreclr/commit/
619b60a1093536d469ee70ea4eac473e46fc59f1
wtgodbe [Wed, 25 May 2016 20:14:50 +0000 (13:14 -0700)]
Add missing quote in new runtest.cmd arg
Commit migrated from https://github.com/dotnet/coreclr/commit/
935accb4e58e51f583538d5377223dfafee53abe
Pat Gavlin [Tue, 24 May 2016 23:00:37 +0000 (16:00 -0700)]
Limit the exports of libclrjit.{so,dylib}.
Properly set the necessary linker options to limit libclrjit's exports
on *nix platforms. This change also includes some minor cleanup to the
JIT's various CMake list files.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ea0ad01345fccfbb7eb07da64f91cddb150b82c
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
38fa1f937d081f0f3ad423f83652fbc259823675
Aditya Mandaleeka [Wed, 25 May 2016 17:32:18 +0000 (10:32 -0700)]
Explicitly check CLRConfig value to determine whether concurrent GC was forced.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e15606ec53f2686d198a2edec9b6a8b9907c7ec8
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).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ce24072ac115753b1e726e311f73722b5d6a6b7
Michelle McDaniel [Wed, 25 May 2016 16:29:26 +0000 (09:29 -0700)]
Merge pull request dotnet/coreclr#5184 from adiaaida/x86LongCallImp
Enable FEATURE_MULTIREG_RET for x86 RyuJIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
d316b89adcb622f28b3ba85eddeff345b289c423
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c198453765fb25d72bcd9e568e642a40eeecbba
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6fb5ce9128b1a2d1b4d5b05cff4c011b98f2f5f7
Koundinya Veluri [Tue, 24 May 2016 21:16:57 +0000 (14:16 -0700)]
Fix shm directory creation for named mutexes
- Creating a directory involves mkdir and chmod. Due to this, there could be a race where one process running as one user creates the directory but does not update permissions for all uses to have access, and at that point another process tries to use the directory.
- Fixed by creating a temp directory using mkdtemp(), chmod to set appropriate permissions for all users, and rename the directory. This is only done when a global lock is not held during the directory creation operation (applies only to /tmp/.dotnet and /tmp/.dotnet/shm).
- Tested manually by adding sleeps at the race points with a second process running as a different user, to make sure it works in any order.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f668a73f4e8dbd819e1d59fe27f23aa6ce229232
Prajwal A N [Wed, 25 May 2016 14:22:57 +0000 (23:22 +0900)]
arm-softfp: make toolchain.cmake consistent among different arm archs (dotnet/coreclr#5210)
Fixes dotnet/coreclr#5177
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
046085a7bbc924739773576da20951efff194adb
Sergiy Kuryata [Wed, 25 May 2016 05:20:33 +0000 (22:20 -0700)]
Merge pull request dotnet/coreclr#5208 from sergiy-k/runtestoverlay
Update runtest.sh to accommodate a change in CoreFX
Commit migrated from https://github.com/dotnet/coreclr/commit/
e172a238e2400fd8b8d1b96678bacbc43a2d033b
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 dotnet/coreclr#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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
148abd190e7630865c925f1273693a7f97a384e8
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
a19e82fe9e7ae44136ce7eee5892de7471533d6b
Jonghyun Park [Wed, 25 May 2016 02:23:51 +0000 (11:23 +0900)]
[ARM/Linux] Fix incorrect return marshaling in PInvoke stub (dotnet/coreclr#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 dotnet/coreclr#5009.
This commit attempts to fix dotnet/coreclr#5009 via implementing 'compMethodReturnsMultiRegRetType'
for ARM.
* Uses compRetNativeType instead of compRetType
* Fix typo '_TARGET_ARM' as '_TARGET_ARM_'
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcc8495653c03b8ba4bb61fbd4828cac90789c4e
Manu [Wed, 25 May 2016 02:21:23 +0000 (11:21 +0900)]
Support the CORE_LIBRARIES environment variable on Unix (dotnet/coreclr#5112)
Mimic the Windows behavior by adding to the search path of native dlls
the content of the CORE_LIBRARIES environment variable.
Commit migrated from https://github.com/dotnet/coreclr/commit/
31031a3e21e6cbe227b99d9febcfaa554a8774d1
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) (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a22c755549f6c472af861d7b1eaef918db9a0041
Dmitri-Botcharnikov [Tue, 24 May 2016 21:59:24 +0000 (01:59 +0400)]
Improve vtbl matching loop in DacGetVtNameW. (dotnet/coreclr#5179)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bdd7edfa55ea2bdd922f4a94609fa15d674bed73
Jan Vorlicek [Tue, 24 May 2016 21:43:49 +0000 (23:43 +0200)]
Fix filter funclet handling during stack walk on Unix (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1cfb4f3b9a4df31d05317fb9052e6c210a4c7a95
Lubomir Litchev [Tue, 24 May 2016 21:26:27 +0000 (14:26 -0700)]
Merge pull request dotnet/coreclr#5153 from LLITCHEV/r2r_jitstress_jobs
Add R2R JitStress, JitStressRegs, JITMinOpts and ForceRelocs jobs to CI.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4376ab45f2dd969e840187e11053bda4fb58af8
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3cba5577d3151fb3dcbe98db22b2eb42280ced3
William Godbe [Tue, 24 May 2016 19:42:30 +0000 (12:42 -0700)]
Merge pull request dotnet/coreclr#5192 from wtgodbe/updatePublishedVersions
Add PowerShell script to update latest package version info in Versions repo
Commit migrated from https://github.com/dotnet/coreclr/commit/
62003155b53d50881dd2c353dd628376501ffa46
wtgodbe [Tue, 24 May 2016 19:13:18 +0000 (12:13 -0700)]
Add PowerShell script to update latest package version info in Versions repo
Commit migrated from https://github.com/dotnet/coreclr/commit/
33e975a39a7c9f84e30ec8f31a18b276547e450d
Aditya Mandaleeka [Tue, 24 May 2016 17:21:45 +0000 (10:21 -0700)]
Merge pull request dotnet/coreclr#5129 from leemgs/upstream-diff-time-of-unittest
Linux/ARM: Display execution time of ./tests/runtest.sh
Commit migrated from https://github.com/dotnet/coreclr/commit/
57f0280aca50c815994d8a842835d02cd0211674
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2cd2e6ffe06cf9776ff9a4aef8ca40dbd54ff360
William Godbe [Tue, 24 May 2016 17:07:33 +0000 (10:07 -0700)]
Merge pull request dotnet/coreclr#5171 from wtgodbe/syncFix
Update sync.cmd to download Azure Blobs. Also change publish.proj to ā¦
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5f8d0128a6bf91b8742908feab6de5c66cb6fb4
Russ Keldorph [Tue, 24 May 2016 15:09:22 +0000 (08:09 -0700)]
Merge pull request dotnet/coreclr#5180 from RussKeldorph/jit32va
Exclude varags tests for JIT32
Commit migrated from https://github.com/dotnet/coreclr/commit/
21755a3a0614b1b774e205f2e53ab45bd1e22bf1
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 dotnet/coreclr#5124. These were
missed because we don't have JIT32 testing on dotnet-ci.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac81aaf7317e5ce6840e8fbe3e5b911ab6e2c5e7
Koundinya Veluri [Tue, 24 May 2016 07:41:22 +0000 (00:41 -0700)]
Merge pull request dotnet/coreclr#5170 from kouvel/NamedMutexPalTestFix
Fix intermittent test failure in paltest_namedmutex_test1
Commit migrated from https://github.com/dotnet/coreclr/commit/
a90240d95e926721b5cb5a78e274a071928254a3
Kyungwoo Lee [Tue, 24 May 2016 05:02:34 +0000 (22:02 -0700)]
Merge pull request dotnet/coreclr#5173 from kyulee1/ilasmpack
ILAsm/ILDAsm Package
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8970fb9c58e5043a96243e320b26b32cc90721d
Kyungwoo Lee [Mon, 23 May 2016 22:33:23 +0000 (15:33 -0700)]
ILAsm/ILDAsm Package
Fixes dotnet/coreclr#5172
This has dependency on CoreCLR.
Use the same version 1.0.3 as CoreCLR.
Tested both packages are produced in Windows/Linux locally.
Commit migrated from https://github.com/dotnet/coreclr/commit/
877352fc1e5498f31f552300f07010a7377b1e88
Lubomir Litchev [Sat, 21 May 2016 21:23:11 +0000 (14:23 -0700)]
Add R2R JitStress, JitStressRegs, JITMinOpts and ForceRelocs jobs to CI.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a99abc5cf4b7df4d6a43f1793209d850b22b5c73
Jeremy Kuhne [Mon, 23 May 2016 23:48:28 +0000 (16:48 -0700)]
Merge pull request dotnet/coreclr#4884 from JeremyKuhne/JeremyKuhne-linuxhandles
Update file handle steps
Commit migrated from https://github.com/dotnet/coreclr/commit/
457b8fcaa67aac2f67bd7622c6503e2d7b230cb8
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f330fdcb0bfee6372584b28a098a14bc7803c5c
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
d75cfc2d6d51d17d8ae026968772627617bf7d9f
Jan Kotas [Mon, 23 May 2016 21:20:22 +0000 (14:20 -0700)]
Merge pull request dotnet/coreclr#5167 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd950a32a3d318f38ab3ac5e76b9c57b8587d6c9
Aditya Mandaleeka [Mon, 23 May 2016 20:49:35 +0000 (13:49 -0700)]
Merge pull request dotnet/coreclr#5042 from leemgs/upstream-display-clang-ver
Linux/ARM: display default clang version info at build-time
Commit migrated from https://github.com/dotnet/coreclr/commit/
058d43eacb67c8a8dae7c3dee119d764da43fd5a
Koundinya Veluri [Mon, 23 May 2016 20:34:27 +0000 (13:34 -0700)]
Fix intermittent test failure in paltest_namedmutex_test1
Fixes dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f60d720fce00189236fcf7f171b8aa5aece618d7
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 (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
37d2c7bed790af03173bb66aeff37796cb25eb66
Jan Kotas [Mon, 23 May 2016 16:37:25 +0000 (09:37 -0700)]
Add missing #ifdef FEATURE_ICASTABLE
[tfs-changeset: 1607333]
Commit migrated from https://github.com/dotnet/coreclr/commit/
438383fdfd517d98116dd7735bc7ba00d0957598
Kyungwoo Lee [Mon, 23 May 2016 14:29:58 +0000 (07:29 -0700)]
Merge pull request dotnet/coreclr#5145 from kyulee1/newtest2
ARM64: Test Binary Update (dotnet/coreclr@
afa7fe5486fc90fec7df52bd134b789c568c8b45)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2d24aa4e65c8de05c1d760c4be7e7537378f3ed
Jan Kotas [Mon, 23 May 2016 02:05:27 +0000 (19:05 -0700)]
Merge pull request dotnet/coreclr#5159 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0028224f8b1809115787da2a39a43f9e35543c1
Jan Kotas [Sun, 22 May 2016 23:49:18 +0000 (16:49 -0700)]
Merge pull request dotnet/coreclr#5146 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a6ef944df2f01e40d161b68219682ee939c7cf6
Jan Kotas [Sun, 22 May 2016 17:07:15 +0000 (10:07 -0700)]
Update tests to build against rc3-24117-00 (dotnet/coreclr#5154)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b72128b60a8ea7f5d37d9b6ac347ca0220e9f359
Andy Ayers [Sun, 22 May 2016 16:45:06 +0000 (09:45 -0700)]
Merge pull request dotnet/coreclr#5143 from AndyAyersMS/InlineXmlLock
Inliner: locks for xml read/write access
Commit migrated from https://github.com/dotnet/coreclr/commit/
e18a26099c1826c40c4b860e9316594f7e2a31b8
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]
Commit migrated from https://github.com/dotnet/coreclr/commit/
df10d7a58894cb052cd72bbb177c2eadd3530c36
Kyungwoo Lee [Sat, 21 May 2016 00:11:28 +0000 (17:11 -0700)]
ARM64: Test Binary Update (dotnet/coreclr@
afa7fe5486fc90fec7df52bd134b789c568c8b45)
- vararg tests are deleted.
- dll not found issues are addressed.
Total: 9740
EXPECTED_PASS: 9658(99.2%)
EXPECTED_FAIL: 82(0.8%)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a0d3b8809c77b1138a2dde544f53ad12353a583
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]
Commit migrated from https://github.com/dotnet/coreclr/commit/
3376767284fa7c86ca04a9498838ae6cbd21d9ae
Gaurav Khanna [Sat, 21 May 2016 00:06:11 +0000 (17:06 -0700)]
Remove InitializeDefaultContext from AssemblyLoadContext
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f47e971bcb0c95d4fd44b51e82888f100b77af8
Aditya Mandaleeka [Sat, 21 May 2016 00:04:33 +0000 (17:04 -0700)]
Merge pull request dotnet/coreclr#5136 from adityamandaleeka/xrtinit_fix
Change how InitAppXRT loads the XRT DLL
Commit migrated from https://github.com/dotnet/coreclr/commit/
60abbe3c88537d5c3c5544f36f432e7b5ba5c628
Gaurav Khanna [Sat, 21 May 2016 00:03:08 +0000 (17:03 -0700)]
Enable overriding of TPA assemblies
Commit migrated from https://github.com/dotnet/coreclr/commit/
efa0c0ee49e7a4d045adcbba2de0f38aa50ae2c5
Pat Gavlin [Sat, 21 May 2016 00:03:14 +0000 (17:03 -0700)]
Merge pull request dotnet/coreclr#4990 from pgavlin/gh4912
Remove some preprocessor usage from the JIT interface.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f581d33fb9d4bb95f1e83f636f07437500962054
John Chen [Fri, 20 May 2016 23:33:45 +0000 (16:33 -0700)]
Merge pull request dotnet/coreclr#5122 from JohnChen0/timeout
Resolve two issues that cause pri1r2r test timeout on Ubuntu
Commit migrated from https://github.com/dotnet/coreclr/commit/
af31341dfbd575fca460a96942fc4da51cef5f29
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
27484e2c82d8b3b98322e1d758b9caf312231c9c
Russ Keldorph [Fri, 20 May 2016 22:51:18 +0000 (15:51 -0700)]
Merge pull request dotnet/coreclr#5142 from RussKeldorph/delexcl
Remove ryujit_x86_no_fallback_issues.targets
Commit migrated from https://github.com/dotnet/coreclr/commit/
9fa7e7ffad864e33b0ef74ffb9e3b7737372dfc9
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6933d6f7c0f228df12dd8b2f5f34bdff7d9ba22
Sejong Oh [Fri, 20 May 2016 22:24:26 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#5114 from sejongoh/mark_jit_opt_sensitive
Add JitOptimizationSensitive property to GC/API/WeakReference/IsAliveā¦
Commit migrated from https://github.com/dotnet/coreclr/commit/
afa7fe5486fc90fec7df52bd134b789c568c8b45
Michelle McDaniel [Fri, 20 May 2016 21:54:24 +0000 (14:54 -0700)]
Merge pull request dotnet/coreclr#5133 from adiaaida/disableStringarr_cs_ro
Disable stringarr_cs_ro for x86 RyuJIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
060e7f07458194328e689e8609398c1d26209c19
Lee Culver [Fri, 20 May 2016 21:45:28 +0000 (14:45 -0700)]
Merge pull request dotnet/coreclr#5139 from leculver/shutdown
Prevent core dumps at shutdown due to ETW subsystem
Commit migrated from https://github.com/dotnet/coreclr/commit/
b91341d261cd8c03042b2c06cce949763b4ef4f9
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
01e1fd14531b830bf3632f097cdcce6fe2de2f33
Stephen Toub [Fri, 20 May 2016 20:50:38 +0000 (14:50 -0600)]
Shrink AsyncMethodBuilder.MoveNextRunner by a field in common case (dotnet/coreclr#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.)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce3ff76234bf199b4498a5d31f05af6eb43073f6
Gaurav Khanna [Fri, 20 May 2016 20:50:11 +0000 (13:50 -0700)]
Merge pull request dotnet/coreclr#5124 from gkhanna79/Fix4940
Throw InvalidProgramException when VarArgs are encountered
Commit migrated from https://github.com/dotnet/coreclr/commit/
18110e9a2ecf2f036953f398925ceef51375c2d9
Lee Culver [Fri, 20 May 2016 20:26:19 +0000 (13:26 -0700)]
Fix multiple LTTng issues (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
92c2f926bd5eceea22211609ca63e27ff6a2be96
Jan Kotas [Fri, 20 May 2016 20:18:49 +0000 (13:18 -0700)]
Expose GetUninitializedObject on RuntimeHelpers (dotnet/coreclr#5104)
* In coreclr, expose GetUninitializedObject on RuntimeHelpers
* Include RuntimeHelpers.GetUninitializedObject in model.xml
Commit migrated from https://github.com/dotnet/coreclr/commit/
f38ec53d628bc0ab157678864fbddf255ad6591b
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 dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ce37a46023f7242b8d71e5dc62376c7fbae4125
Pat Gavlin [Fri, 20 May 2016 19:57:58 +0000 (12:57 -0700)]
Merge pull request dotnet/coreclr#5123 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
e50420e0ceae9f62a874fdef6683092c8159f586
Koundinya Veluri [Fri, 20 May 2016 19:39:21 +0000 (12:39 -0700)]
Merge pull request dotnet/coreclr#5132 from kouvel/NamedMutexFix
Fix a few bugs in named mutexes
Commit migrated from https://github.com/dotnet/coreclr/commit/
8658b26db54d4b25b6d3c8b666d5239cfa10e575