platform/upstream/coreclr.git
8 years agoMerge pull request #6348 from hseok-oh/softfp_rootfs
Aditya Mandaleeka [Wed, 20 Jul 2016 21:24:02 +0000 (14:24 -0700)]
Merge pull request #6348 from hseok-oh/softfp_rootfs

Fix to ignore codename for arm-softfp

8 years agoMerge pull request #6323 from wtgodbe/updatePackages
William Godbe [Wed, 20 Jul 2016 19:01:10 +0000 (12:01 -0700)]
Merge pull request #6323 from wtgodbe/updatePackages

Enable automatic updating of package versions in test project.json files

8 years agoEnable automatic updating of package versions in test project.json files
wtgodbe [Mon, 18 Jul 2016 22:25:04 +0000 (15:25 -0700)]
Enable automatic updating of package versions in test project.json files

8 years agoMerge pull request #6360 from mmitche/fix-regex
Matt Mitchell [Wed, 20 Jul 2016 18:43:52 +0000 (11:43 -0700)]
Merge pull request #6360 from mmitche/fix-regex

Incorrect quoting around regex string

8 years agoIncorrect quoting around regex string
Matt Mitchell [Wed, 20 Jul 2016 18:43:07 +0000 (11:43 -0700)]
Incorrect quoting around regex string
Strings requiring inline replacement need double quotes

8 years agoMerge pull request #6340 from wtgodbe/tPack
William Godbe [Wed, 20 Jul 2016 17:24:24 +0000 (10:24 -0700)]
Merge pull request #6340 from wtgodbe/tPack

Stop building targetingPack package on non-windows

8 years agoMerge pull request #6346 from dotnet-bot/UpdateDependencies20160720052232
Gaurav Khanna [Wed, 20 Jul 2016 17:04:17 +0000 (10:04 -0700)]
Merge pull request #6346 from dotnet-bot/UpdateDependencies20160720052232

Updating External dependencies to beta-24320-00

8 years agoMerge pull request #6354 from dotnet/revert-6344-UndoNetCIChange
Matt Mitchell [Wed, 20 Jul 2016 16:59:40 +0000 (09:59 -0700)]
Merge pull request #6354 from dotnet/revert-6344-UndoNetCIChange

Revert "Revert: Pull crash dump links"

8 years agoRevert "Revert: Pull crash dump links"
Matt Mitchell [Wed, 20 Jul 2016 16:01:04 +0000 (09:01 -0700)]
Revert "Revert: Pull crash dump links"

