Fadi Hanna [Tue, 31 May 2016 19:58:02 +0000 (12:58 -0700)]
Fix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION by ReadyToRunInfo::TryLookupTypeTokenFromName (#5296)
Russ Keldorph [Tue, 31 May 2016 19:47:07 +0000 (12:47 -0700)]
Merge pull request #5301 from RussKeldorph/try2
Second attempt to properly modify environment for stress test modes
AlexGhiondea [Tue, 31 May 2016 17:54:23 +0000 (10:54 -0700)]
Merge pull request #5189 from AlexGhiondea/buildPackage
Include the targeting pack in the build process.
Bruce Bowyer-Smyth [Tue, 31 May 2016 14:29:05 +0000 (00:29 +1000)]
Port String.IndexOf(char) and LastIndexOf(char) from CoreRT (#5327)
Petr Onderka [Tue, 31 May 2016 03:48:01 +0000 (05:48 +0200)]
Update Windows instructions (#5312)
* Small improvements to Windows instructions
* copy missing System.Private.CoreLib.dll
* syntax highlighting
* Use ref assemblies from CoreFX instead of NuGet
* Used AnyOS directories for CoreFX assemblies
Also use built facade assemblies.
AnyOS directories are safer, since they don't rely on tests to be built.
(Building main project usually creates just AnyOS, building test project creates the Windows_NT version.)
chunseoklee [Tue, 31 May 2016 03:46:12 +0000 (12:46 +0900)]
Update tryrun.cmake for arm-softfp (#5323)
Jonghyun Park [Tue, 31 May 2016 03:45:48 +0000 (12:45 +0900)]
Updates tryrun.cmake for ARM cross build (#5317)
Jonghyun Park [Tue, 31 May 2016 03:44:20 +0000 (12:44 +0900)]
Enable 'System.Private.CoreLib.dll' build on cross build mode (#5320)
Currently, build.sh uses 'BuildOS' and 'BuildArch' to determine whether
it is possible to build 'System.Private.CorLib.dll'.
This commit revises build.sh to use 'HostOS' and 'HostArch' instead of
'BuildOS' and 'BuildArch' when it checkes whether it is possible to
build 'System.Private.CoreLib.dll', which allows to build
'System.Private.CoreLib.dll' in cross build mode.
James Ko [Mon, 30 May 2016 17:36:10 +0000 (13:36 -0400)]
Fix: if errorlevel 0 is almost always true (#5308)
Explanation: if errorlevel n actually tests if the errorlevel is
greater than or equal to n. See: http://ss64.com/nt/if.html
Jan Kotas [Mon, 30 May 2016 17:33:47 +0000 (10:33 -0700)]
Merge pull request #5240 from wateret/mscorlib-arm-softfp
Support CoreLib build for arm-softfp
Jan Kotas [Mon, 30 May 2016 17:30:14 +0000 (10:30 -0700)]
Merge pull request #5087 from myungjoo/fix/4859/janvorli_suggestion
Fix/4859 Unit Test 143837 Fail
Peter Jas [Mon, 30 May 2016 09:54:02 +0000 (12:54 +0300)]
Fix ucol_setMaxVariable detection for Gentoo Linux (#5309)
The issue was the symbol is exported by the ICU lib. Including headers
was not enough. The linker requires the libraries to succeed.
With this fix, CoreCLR successfully builds on Gentoo Linux 100%.
Tested with LXC gentoo container on Ubuntu machine.
Steps to configure and build:
https://gist.github.com/jasonwilliams200OK/
1a2e2c0e904ffa95faf6333fcd88d9b8
Fix #5160
Jürgen Hötzel [Mon, 30 May 2016 09:45:49 +0000 (11:45 +0200)]
Don't use libstdc++ wrappers for stdlib.h (#5304)
This prevents #undef of min/max macros. Refs #5006.
MyungJoo Ham [Wed, 25 May 2016 10:06:50 +0000 (19:06 +0900)]
ARM: Remove workaround no more required
With recent concrete unwinding/exception handling routines
of coreclr-arm-linux, we no longer need this workaround.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
MyungJoo Ham [Thu, 19 May 2016 02:23:51 +0000 (11:23 +0900)]
ARM/THUMB PC Least Bit Set for Range Check
Fix #4859
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Russ Keldorph [Mon, 30 May 2016 06:34:08 +0000 (23:34 -0700)]
Merge pull request #5093 from wateret/fix-returnstruct-arm-softfp
Fix Assert Error "Unexpected size when returning struct by value" on …
Sergiy Kuryata [Sun, 29 May 2016 20:52:53 +0000 (13:52 -0700)]
Merge pull request #5307 from ellismg/fix-rhel-build
Fix RHEL 7 Build
Matt Ellis [Sun, 29 May 2016 06:33:20 +0000 (23:33 -0700)]
Fix RHEL 7 Build
There were two issues:
- $__BuildArch is not defined in init-tools.sh, so we would always
download the ubuntu version of the CLI, since our check for
`rhel.7.2-x64` would never fire.
- There was a small RHEL specific bug in BuildTools itself that
manifested when we actually were able to download the CLI and try to
restore the runtime.
Jose Perez Rodriguez [Sat, 28 May 2016 19:44:45 +0000 (12:44 -0700)]
Merge pull request #5290 from joperezr/AddingCommitHashToManagedLibraries
Adding commit hash to all built binaries.
John Chen [Sat, 28 May 2016 17:34:22 +0000 (10:34 -0700)]
Ensure Ready-to-Run module is activated in generics dictionary lookup (#5288)
Under certain conditions, a Ready-to-Run module is not yet fully
activated when its contents are used. This can cause asserts in
debug build. It can also cause module constructor to be run too late.
Matt Ellis [Sat, 28 May 2016 08:46:09 +0000 (01:46 -0700)]
Merge pull request #5299 from CarolEidt/FixArm64
Fix a build break due to PR #5101
Aditya Mandaleeka [Sat, 28 May 2016 05:52:36 +0000 (22:52 -0700)]
Merge pull request #5295 from adityamandaleeka/noexcept_nothrow_new
Add noexcept specifier to some non-throwing new operators
James Ko [Sat, 28 May 2016 05:49:35 +0000 (01:49 -0400)]
Remove the dnvm-based installation instructions from the docs (#5271)
* Replace DNX docs with a link to the official .NET website
* Group Get/Learn About .NET Core into one section
Rama krishnan Raghupathy [Sat, 28 May 2016 05:08:11 +0000 (22:08 -0700)]
Merge pull request #5236 from leemgs/upstream-buildtest.cmd-help-update
Documentation: Adding flag descriptions of unit test scripts
Russ Keldorph [Sat, 28 May 2016 03:44:21 +0000 (20:44 -0700)]
Second attempt to properly modify environment for stress test modes
My amateurish bash skills are showing. I forgot that you have to
source a script to modify the environment, though, to be fair, this
line was already here when I got here. :)
Mike McLaughlin [Sat, 28 May 2016 03:03:32 +0000 (20:03 -0700)]
Fix the named semaphore leak on OSX (and Linux) (#5269)
* Change the dbgshim launch handshake back.
The debugger side now creates the name semaphores like before and the transport pipe
existence determines that coreclr is ready.
Changed when the transport pipes are created: synchronously on the main thread.
Correctly set and check the HAVE_PROCFS_* defines.
* Code review feedback.
Hanjoung Lee [Thu, 12 May 2016 05:09:31 +0000 (14:09 +0900)]
Fix Assert Error "Unexpected size when returning struct by value" on arm-softfp
For only arm-softfp there is an assert error when returning struct as value.
Fixes #4924
Signed-off-by: Hanjoung Lee hanjoung.lee@samsung.com
Geunsik Lim [Sat, 28 May 2016 01:25:35 +0000 (10:25 +0900)]
Documentation: Adding flag descriptions of unit test scripts
Let's append the meaning of the 'priority' and 'gcstresslevel' flag.
The additional description of the 'priority' flag is derived from
./coreclr/tests/dir.props. And, that of the 'gcstresslevel' flag is
derived from ./coreclr/src/gc/sample/gcenv.h.
ver2:
Moved 'gcstresslevel' flag from ./tests/buildtest.cmd to ./tests/runtest.*.
ver1:
Added 'priority' and 'gcstresslevel' flag in ./tests/buildtest.cmd
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Carol Eidt [Sat, 28 May 2016 01:20:11 +0000 (18:20 -0700)]
Fix a build break due to PR #5101
The declaration, definition and uses of eeGetMethodFullName
didn't match.
Brian Sullivan [Sat, 28 May 2016 01:19:52 +0000 (18:19 -0700)]
Merge pull request #5263 from briansull/avoid-x8
Avoid using register x8 as it will be used as the RetBuf argument in the future
Pat Gavlin [Sat, 28 May 2016 01:01:04 +0000 (18:01 -0700)]
Merge pull request #5277 from pgavlin/gentree
Remove a redundant recursive call to `gtSetEvalOrder`.
Sergiy Kuryata [Sat, 28 May 2016 00:33:43 +0000 (17:33 -0700)]
Merge pull request #5257 from Priya91/failingtest
Disable failing test to enable corefx runs.
Rama krishnan Raghupathy [Fri, 27 May 2016 23:23:56 +0000 (16:23 -0700)]
Merge pull request #5261 from ramarag/gcstress
Refactoring the way GC Stress logic is used while running tests
Brian Sullivan [Thu, 26 May 2016 22:49:57 +0000 (15:49 -0700)]
Avoid using register x8 as it will be used as the RetBuf argument in the future
Placed usage of REG_SPILL_CHOICE under LEGACY_BACKEND and removed them for RyuJit only targets
Moved REG_R8 for ARM64 to later in the REG_VAR_ORDER
Change the definition of REG_PINVOKE_ registers to avoid using REG_R8
Change the definition of REG_TMP_0 and REG_TMP_1 to avoid using REG_R8
the REG_TMP defines are only used in one place: CodeGen::genEmitGSCookieCheck
Carol Eidt [Fri, 27 May 2016 22:35:27 +0000 (15:35 -0700)]
Merge pull request #5101 from CarolEidt/FixIssue2554
Use JitFuncInfoLogFile to check if SIMD intrinsics are recognized.
Fadi Hanna [Fri, 27 May 2016 22:25:33 +0000 (15:25 -0700)]
Excluding Weak-GCReferences tests from GC stress runs (#5289)
Jose Perez Rodriguez [Fri, 27 May 2016 21:24:57 +0000 (14:24 -0700)]
Adding commit hash to all built binaries.
Alex Ghiondea [Tue, 24 May 2016 17:59:37 +0000 (10:59 -0700)]
Introduce a central packages.builds file that controls building the nuget packages.
This removes the need to have individual packages added to the build scripts to generate them.
David Mason [Fri, 27 May 2016 20:15:32 +0000 (13:15 -0700)]
Merge pull request #5266 from vancem/EventSoruceComplexTypeFix
EventSource Events that use complex types do not get logged (silently…
Russ Keldorph [Fri, 27 May 2016 20:15:14 +0000 (13:15 -0700)]
Merge pull request #5279 from RussKeldorph/unix_stress
Fix environment settings for Unix JIT stress scenarios
Russ Keldorph [Fri, 27 May 2016 17:43:35 +0000 (10:43 -0700)]
Fix environment settings for Unix JIT stress scenarios
The environment settings necessary to run tests in these modes were being
dropped. They need to be tunneled through properly in a couple of places.
Fixes #5278
Jan Vorlicek [Fri, 27 May 2016 19:19:31 +0000 (21:19 +0200)]
Fix GCStress 0xC on Unix (#5276)
This change fixes GCStress 0xC on Unix that was not working due to the way that
we check that a specific IP is in managed code. To make that check safe,
a precondition checking that the thread is in cooperative GC mode was added
some time ago. But that causes a problem with the GCStress 0xC and PInvoke
stubs. The PInvoke stub switches to preemptive mode at some point and when
the code beyond that point is instrumented and the corresponding hardware
exception occurs, the exception address is not evaluated as being in managed
code and so the exception terminates the application.
This fix excludes the safety check of GC mode when we are running with GC stress
mode 8 or 4 (or both -> 0xc).
Matt Ellis [Fri, 27 May 2016 18:03:11 +0000 (11:03 -0700)]
Merge pull request #5225 from ellismg/add-additional-packages
Add Fedora, OpenSuse and Ubuntu 16.04 packages
Carol Eidt [Fri, 27 May 2016 17:45:45 +0000 (10:45 -0700)]
Merge pull request #5260 from CarolEidt/Fix5116
Recognize Vector<T> constructors for small ints
Carol Eidt [Tue, 17 May 2016 23:48:15 +0000 (16:48 -0700)]
Use JitFuncInfoLogFile to check if SIMD intrinsics are recognized.
Although COMPlus_JitFuncInfoLogFile was enabled as a "RETAIL" variable, it
was only opening the file (and not writing to it) in non-DEBUG.
In order to use it, we need to also enable eeGetMethodFullName in release,
which in turn requires type names.
Also, _wfsopen() is not supported in the PAL layer.
However, it appears to work fine without the sharing option, on both Windows
and Linux.
Add a utility class to use the log file to check whether a method has been compiled.
Use it to test that the SIMD intrinsics are not compiled when they are enabled.
Add dir.props to the SIMD test directory to set the COMPlus_JitFuncInfoLogFile
environment variable, and to delete the log file before each test.
Fix #2554
Pat Gavlin [Fri, 27 May 2016 17:43:09 +0000 (10:43 -0700)]
Remove another redundant call to gtSetEvalOrder.
The handling for GT_BOX exhibited the same pattern as that of GT_OBJ.
Mike McLaughlin [Fri, 27 May 2016 17:13:02 +0000 (10:13 -0700)]
Fix System.Diagnostics.StackTrace symbol issue (#5265)
* Fix System.Diagnostics.StackTrace symbol issue
* Code review feedback.
* Code review feedback.
Kyungwoo Lee [Fri, 27 May 2016 17:03:34 +0000 (10:03 -0700)]
Merge pull request #5249 from kyulee1/divzero
ARM64: Fix Liveness update for Division By Zero
Dmitri-Botcharnikov [Fri, 27 May 2016 16:53:10 +0000 (20:53 +0400)]
Fix sos ClrStack print of GC frames for ARM/Linux (#5178)
Fix issue #5037
Brian Sullivan [Fri, 27 May 2016 13:16:18 +0000 (06:16 -0700)]
Merge pull request #5270 from briansull/issue-5264
Proposed fix for #5264
Mike McLaughlin [Fri, 27 May 2016 08:48:12 +0000 (01:48 -0700)]
Fix debuggertests failures OSX. (#5267)
The change that triggered the failures was going to a separate JIT module with its own PAL. The reason is a problem in the OSX exception forwarding a single-step exception: to forward/chain an exception to the next PAL the exception we restore the registers at the point of the exception and retry the it. For all the hardware exceptions this is fine, but for single-step the register state is after the instruction has been stepped so when it is retried and chained to the next PAL another instruction is stepped so the debugger gets notified an instruction after where it wanted. Chaining the single-step exception on Linux doesn’t have this problem because we just basically “jump” to the next PAL/signal handler.
The fix is too only “hook” single-step/breakpoint exceptions in the coreclr module/PAL (yet another PAL_INITIALIZE flag) and not in the JIT module (or any other non-coreclr PALs).
chunseoklee [Fri, 27 May 2016 06:06:46 +0000 (15:06 +0900)]
Fix for clrstack after bpmd (#5051)
related issue : #4672 #5037
John Chen [Fri, 27 May 2016 05:31:43 +0000 (22:31 -0700)]
Merge pull request #5262 from JohnChen0/issue5201
Fix generic non-virtual method call in Ready-to-Run images
JohnChen0 [Thu, 26 May 2016 22:07:00 +0000 (15:07 -0700)]
Fix generic non-virtual method call in Ready-to-Run images
Issue #5201 revealed a bug in the Ready-to-Run implementation.
This bug can cause the runtime to dispatch a method call to the
wrong target when all the following conditions are met:
* A shared generic method in a Ready-to-Run module calls a method
in a shared generic class.
* The target is a non-virtual instance method, but is called through
callvirt instruction (as C# compiler normally does).
* The target is in a different module.
* The target method is defined in a base class, while the actual
object instance is of a derived class.
This commit fixes this bug by changing a virtual call to a regular
call when the target is non-virtual.
Kyungwoo Lee [Wed, 25 May 2016 15:38:59 +0000 (08:38 -0700)]
ARM64: Fix Liveness update for Division By Zero
We've missed updating liveness when converting division by zero to a
throw. This fixes an assertion failure in `assert(!varDsc->lvIsRegCandidate());` in
codegenarm64.cpp/L1903.
genConsumeOperands() is factored out of genCodeForBinary(). The call sites
appropriately invoke genConsumeOperands() to update liveness.
Jarret Shook [Fri, 27 May 2016 04:09:08 +0000 (21:09 -0700)]
Merge pull request #5238 from prajwal-aithal/devel/arm-ci-fix
ARM-CI: fixing umount bug
AlexGhiondea [Fri, 27 May 2016 02:27:26 +0000 (19:27 -0700)]
Merge pull request #5217 from AlexGhiondea/updateTargetingPack
Include System.Private.CoreLib in the targeting pack next to the mscorlib facade
Brian Sullivan [Fri, 27 May 2016 01:52:09 +0000 (18:52 -0700)]
Proposed fix for #5264
Matt Ellis [Wed, 25 May 2016 19:37:23 +0000 (12:37 -0700)]
Add Fedora, OpenSuse and Ubuntu 16.04 packages
- Add packages for Fedora 23 and OpenSuse 13.2
- Move the package authoring for Ubuntu into versioned folders
- Update our selection logic for what to produce to be based on an
actual RID instead of just a distro name, since that's now not enough
with us building for two Ubuntu versions
Vance Morrison [Fri, 27 May 2016 00:15:14 +0000 (17:15 -0700)]
EventSource Events that use complex types do not get logged (silently ignored)
When complex types were added to EventSource (in V4.6) there was a latent bug where if the event had specified keywords
the event would not be emitted to TraceEvent-style ETW controlers (e.g. PerfVIew). Basically there was confusion
between a session bitmask (where the bits were 0, 1, 2, and 3), and the ETW keywords bitmask (which the 'ToEventKeywords()
morphs them to a Keywords Bitmask.)
This bug has existed foa a while, but we are now using both of those features (keywords and complex types), in the
DiagnosticEventSource and when we started to really use it we found the problem.
You will see in lines 1221 and 1242 is another code path that was already fixed, but we missed the cose path at 1977 and 1998.
This needs to be back-ported to the Desktop framework as well.
Kyungwoo Lee [Fri, 27 May 2016 00:08:33 +0000 (17:08 -0700)]
Merge pull request #5256 from kyulee1/testupdate
ARM64: A few Test List Update
Aditya Mandaleeka [Fri, 27 May 2016 00:04:08 +0000 (17:04 -0700)]
Add noexcept to some non-throwing new overloads.
Rama Krishnan Raghupathy [Thu, 26 May 2016 18:37:18 +0000 (11:37 -0700)]
Fxing the case of COMPlus_GCStress
Removing Build dependency for GC Stress
Gaurav Khanna [Thu, 26 May 2016 23:48:35 +0000 (16:48 -0700)]
Merge pull request #5144 from gkhanna79/RelaxALC2
Enable overriding TPA assemblies
Pat Gavlin [Thu, 26 May 2016 23:03:34 +0000 (16:03 -0700)]
Remove a redundant recursive call to `gtSetEvalOrder`.
Carol Eidt [Thu, 26 May 2016 22:53:14 +0000 (15:53 -0700)]
Recognize Vector<T> constructors for small ints
Fix #5116
Andy Ayers [Thu, 26 May 2016 21:16:52 +0000 (14:16 -0700)]
Merge pull request #5239 from AndyAyersMS/TrackCallOffsets
Track call offsets
Lakshmi Priya Sekar [Thu, 26 May 2016 20:52:04 +0000 (13:52 -0700)]
Add fedora23 badges to Readme.
Lakshmi Priya Sekar [Thu, 26 May 2016 20:47:17 +0000 (13:47 -0700)]
Disable failing test to enable corefx runs.
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.
Gaurav Khanna [Thu, 26 May 2016 20:22:11 +0000 (13:22 -0700)]
Merge pull request #5230 from gkhanna79/FixWinMD
WinMD Adapter should only lookup mscorlib in WinMD references
Matt Mitchell [Thu, 26 May 2016 20:10:23 +0000 (13:10 -0700)]
Merge pull request #5252 from mmitche/skip-archiving-tests-for-stressmodes
Skip archiving windows test data
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)
Joel Hendrix [Thu, 26 May 2016 19:26:19 +0000 (12:26 -0700)]
Merge pull request #5203 from jhendrixMSFT/master
Add retry logic when downloading the CLI from Azure blob storage.
Lubomir Litchev [Thu, 26 May 2016 18:14:52 +0000 (11:14 -0700)]
Merge pull request #5235 from LLITCHEV/r2r-jitstress-only-checked
Don't do r2r-jitstress jobs for non Checked configurations.
Brian Sullivan [Thu, 26 May 2016 17:33:59 +0000 (10:33 -0700)]
Merge pull request #5196 from briansull/arm64-hfa-args
ARM64: ABI - Passing HFA struct arguments in floating point registers
Koundinya Veluri [Thu, 26 May 2016 17:11:49 +0000 (10:11 -0700)]
Merge pull request #5206 from kouvel/ShmCreateDirectoryFix
Fix shm directory creation for named mutexes
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).
Lubomir Litchev [Thu, 26 May 2016 03:27:50 +0000 (20:27 -0700)]
Don't do r2r-jitstress jobs for non Checked configurations.
Jarret Shook [Thu, 26 May 2016 15:24:41 +0000 (08:24 -0700)]
Merge pull request #5231 from jashook/build_fix
arm32 build fix.
Hanjoung Lee [Thu, 26 May 2016 10:12:47 +0000 (19:12 +0900)]
Support CoreLib build for arm-softfp
`arm-softfp` CoreLib is same as `arm` version.
Geunsik Lim [Thu, 26 May 2016 08:22:19 +0000 (17:22 +0900)]
Typo Fix: from preemtive GC to preemptive GC (#5237)
This is just to fix typo.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
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" (#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/
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 #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>
Sean Gillespie [Thu, 26 May 2016 05:29:42 +0000 (22:29 -0700)]
Merge pull request #5227 from swgillespie/timeout-increase
Increase the timeout of long GC tests
Prajwal A N [Thu, 26 May 2016 05:21:18 +0000 (14:21 +0900)]
ARM-CI: fixing umount bug
* Previous PR #5209 did not check if rootfs is mounted before unmounting
* Build fails due to failed command
* Fixing this by unmounting only if rootfs is already mounted
Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
Brian Sullivan [Tue, 24 May 2016 21:03:49 +0000 (14:03 -0700)]
Enable HFA support for passing arguments on ARM64
Fixes #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
Pat Gavlin [Thu, 26 May 2016 03:17:38 +0000 (20:17 -0700)]
Merge pull request #5207 from pgavlin/gh5202
Limit the exports of libclrjit.{so,dylib}.
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 [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.
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.
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.
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
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.
Gaurav Khanna [Wed, 25 May 2016 22:42:20 +0000 (15:42 -0700)]
WinMD Adapter should only lookup mscorlib in WinMD references
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
Sean Gillespie [Wed, 25 May 2016 22:20:45 +0000 (15:20 -0700)]
Increase the timeout of long GC tests
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.