8 years agoMake PAL_SEHException smaller (#6267)
Jan Vorlicek [Wed, 20 Jul 2016 12:21:08 +0000 (14:21 +0200)]
Make PAL_SEHException smaller (#6267)

The PAL_SEHException is quite large due to the fact that it contains context
and exception records. This causes a problem when we try to throw it and
system gets out of memory. The C++ runtime can throw exceptions even in that
case, but only if they are smaller than certain threshold. So in our case,
it just aborts the process.

This change separates the context and exception records from the exception,
which ensures that the above mentioned mechanism in the C++ runtime can
kick in and the exception can be thrown even when malloc fails to allocate
it.

I have also modified HandleHardwareException to return BOOL indicating whether
the execution should continue at the possibly modified exception context
instead of using RtlRestoreContext. In that case, we return all the way back
to the signal handler, update the ucontext in there and return from it.

8 years agoFix if statement to ignore Ubuntu codename if BuildArch is arm-softfp
Hyeongseok Oh [Wed, 20 Jul 2016 09:35:08 +0000 (18:35 +0900)]
Fix if statement to ignore Ubuntu codename if BuildArch is arm-softfp

8 years agoFix mistyped instruction in linux-instructions.md (#6332)
Hanjoung Lee [Wed, 20 Jul 2016 07:45:09 +0000 (16:45 +0900)]
Fix mistyped instruction in linux-instructions.md (#6332)

8 years agoFix for CoreCLR 6269 - Trigger formal binding if domain-wide cache does not have...
Gaurav Khanna [Wed, 20 Jul 2016 06:49:45 +0000 (23:49 -0700)]
Fix for CoreCLR 6269 - Trigger formal binding if domain-wide cache does not have entry for an assembly in custom load context. (#6335)

8 years agoMerge pull request #6337 from AndyAyersMS/CountObservations
Andy Ayers [Wed, 20 Jul 2016 06:31:51 +0000 (23:31 -0700)]
Merge pull request #6337 from AndyAyersMS/CountObservations

Inliner: improve arg observations

8 years agoMerge pull request #6338 from swgillespie/revert-weakreference-tests
Sean Gillespie [Wed, 20 Jul 2016 05:46:46 +0000 (22:46 -0700)]
Merge pull request #6338 from swgillespie/revert-weakreference-tests

Re-enable two tests testing GC.GetGeneration(System.WeakReference)

8 years agoUpdating External dependencies to beta-24320-00
dotnet-bot [Wed, 20 Jul 2016 05:22:32 +0000 (05:22 +0000)]
Updating External dependencies to beta-24320-00

8 years agoMerge pull request #6344 from AndyAyersMS/UndoNetCIChange
Andy Ayers [Wed, 20 Jul 2016 03:54:30 +0000 (20:54 -0700)]
Merge pull request #6344 from AndyAyersMS/UndoNetCIChange

Revert: Pull crash dump links

8 years agoRevert: Pull crash dump links
Andy Ayers [Wed, 20 Jul 2016 01:52:39 +0000 (18:52 -0700)]
Revert: Pull crash dump links

Ubuntu testing is failing with a groovy scripting error.
Matt asked me to revert this change for now.

This reverts commit 7fc5cb7e52c5db53a5696d398e281c0f6f6a1588.

8 years agoRemove duplicate code from string.GetHashCode (#4696)
James Ko [Wed, 20 Jul 2016 00:18:06 +0000 (20:18 -0400)]
Remove duplicate code from string.GetHashCode (#4696)

8 years agoImprove performance, drastically reduce misfires for new string(char*) on 64-bit...
James Ko [Wed, 20 Jul 2016 00:13:55 +0000 (20:13 -0400)]
Improve performance, drastically reduce misfires for new string(char*) on 64-bit (#6125)

8 years agoBetter performance for string.CompareOrdinalHelper (#6119)
James Ko [Wed, 20 Jul 2016 00:06:01 +0000 (20:06 -0400)]
Better performance for string.CompareOrdinalHelper (#6119)

- For 64-bit, process a `long` at a time (and 3 longs per iteration of the loop), since it's the largest word size of the processor. This is what other functions, like `EqualsHelper` or `StartsWithOrdinalHelper` do.

- Make sure we perform aligned reads on 64-bit platforms

  - Strings (objects in general?) are allocated on an aligned word boundary (that is, divisible by 4/8). However, the offset to the chars (`OffsetToStringData`) is 12 on 64-bit platforms, meaning that if we read a long from the first char it will *not* be aligned. To fix this, first check for differences in the first/second chars and start the loop from there.

- Used `goto` within the loop code, so we don't have to keep making jumps in the common case.

I also removed a comment above the `String` class that seems to be outdated (seeing as there is no string constructor that accepts another string).

8 years agoMerge pull request #6293 from kyulee1/altjit
Kyungwoo Lee [Tue, 19 Jul 2016 23:37:18 +0000 (16:37 -0700)]
Merge pull request #6293 from kyulee1/altjit

ARM64: Cross-Target Jit

8 years agoStop building targetingPack package on non-windows
wtgodbe [Tue, 19 Jul 2016 22:30:26 +0000 (15:30 -0700)]
Stop building targetingPack package on non-windows

8 years agoRe-enable two tests testing GC.GetGeneration(System.WeakReference) that has now been...
Sean Gillespie [Tue, 19 Jul 2016 21:48:07 +0000 (14:48 -0700)]
Re-enable two tests testing GC.GetGeneration(System.WeakReference) that has now been exposed

8 years agoInliner: improve arg observations
Andy Ayers [Tue, 19 Jul 2016 07:27:13 +0000 (00:27 -0700)]
Inliner: improve arg observations

Two related changes to better capture cases where args or constant args
are seen at inline call sites.

On the observation side, the inliner's stack modelling of the callee is
crude and will often overestimate the evaluation stack depth. So when
looking at an opcode that takes just one stack operand (eg BRFALSE) the
inliner's check should be whether the stack has at least one element
instead of checking whether the stack has exactly one element. For
compatibility reasons, the check for exactly one element is still used
when the inline is evaluated via the LegacyPolicy.

On the policy side, instead of keeping a bool flag to note that there
were interesting arg cases, count the number of observations.
LegacyPolicy continues to act as before, checking if count is zero or
nonzero instead of whether the flag was false or true. The count is
available for use in other heuristics and is reported in inline data.

8 years agoMerge pull request #6336 from mmitche/crash-dump-links
Matt Mitchell [Tue, 19 Jul 2016 20:52:41 +0000 (13:52 -0700)]
Merge pull request #6336 from mmitche/crash-dump-links

Pull crash dump links

8 years agoPull crash dump links
Matt Mitchell [Tue, 19 Jul 2016 20:45:42 +0000 (13:45 -0700)]
Pull crash dump links
Pulls crash dump links from dumplings.txt in the workspace into the build report

8 years agoMake coreclr buildable on 32bit Windows 10. (#6316)
Jim Ma [Tue, 19 Jul 2016 17:21:01 +0000 (01:21 +0800)]
Make coreclr buildable on 32bit Windows 10. (#6316)

Automatically determine the OS architecture(x86 or x64) and download the
correct dev tool.

Fix #6308

8 years agoMerge pull request #6331 from dotnet-bot/UpdateDependencies20160719051717
Gaurav Khanna [Tue, 19 Jul 2016 16:14:00 +0000 (09:14 -0700)]
Merge pull request #6331 from dotnet-bot/UpdateDependencies20160719051717

Updating External dependencies to beta-24319-00

8 years agoFix self-process identification for FreeBSD (#6314)
Jostein Kjønigsen [Tue, 19 Jul 2016 13:00:25 +0000 (15:00 +0200)]
Fix self-process identification for FreeBSD (#6314)

FreeBSD does not come with procfs enabled by default, and should use
sysctl() for this purpose.

While it has similarities with NetBSD's implementation, there are a
few subtle differences, which justifies leaving this implementation
under its own guard.

It's also worth noting that on FreeBSD sysctl.h MUST be present, which
is unlike NetBSD. Therefore the HAVE_SYS_SYSCTL_H define is not
checked for or used.

This commit fixes https://github.com/dotnet/coreclr/issues/6184.

This commit is based on the following commit from core-setup:
https://github.com/dotnet/core-setup/commit/d5ce08014a174b006a3b409b8bb93d003ae583a0

8 years agoMerge pull request #6227 from parjong/revert-6021-LessConservativeGtObj
Carol Eidt [Tue, 19 Jul 2016 05:31:02 +0000 (22:31 -0700)]
Merge pull request #6227 from parjong/revert-6021-LessConservativeGtObj

Revert "Less conservative gt obj"

8 years agoUpdating External dependencies to beta-24319-00
dotnet-bot [Tue, 19 Jul 2016 05:17:17 +0000 (05:17 +0000)]
Updating External dependencies to beta-24319-00

8 years agoMerge pull request #6324 from AndyAyersMS/ReplayCapturesProfitModel
Andy Ayers [Tue, 19 Jul 2016 03:13:21 +0000 (20:13 -0700)]
Merge pull request #6324 from AndyAyersMS/ReplayCapturesProfitModel

Inliner: capture profit model estimate during replay

8 years agoMerge pull request #6322 from wtgodbe/packageFixes
William Godbe [Mon, 18 Jul 2016 22:40:16 +0000 (15:40 -0700)]
Merge pull request #6322 from wtgodbe/packageFixes

Fix package build in build-packages.sh to use dotnet instead of corerun

8 years agoFix package build in build-packages.sh to use dotnet instead of corerun
wtgodbe [Mon, 18 Jul 2016 21:49:30 +0000 (14:49 -0700)]
Fix package build in build-packages.sh to use dotnet instead of corerun

8 years agoFix libc path for macOS El Capitan (#6302)
Peter Jas [Mon, 18 Jul 2016 21:13:24 +0000 (00:13 +0300)]
Fix libc path for macOS El Capitan (#6302)

8 years agoAdd to model.xml several members we wish to expose in the FX (#6310)
Dan Moseley [Mon, 18 Jul 2016 20:42:18 +0000 (13:42 -0700)]
Add to model.xml several members we wish to expose in the FX (#6310)

* Add to model.xml several members we wish to expose in the FX.
Done by pulling lines selectively from a model.xml created from the full
s.p.corelib.dll.

* Add parameter to build.cmd to build both mscorlib and its native image, then stop. Also dump any errors to console for CI.
* Fix up to date check of BCLRewriter: should build when model.xml is changed

8 years agoAdd Lazy<T>(T value) constructor (#6304)
Peter Jas [Mon, 18 Jul 2016 19:03:29 +0000 (22:03 +0300)]
Add Lazy<T>(T value) constructor (#6304)

Fix dotnet/corefx#2578

8 years agoMerge pull request #6315 from kyulee1/disemail
Kyungwoo Lee [Mon, 18 Jul 2016 15:49:37 +0000 (08:49 -0700)]
Merge pull request #6315 from kyulee1/disemail

ARM64: Temporarrily disable email notification

8 years agoARM64: Temporarrily disable email notification
Kyungwoo Lee [Mon, 18 Jul 2016 15:46:45 +0000 (08:46 -0700)]
ARM64: Temporarrily disable email notification

Currently all Arm64 boxes are dead.
They need to be upgraded.

8 years agoProvide guidance for common build-failure scenario. (#6164)
Jostein Kjønigsen [Mon, 18 Jul 2016 06:23:25 +0000 (08:23 +0200)]
Provide guidance for common build-failure scenario. (#6164)

8 years agoAdd ICloneable back to several globalization types on Unix (#6307)
Stephen Toub [Mon, 18 Jul 2016 05:44:15 +0000 (01:44 -0400)]
Add ICloneable back to several globalization types on Unix (#6307)

The globalization implementation used for corefx on Unix came from corert, which didn't have ICloneable, and thus the globalization types that implement ICloneable in desktop and coreclr on Windows don't on Unix.  Now that ICloneable is coming back, we need these types to implement ICloneable appropriately.

8 years agoMinimize buffer allocations in Stream.CopyTo for seekable streams (#4540)
James Ko [Mon, 18 Jul 2016 05:18:26 +0000 (01:18 -0400)]
Minimize buffer allocations in Stream.CopyTo for seekable streams (#4540)

The current implementation of  Stream.CopyTo  allocates a giant, 81920-byte buffer if no  bufferSize  parameter is passed. This is incredibly wasteful if the stream we're copying from can seek, because then we can use the  Length  and  Position  properties to determine how many bytes are left and allocate a buffer of that size.

8 years agoRevert "Less conservative gt obj"
Jonghyun Park [Tue, 12 Jul 2016 02:03:35 +0000 (11:03 +0900)]
Revert "Less conservative gt obj"

8 years agoGC update from CoreRT (#6305)
Jan Kotas [Sun, 17 Jul 2016 07:24:32 +0000 (09:24 +0200)]
GC update from CoreRT (#6305)

https://github.com/dotnet/corert/tree/master/src/Native/gc bc9671edca37502794c01647215519d4254d3ad4

8 years agoMerge pull request #6299 from mairaw/patch-1
Aditya Mandaleeka [Fri, 15 Jul 2016 22:16:31 +0000 (15:16 -0700)]
Merge pull request #6299 from mairaw/patch-1

fix small typos on contributing guide

8 years agofix small typos
Maira Wenzel [Fri, 15 Jul 2016 21:50:54 +0000 (14:50 -0700)]
fix small typos

8 years agoMerge pull request #6296 from swgillespie/vscode-gitignore
Sean Gillespie [Fri, 15 Jul 2016 21:15:29 +0000 (14:15 -0700)]
Merge pull request #6296 from swgillespie/vscode-gitignore

Add VS Code local settings folder to gitignore

8 years agoInliner: capture profit model estimate during replay
Andy Ayers [Fri, 15 Jul 2016 20:06:44 +0000 (13:06 -0700)]
Inliner: capture profit model estimate during replay

When using ReplayPolicy and dumping data, capture the profitability
estimate made by the ModelPolicy, so we can more easily cross-validate
it against externally measured profitability.

8 years agoMerge pull request #6295 from wtgodbe/initToolsFix
William Godbe [Fri, 15 Jul 2016 19:50:58 +0000 (12:50 -0700)]
Merge pull request #6295 from wtgodbe/initToolsFix

Stop chmoding nonexistant corerun file in Tools dir

8 years agoAdd VS Code local settings folder to gitignore
Sean Gillespie [Fri, 15 Jul 2016 19:00:17 +0000 (12:00 -0700)]
Add VS Code local settings folder to gitignore

8 years agoStop chmoding nonexistant corerun file in Tools dir
wtgodbe [Fri, 15 Jul 2016 18:10:49 +0000 (11:10 -0700)]
Stop chmoding nonexistant corerun file in Tools dir

8 years agoMerge pull request #6037 from sejongoh/linux_struct_arg
Sejong Oh [Fri, 15 Jul 2016 17:46:42 +0000 (10:46 -0700)]
Merge pull request #6037 from sejongoh/linux_struct_arg

Unecessary Linux stack argument copy

8 years agoMerge pull request #6249 from prajwal-aithal/devel/arm-ci-documentation
Jarret Shook [Fri, 15 Jul 2016 16:58:33 +0000 (09:58 -0700)]
Merge pull request #6249 from prajwal-aithal/devel/arm-ci-documentation

Documentation: Add documentation for building coreclr for emulator

8 years agoARM64: Cross-Target Jit
Kyungwoo Lee [Thu, 7 Jul 2016 21:42:44 +0000 (14:42 -0700)]
ARM64: Cross-Target Jit

Fixes https://github.com/dotnet/coreclr/issues/6279
Fixes https://github.com/dotnet/coreclr/issues/6280

- This builds x64_arm64 clrjit.dll
- crossgen is not statically linked to jit anymore. It needs clrjit.dll
  dynamically
- Adding this cross-component binary into Jit pacakge.

So, clrjit.dll (native-target) is consumed by coreclr or crossgen
(native-target)
clrjit.dll (cross-target) is consumed by crossgen (cross-target).
Likewise, later this cross-target clrjit.dll can be used for corert targeting arm64
so that we can generate arm64 code on host machine (x64).

8 years agoMerge pull request #6287 from MichalStrehovsky/removeAssertOnMustExpand
Michal Strehovský [Fri, 15 Jul 2016 06:11:27 +0000 (23:11 -0700)]
Merge pull request #6287 from MichalStrehovsky/removeAssertOnMustExpand

Remove assert validating intrinsic expansion on mustExpand

8 years agoMerge pull request #6050 from prajwal-aithal/devel/arm-ci-runtests
Jarret Shook [Thu, 14 Jul 2016 22:58:09 +0000 (15:58 -0700)]
Merge pull request #6050 from prajwal-aithal/devel/arm-ci-runtests

ARM-CI: Add tests to CI script

8 years agoRemove assert validating intrinsic expansion on mustExpand
Michal Strehovský [Thu, 14 Jul 2016 22:26:20 +0000 (15:26 -0700)]
Remove assert validating intrinsic expansion on mustExpand

The assert is incorrect. Consider expansion of
CORINFO_INTRINSIC_RTH_GetValueInternal, where the RuntimeTypeHandle was
created through a generic lookup helper call. The intrinsic expansion of
this sequence becomes the generic lookup helper call on it's own.

8 years agoRemove unnecessary copies for stack struct argument except:
Sejong OH [Mon, 11 Jul 2016 20:44:09 +0000 (13:44 -0700)]
Remove unnecessary copies for stack struct argument except:

  - struct is promoted to registers
  - fgMakeOutgoingStructArgCopy is called
  - tree pattern of obj - addr - simd operator

    *  call      void   foo
    ...
    +--*  obj       simd16
    |  \--*  addr      byref
    |     |  /--*  lclVar    simd16 V05 loc4
    |     \--*  simd      simd16 int -
    |        \--*  lclVar    simd16 V08 tmp1
    ...

8 years agoMerge pull request #6256 from wtgodbe/buildToolsVersion
William Godbe [Thu, 14 Jul 2016 20:20:44 +0000 (13:20 -0700)]
Merge pull request #6256 from wtgodbe/buildToolsVersion

Update to latest version of buildtools

8 years agoUpdate to latest version of buildtools
wtgodbe [Wed, 13 Jul 2016 17:29:43 +0000 (10:29 -0700)]
Update to latest version of buildtools

8 years agoMerge pull request #6276 from BruceForstall/LocAllocCleanup
Bruce Forstall [Thu, 14 Jul 2016 18:39:48 +0000 (11:39 -0700)]
Merge pull request #6276 from BruceForstall/LocAllocCleanup

Clean up localloc implementation

8 years agoClean up localloc implementation; improve AMD64 codegen for initialized locallocs
Bruce Forstall [Wed, 13 Jul 2016 23:00:35 +0000 (16:00 -0700)]
Clean up localloc implementation; improve AMD64 codegen for initialized locallocs

8 years agoMerge pull request #6274 from hqueue/arm/xor_swap
Brian Sullivan [Thu, 14 Jul 2016 14:14:50 +0000 (07:14 -0700)]
Merge pull request #6274 from hqueue/arm/xor_swap

Introduce XOR swap to legacy codegen for ARM32

8 years agoIntroduce XOR swap to legacy codegen for ARM32
Hyung-Kyu Choi [Thu, 14 Jul 2016 07:23:57 +0000 (16:23 +0900)]
Introduce XOR swap to legacy codegen for ARM32

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
8 years agodocs: Add building coreclr for emulator
Prajwal A N [Wed, 13 Jul 2016 04:12:12 +0000 (13:12 +0900)]
docs: Add building coreclr for emulator

Added documentation for building coreclr for the Linux ARM Emulator.

Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
8 years agoMerge pull request #6263 from stephentoub/remove_serializable
Stephen Toub [Thu, 14 Jul 2016 02:50:23 +0000 (22:50 -0400)]
Merge pull request #6263 from stephentoub/remove_serializable

Add #if FEATURE_SERIALIZATION around customized [Serializable]s

8 years agoMerge pull request #6257 from rahku/crossgen
Rahul Kumar [Thu, 14 Jul 2016 02:26:40 +0000 (19:26 -0700)]
Merge pull request #6257 from rahku/crossgen

ARM64:Similar to arm, in order to preserve volatile semantics MemoryB…

8 years agoMake StubHelpers::ProcessByrefValidationList NOTHROW (#6258)
Jan Vorlicek [Wed, 13 Jul 2016 22:54:42 +0000 (00:54 +0200)]
Make StubHelpers::ProcessByrefValidationList NOTHROW (#6258)

This change fixes StubHelpers::ProcessByrefValidationList so that it doesn't throw.
While there was a EX_TRY / EX_CATCH, the catch handler calls FormatValidationMessage
to format the message before aborting the process and that function can throw.

The fix is to wrap the inside of the EX_CATCH in one more EX_TRY / EX_CATCH and
abort the process without message if there is an exception in the FormatValidationMessage.

8 years agoMerge pull request #6205 from stephentoub/environmentaugments
Stephen Toub [Wed, 13 Jul 2016 22:51:38 +0000 (18:51 -0400)]
Merge pull request #6205 from stephentoub/environmentaugments

Add EnvironmentAugments to coreclr

8 years agoMerge pull request #6182 from wateret/fix-6051
Carol Eidt [Wed, 13 Jul 2016 22:44:44 +0000 (15:44 -0700)]
Merge pull request #6182 from wateret/fix-6051

[ARM-softfp/Linux] Get precise type for struct

8 years agoAdd #if FEATURE_SERIALIZATION around non-functional [Serializable]
Stephen Toub [Wed, 13 Jul 2016 22:43:45 +0000 (18:43 -0400)]
Add #if FEATURE_SERIALIZATION around non-functional [Serializable]

We're adding BinaryFormatter to corefx.  At present, ISerializable and friends are declared in corefx rather than being exported from System.Private.Corelib.  As a result, there are a fair number of types in mscorlib that try to customize their serialization, but because they're doing so using interfaces that aren't exported (and in some cases, aren't even currently compiled in), a formatter outside of Corelib sees a type as serializable but then tries to serialize it using the default rules and fails.

This commit ifdefs the [Serializable] attribute on types that try to customize their serialization.  If in the future we decide we want to expose ISerializable and friends from Corelib in order to enable the serialization of these types (which we'll likely want to), e.g Delegate, Exception, etc. we'll need to turn on FEATURE_SERIALIZATION for coreclr, and these will all come back automatically.

8 years agoMerge pull request #6255 from wtgodbe/targetingpack
William Godbe [Wed, 13 Jul 2016 22:14:26 +0000 (15:14 -0700)]
Merge pull request #6255 from wtgodbe/targetingpack

Build the TargetingPack package as part of build-packages scripts

8 years agoMerge pull request #6254 from pgavlin/RemoveRenameUpdatedVars
Pat Gavlin [Wed, 13 Jul 2016 22:11:13 +0000 (15:11 -0700)]
Merge pull request #6254 from pgavlin/RemoveRenameUpdatedVars

Remove RenameUpdatedVars.

8 years agoConditionally compile EnvironmentAugments.cs for coreclr
Stephen Toub [Wed, 13 Jul 2016 20:51:54 +0000 (16:51 -0400)]
Conditionally compile EnvironmentAugments.cs for coreclr

8 years agoAdd EnvironmentAugments to coreclr
Stephen Toub [Sat, 9 Jul 2016 21:46:12 +0000 (17:46 -0400)]
Add EnvironmentAugments to coreclr

8 years agoMerge pull request #6251 from BruceForstall/Localloc
Bruce Forstall [Wed, 13 Jul 2016 20:30:33 +0000 (13:30 -0700)]
Merge pull request #6251 from BruceForstall/Localloc

Implement localloc for RyuJIT/x86

8 years agoImplement localloc for RyuJIT/x86
Bruce Forstall [Tue, 12 Jul 2016 23:38:17 +0000 (16:38 -0700)]
Implement localloc for RyuJIT/x86

Fixes #4182

Change RyuJIT to generate localloc code for x86 the same way legacy JIT does.
E.g., use a push/dec loop for initialized memory. And avoid using "sub esp"
to keep the emitter from tracking stack pointer adjustments.

8 years agoMerge pull request #6224 from BruceForstall/Fix4177
Bruce Forstall [Wed, 13 Jul 2016 20:15:02 +0000 (13:15 -0700)]
Merge pull request #6224 from BruceForstall/Fix4177

Fix #4177: RyuJIT/x86 NYI related to lvaArgType()

8 years agoFix #4177: RyuJIT/x86 NYI related to lvaArgType()
Bruce Forstall [Mon, 11 Jul 2016 23:44:41 +0000 (16:44 -0700)]
Fix #4177: RyuJIT/x86 NYI related to lvaArgType()

For x86, this function can simply return the variable type. There is
no need to map struct types. The function actually will never be
called on x86 for struct types because it is only called for register
arguments.

This NYI was only hit in the case of JMP calls. I fixed two cases
in the JMP implementation where FEATURE_VARARGS code assumed AMD64, due
to the Windows AMD64 ABI convention to pass float varargs values in both
integer and floating point registers. I put that under `#ifdef _TARGET_AMD64_`.

This removes 426 NYI.

8 years agoMerge pull request #6253 from stephentoub/stop_stripping_serializable
Stephen Toub [Wed, 13 Jul 2016 19:21:36 +0000 (15:21 -0400)]
Merge pull request #6253 from stephentoub/stop_stripping_serializable

Stop BclRewriter from trimming serializable metadata

8 years agoARM64:Similar to arm, in order to preserve volatile semantics MemoryBarrier instructi...
Rahul Kumar [Wed, 13 Jul 2016 19:06:44 +0000 (12:06 -0700)]
ARM64:Similar to arm, in order to preserve volatile semantics MemoryBarrier instructions needs to be inserted. Otherwise writes to memory locations can be re-ordered. For eg. In function leave_spin_lock() we set holding_thread to -1 and then set pSpinLock->lock to -1. Without memorybarrier it is possible for different threads to see pSpinLock->lock new value of -1 and old value of holding_thread. This causes assertion pSpinLock->holding_thread == (Thread*)-1 in function enter_spin_lock() to fire

8 years agoMerge pull request #6247 from ellismg/add-back-exception-members
Matt Ellis [Wed, 13 Jul 2016 17:50:26 +0000 (10:50 -0700)]
Merge pull request #6247 from ellismg/add-back-exception-members

Add back some surface area to thinned corelib

8 years agobuild the TargetingPack package as part of build-packages scripts
wtgodbe [Wed, 13 Jul 2016 17:21:50 +0000 (10:21 -0700)]
build the TargetingPack package as part of build-packages scripts

8 years agoStop BclRewriter from trimming serializable metadata
Stephen Toub [Wed, 13 Jul 2016 15:36:34 +0000 (11:36 -0400)]
Stop BclRewriter from trimming serializable metadata

8 years agoRemove RenameUpdatedVars.
Pat Gavlin [Tue, 12 Jul 2016 21:48:52 +0000 (14:48 -0700)]
Remove RenameUpdatedVars.

The variable renaming performed by rationalize was originally intended
(according to its comments) to allow assignments that were embedded in
subtrees to be hoisted out into a preceding statement. It appears that
this logic has been removed, so the rename pass is no longer needed.

8 years ago[ARM-softfp/Linux] Get precise type for pointer-size struct
Hanjoung Lee [Wed, 13 Jul 2016 10:39:21 +0000 (19:39 +0900)]
[ARM-softfp/Linux] Get precise type for pointer-size struct

Compiler::getPrimitiveTypeForStruct may return TYP_FLOAT but is off on softfp.
So we need to check that in another way rather than `IsHfa()`.
Otherwise struct types with single float32 will make inconsistency in gentree.
Which ends up with assert failure "Bad IL: Illegal assignment of float into integer!".

Check is done in Compiler::getPrimitiveTypeForStruct, by isSingleFloat32Struct.

Fix #6051

8 years agoMerge pull request #6246 from rahku/crossgen
Rahul Kumar [Wed, 13 Jul 2016 01:08:53 +0000 (18:08 -0700)]
Merge pull request #6246 from rahku/crossgen

Arm64: remove gcstress_fail tag from certain tests in tests.lst

8 years agoAdd back some surface area to thinned corelib
Matt Ellis [Wed, 13 Jul 2016 01:08:37 +0000 (18:08 -0700)]
Add back some surface area to thinned corelib

We are working on expsosing some existing exception types from
System.Runtime in CoreFX. The implementations will facade over
System.Private.CoreLib, but we need to make sure all the members we expect
to expose from the contract are present in the implementation assembly.

Expose the missing members for ExecutionEngineException,
NotFiniteNumberException and ExternalException.

8 years agoMerge pull request #6244 from AndyAyersMS/FixDataCollection
Andy Ayers [Wed, 13 Jul 2016 01:06:43 +0000 (18:06 -0700)]
Merge pull request #6244 from AndyAyersMS/FixDataCollection

Inliner: Update data collection by targeting a single inline

8 years agoArm64: remove gcstress_fail tag from certain tests in tests.lst
Rahul Kumar [Wed, 13 Jul 2016 01:05:12 +0000 (18:05 -0700)]
Arm64: remove gcstress_fail tag from certain tests in tests.lst

8 years agoMerge pull request #6226 from rahku/crossgen
Rahul Kumar [Wed, 13 Jul 2016 01:01:22 +0000 (18:01 -0700)]
Merge pull request #6226 from rahku/crossgen

ARM64: In GetDelegateTarget a portion of the _WIN64 code was under _T…

8 years agoSuppress Interactive Shell when running PS
Matt Ellis [Wed, 13 Jul 2016 00:58:02 +0000 (17:58 -0700)]
Suppress Interactive Shell when running PS

On recent builds of Windows/PowerShell it seems like PS wants to write a
prompt after invoking the script, which causes a problem because that puts
extra gunk into the generated source file from h2inc, which causes
downstream failures.

8 years agoMerge pull request #6225 from pgavlin/RationalizeCleanup
Pat Gavlin [Wed, 13 Jul 2016 00:10:37 +0000 (17:10 -0700)]
Merge pull request #6225 from pgavlin/RationalizeCleanup

Refactor top-level comma rewriting.

8 years agoAdd a comment at the use of RewriteTopLevelComma.
Pat Gavlin [Wed, 13 Jul 2016 00:09:58 +0000 (17:09 -0700)]
Add a comment at the use of RewriteTopLevelComma.

8 years agoInliner: Update data collection by targeting a single inline
Andy Ayers [Tue, 12 Jul 2016 23:12:46 +0000 (16:12 -0700)]
Inliner: Update data collection by targeting a single inline

The inliner currently will record detailed data about the last successful
inline performed (given a build with DEBUG or INLINE_DATA defined).
However, for purposes of inline profitability analysis we might be more
interested in the data from an earlier inline.

This change creates a mechanism where the replay log can flag one inline
per method as the target of data collection. The inliner checks for this
attribute during replay and captures that inline's data.

8 years agoRefactor top-level comma rewriting.
Pat Gavlin [Mon, 11 Jul 2016 22:03:42 +0000 (15:03 -0700)]
Refactor top-level comma rewriting.

Top-level commas were being handled in three separate parts of
rationalize: TreeTransformRationalization, RewriteSimpleTransforms,
and DoPhase. Furthermore, the transform performed by the latter
was distinct from the transforms performed by the former two parts,
as those parts called out to RewriteTopLevelComma in order to do
the necessary rewrite. This change collects the two transforms
in RewriteTopLevelComma and centralizes the comma handling in
RewriteSimpleTransforms.

With the comma handling centralized in RewriteSimpleTransforms,
TreeTransformRationalization was not doing much of anything, so
it has been removed and RewriteSimpleTransforms renamed to
TreeTransformRationalization.

8 years agoactive exception regression fix (#6117)
chunseoklee [Tue, 12 Jul 2016 21:28:26 +0000 (06:28 +0900)]
active exception regression fix (#6117)

This patch fixes regression caused by 597e160 commit.
Previous PAL_VirtualUnwind does not set CONTEXT_UNWOUND_TO_CALL
properly. In this patch, the flag is added for non-signaled exception.

8 years agoFix !PrintException (pe) -lines bug where line number/source info is not being displa...
Mike McLaughlin [Tue, 12 Jul 2016 21:12:45 +0000 (14:12 -0700)]
Fix !PrintException (pe) -lines bug where line number/source info is not being displayed. (#6241)

The argument bLineNumbers to FormatGeneratedException was being used a local flag.

8 years agoExpose missing members of Array to prep for dotnet/corefx#9998. (#6230)
Dan Moseley [Tue, 12 Jul 2016 20:26:53 +0000 (13:26 -0700)]
Expose missing members of Array to prep for dotnet/corefx#9998.  (#6230)

* Expose missing members of Array to prep for dotnet/corefx#9998. modelgen.exe is helpful.

* Remove dead code

* Implement Array.LongLength.

* Revert "Implement Array.LongLength."

This reverts commit fdf7e96172d3b816551b827b6a45fbc692b0551d.

* Revert "Remove dead code"

This reverts commit 432087c2d6f826db93fa30a07476dc2decb12633.

* Expose Array.GetLongLength from VM