platform/upstream/dotnet/runtime.git
8 years agoFix a difference in passing the sequential parameter between Bash and Batch
Sean Gillespie [Fri, 15 Apr 2016 20:44:12 +0000 (13:44 -0700)]
Fix a difference in passing the sequential parameter between Bash and Batch

Commit migrated from https://github.com/dotnet/coreclr/commit/9530cdd3a61f9eb15a97e8f0888be12e0390aa99

8 years agoMerge pull request dotnet/coreclr#4352 from kouvel/ArmAssertFix
Koundinya Veluri [Fri, 15 Apr 2016 17:12:07 +0000 (10:12 -0700)]
Merge pull request dotnet/coreclr#4352 from kouvel/ArmAssertFix

Fix assertion failure on ARM

Commit migrated from https://github.com/dotnet/coreclr/commit/18487e02501fd13ba67e6d5dc1e2f145109eb2db

8 years agoMerge pull request dotnet/coreclr#4338 from pgavlin/AddJit32Build
Pat Gavlin [Fri, 15 Apr 2016 16:55:56 +0000 (09:55 -0700)]
Merge pull request dotnet/coreclr#4338 from pgavlin/AddJit32Build

Make it possible to build JIT32 in the OSS tree.

Commit migrated from https://github.com/dotnet/coreclr/commit/0514c3a85802febf4fdcbd4d6e2e831758407b58

8 years agoMerge pull request dotnet/coreclr#4363 from mmitche/update-corefx-paths
Matt Mitchell [Fri, 15 Apr 2016 16:20:25 +0000 (09:20 -0700)]
Merge pull request dotnet/coreclr#4363 from mmitche/update-corefx-paths

Update the corefx copy steps to point to the new location

Commit migrated from https://github.com/dotnet/coreclr/commit/0119038292c8f68e781d68603648fdc1ff4a9cf5

8 years agoUpdate the corefx copy steps to point to the new location
Matt Mitchell [Fri, 15 Apr 2016 16:09:41 +0000 (09:09 -0700)]
Update the corefx copy steps to point to the new location

Commit migrated from https://github.com/dotnet/coreclr/commit/b5d4810cbb07f56e3e80534fe3303c53088879ac

8 years agoMerge pull request dotnet/coreclr#4355 from dotnet-bot/from-tfs
Jan Kotas [Fri, 15 Apr 2016 12:48:39 +0000 (05:48 -0700)]
Merge pull request dotnet/coreclr#4355 from dotnet-bot/from-tfs

Merge changes from TFS

Commit migrated from https://github.com/dotnet/coreclr/commit/e811293a69eb4be72921beee4cc1518fe59721be

8 years agoMerge pull request dotnet/coreclr#4260 from myungjoo/fix/4259
Jan Vorlicek [Fri, 15 Apr 2016 09:47:04 +0000 (11:47 +0200)]
Merge pull request dotnet/coreclr#4260 from myungjoo/fix/4259

ARM: fix build warning for unw usage

Commit migrated from https://github.com/dotnet/coreclr/commit/6ccefb7afd1c3fd96caf3d6694d6e9441c36362b

8 years agoFix assertion failure on ARM
Koundinya Veluri [Fri, 15 Apr 2016 02:52:55 +0000 (19:52 -0700)]
Fix assertion failure on ARM

StompWriteBarrierEphemeral may be called on the init path, where the runtime is technically not suspended, but has not started yet. Added a check for g_fEEInit in the call.

Commit migrated from https://github.com/dotnet/coreclr/commit/faa782a20b738a9c9921bf54c29c229f4078748d

8 years agoMerge pull request dotnet/coreclr#4340 from jkotas/equality-comparer
Jan Kotas [Fri, 15 Apr 2016 05:41:24 +0000 (22:41 -0700)]
Merge pull request dotnet/coreclr#4340 from jkotas/equality-comparer

Use beforefieldinit field for Comparer/EqualityComparer.Default

Commit migrated from https://github.com/dotnet/coreclr/commit/d5abe2f1cbfe7c5a57bfed96ab3631671b6f82a2

8 years agoMerge pull request dotnet/coreclr#4353 from myungjoo/fix/4107
Jan Kotas [Fri, 15 Apr 2016 05:37:00 +0000 (22:37 -0700)]
Merge pull request dotnet/coreclr#4353 from myungjoo/fix/4107

ARM/Linux: Mark r0-r3 Saved

Commit migrated from https://github.com/dotnet/coreclr/commit/4835b092da28cdf468940bc8f28e6340e34383cd

8 years agoARM/Linux: Mark r0-r3 Saved
MyungJoo Ham [Fri, 15 Apr 2016 04:28:29 +0000 (13:28 +0900)]
ARM/Linux: Mark r0-r3 Saved

Without this, exception handlers (try-catch) that
try to get SP of ThePreStub's caller (managed frame) mislocate
the caller's SP by 4 words (0x10) and get lost while
traversing managed frames.

Fix dotnet/coreclr#4107

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/f97d3b2c2ff27f421c3b0bb5565f262314fe8880

8 years agoMerge pull request dotnet/coreclr#4343 from pgavlin/SeparateBitPosition
Pat Gavlin [Fri, 15 Apr 2016 04:04:33 +0000 (21:04 -0700)]
Merge pull request dotnet/coreclr#4343 from pgavlin/SeparateBitPosition

Move `BitPosition` into its own file.

Commit migrated from https://github.com/dotnet/coreclr/commit/cb9cbef5cd036bb7617202262908f358a46b47f8

8 years agoFix razzle build breaks in bcl.win
Jan Kotas [Fri, 15 Apr 2016 01:46:52 +0000 (18:46 -0700)]
Fix razzle build breaks in bcl.win

[tfs-changeset: 1596379]

Commit migrated from https://github.com/dotnet/coreclr/commit/680663e8a5783e0bac250293df8157057b1b7cf0

8 years agoUse beforefieldinit field for Comparer/EqualityComparer.Default
Jan Kotas [Thu, 14 Apr 2016 21:35:35 +0000 (14:35 -0700)]
Use beforefieldinit field for Comparer/EqualityComparer.Default

Commit migrated from https://github.com/dotnet/coreclr/commit/33951091ce4bc7752195cf1364da14cf200c2932

8 years agoMerge pull request dotnet/coreclr#4326 from dotnet-bot/from-tfs
Matt Ellis [Thu, 14 Apr 2016 22:59:13 +0000 (15:59 -0700)]
Merge pull request dotnet/coreclr#4326 from dotnet-bot/from-tfs

Merge changes from TFS

Commit migrated from https://github.com/dotnet/coreclr/commit/b0d613888c6c1b78add096a0832ba6ae7928f56c

8 years agoMerge pull request dotnet/coreclr#4335 from AndyAyersMS/InlineStrategy
Andy Ayers [Thu, 14 Apr 2016 22:57:39 +0000 (15:57 -0700)]
Merge pull request dotnet/coreclr#4335 from AndyAyersMS/InlineStrategy

Inliner: introducing InlineStrategy

Commit migrated from https://github.com/dotnet/coreclr/commit/298a5d159453254dc1cb9719c56f03f98fb46213

8 years agoMake it possible to build JIT32 in the OSS tree.
Pat Gavlin [Thu, 14 Apr 2016 19:57:41 +0000 (12:57 -0700)]
Make it possible to build JIT32 in the OSS tree.

This change adds a new argument to build.cmd, buildjit32, that configures
the build to build and link JIT32 instead of RyuJIT if the sources are
available in `src/jit32`.

Commit migrated from https://github.com/dotnet/coreclr/commit/a3bb6a066eae8a7daede52ed576e8cd8d1d50780

8 years agoMerge pull request dotnet/coreclr#4339 from fadimounir/deltests
Fadi Hanna [Thu, 14 Apr 2016 21:18:21 +0000 (14:18 -0700)]
Merge pull request dotnet/coreclr#4339 from fadimounir/deltests

Delete fragile tests (will fix tests in a later PR)

Commit migrated from https://github.com/dotnet/coreclr/commit/c264f882479d50bcbb96b965bac99ce16fa5588f

8 years agoDelete fragile tests (will fix tests in a later PR)
Fadi Hanna [Thu, 14 Apr 2016 21:14:52 +0000 (14:14 -0700)]
Delete fragile tests (will fix tests in a later PR)

Commit migrated from https://github.com/dotnet/coreclr/commit/5c6581b713656d07a0887dbbf6dc9c1536d36aae

8 years agoMove `BitPosition` into its own file.
Pat Gavlin [Mon, 11 Apr 2016 17:24:23 +0000 (10:24 -0700)]
Move `BitPosition` into its own file.

This will allow the GC info encoder and the JIT to use this
function without pulling in the entire utilcode header.

Commit migrated from https://github.com/dotnet/coreclr/commit/d0b6a85c895b4102ff849ffc0d276b6af8c63bb0

8 years agoInliner: introducing InlineStrategy
Andy Ayers [Tue, 12 Apr 2016 20:30:07 +0000 (13:30 -0700)]
Inliner: introducing InlineStrategy

Create the `InlineStrategy` class to hold inline-relevant data that
spans multiple inlines. It tracks the number of inline candidates,
attempts, successes, last successful policy, and holds onto the root
context, and so on. The strategy is responsible for creating contexts
and reporting overall results for a method (either tree-based or
data-based).

The strategy also includes a simple jit time estimate. From various
observations, post-inline jit time can be modelled acceptably by simple
linear relationships on the input IL size. The strategy uses these models
to estimate the initial and current jit time. Estimate units are roughly
microseconds.

The strategy creates a time budget to flag cases where the estimated
jit time increase due to inlining is unreasonbly large. The budget
is initially based on the root method size, and may increase if there
are non-discretionary force inlines.

Once we have a bit more vetting of the budgeting mechanism, policies
will use it to limit inlining in a small number of runaway inlining cases
(see for example dotnet/coreclr#2472).

Remove code under MEASURE_INLINING since the strategy plus the context
tree (optionally extended via policies) contains all that data and more.
Likewise, consolidate a number of the compiler's inlining-related member
variables into the strategy.

Commit migrated from https://github.com/dotnet/coreclr/commit/c56da07ffe047d36daca4b152aaf6cd1a27b3ee8

8 years agoMerge pull request dotnet/coreclr#4330 from janvorli/fix-sigsegv-deadlock
Jan Vorlicek [Thu, 14 Apr 2016 20:36:08 +0000 (22:36 +0200)]
Merge pull request dotnet/coreclr#4330 from janvorli/fix-sigsegv-deadlock

Fix possibility of deadlock in the SIGSEGV handler

Commit migrated from https://github.com/dotnet/coreclr/commit/08e1b2f05ba15efff366c4fd70ff475359022bb3

8 years agoFix full framework build break
Jan Kotas [Thu, 14 Apr 2016 19:59:17 +0000 (12:59 -0700)]
Fix full framework build break

[tfs-changeset: 1596259]

Commit migrated from https://github.com/dotnet/coreclr/commit/9d5dce0e913685a03fd7ce665fa221cdea94373e

8 years agoMerge pull request dotnet/coreclr#4322 from pgavlin/TlsLogEnv
Pat Gavlin [Thu, 14 Apr 2016 19:57:01 +0000 (12:57 -0700)]
Merge pull request dotnet/coreclr#4322 from pgavlin/TlsLogEnv

Collect the JIT's TLS variables in a single type.

Commit migrated from https://github.com/dotnet/coreclr/commit/e63de4a0d1dd9c5ad840495579c5437a0095bea1

8 years agoMerge pull request dotnet/coreclr#4314 from pgavlin/GcInfoSList
Pat Gavlin [Thu, 14 Apr 2016 17:58:36 +0000 (10:58 -0700)]
Merge pull request dotnet/coreclr#4314 from pgavlin/GcInfoSList

Replace `SList` in the GC info encoders.

Commit migrated from https://github.com/dotnet/coreclr/commit/0d912695f7bd133c91f8b4e303b1b6b03c728869

8 years agoFix potential deadlock when calling ExecutionManager::IsManagedCode
Jan Vorlicek [Thu, 14 Apr 2016 17:44:56 +0000 (19:44 +0200)]
Fix potential deadlock when calling ExecutionManager::IsManagedCode

The function can deadlock if the calling thread was holding the
ExecutionManager writer lock.

Commit migrated from https://github.com/dotnet/coreclr/commit/a5b5d2f00993872e61c764e2a777f568cc5a8ba3

8 years agoMerge pull request dotnet/coreclr#4308 from joperezr/RemoveWarnings
Jose Perez Rodriguez [Thu, 14 Apr 2016 17:44:29 +0000 (10:44 -0700)]
Merge pull request dotnet/coreclr#4308 from joperezr/RemoveWarnings

Remove native build warnings

Commit migrated from https://github.com/dotnet/coreclr/commit/19f4fdc3eb161aca2541603282090448bcf7268f

8 years agoUpdating BuildTools
Jose Perez Rodriguez [Tue, 12 Apr 2016 22:56:08 +0000 (15:56 -0700)]
Updating BuildTools

Commit migrated from https://github.com/dotnet/coreclr/commit/b2f571bc74b44778cbe1ca1b4f95f3217bf2265a

8 years agoMerge pull request dotnet/coreclr#4327 from RussKeldorph/structinregs
Russ Keldorph [Thu, 14 Apr 2016 14:10:24 +0000 (07:10 -0700)]
Merge pull request dotnet/coreclr#4327 from RussKeldorph/structinregs

Fix structinregs test on x86

Commit migrated from https://github.com/dotnet/coreclr/commit/af0a58fb1d34ba27b7b761d71316a2c2d0361a0f

8 years agoFix possibility of deadlock in the SIGSEGV handler
Jan Vorlicek [Wed, 6 Apr 2016 18:41:51 +0000 (20:41 +0200)]
Fix possibility of deadlock in the SIGSEGV handler

The SIGSEGV handler was transitively calling pthread_attr_get_np to
get current stack limit no matter where the exception happened. The
problem was that if the segmentation violation happened in a C
runtime function, this could lead to deadlock since pthread_attr_get_np
is not signal safe.

The fix is to add callback that will figure out if the failing instruction
was in managed code or in one of the jit helpers and if not, it would
not attempt to handle the signal.

I have also removed non signal safe calls from the signal handlers code
path where we don't know yet whether the interrupted code was in a function
that could collide with a function that we call from the signal handler
or not. This includes TRACE and ASSERT calls that were calling string
formatting functions.

Commit migrated from https://github.com/dotnet/coreclr/commit/c240f969e0f43ee25f9590f7e53676e4fd7bd85d

8 years agoFix structinregs test on x86
Russ Keldorph [Thu, 14 Apr 2016 04:45:05 +0000 (21:45 -0700)]
Fix structinregs test on x86

Fix a typo in _MSC_VER resulting in a mismatched calling convention on
x86.  While I'm in here, I'm also fixing some benign mismatched function
pointer type definitions.

Commit migrated from https://github.com/dotnet/coreclr/commit/7c512edb6008675ff1db320dbefe43c287c423dd

8 years agoAdd back Path APIs needed by UWP
Jan Kotas [Thu, 14 Apr 2016 03:54:21 +0000 (20:54 -0700)]
Add back Path APIs needed by UWP

[tfs-changeset: 1596013]

Commit migrated from https://github.com/dotnet/coreclr/commit/7b30429f7ed5091889113baf31c727979573262a

8 years agoMerge pull request dotnet/coreclr#4297 from tijoytom/master
tijoytom [Wed, 13 Apr 2016 23:43:51 +0000 (16:43 -0700)]
Merge pull request dotnet/coreclr#4297 from tijoytom/master

Disabling the failing struct by value scenario.

Commit migrated from https://github.com/dotnet/coreclr/commit/bd7ee6206f05fbc321e7f69383423f05d440e7b6

8 years agoCollect the JIT's TLS variables in a single type.
Pat Gavlin [Wed, 13 Apr 2016 23:06:18 +0000 (16:06 -0700)]
Collect the JIT's TLS variables in a single type.

Instead of storing pointers to the thread-local compiler instance
and the current logging environment in separate TLS slots, wrap
these values in a struct and store a pointer to the struct in a
single TLS slot. This simplifies and standardizes the JIT's interface
to its TLS storage, especially when it is being statically linked
into another program or library that cannot use standard TLS.

Note that for release builds, the logging environment is not used
and a pointer to the current compiler instance is stored directly
into the JIT's TLS slot as an implementation detail of the TLS
wrapper type.

Commit migrated from https://github.com/dotnet/coreclr/commit/aba977ee03f85f059aca1bdb0b0e1202f25d04cd

8 years agoMerge pull request dotnet/coreclr#4320 from mmitche/add-reporting
Matt Mitchell [Wed, 13 Apr 2016 22:47:40 +0000 (15:47 -0700)]
Merge pull request dotnet/coreclr#4320 from mmitche/add-reporting

Add reporting functionality to the coreclr netci file

Commit migrated from https://github.com/dotnet/coreclr/commit/dc86158d1ce41dfcb775c921a9e6d1f7fed90868

8 years agoAdd reporting functionality to the coreclr netci file
Matt Mitchell [Wed, 13 Apr 2016 22:20:21 +0000 (15:20 -0700)]
Add reporting functionality to the coreclr netci file

Also eliminate a few jobs that aren't being referenced.

Commit migrated from https://github.com/dotnet/coreclr/commit/8614810caec4b5a2a33547fe3f9dfd3982357b6e

8 years agoMerge pull request dotnet/coreclr#4319 from mmitche/archive-needed
Matt Mitchell [Wed, 13 Apr 2016 22:24:25 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#4319 from mmitche/archive-needed

Only archive dylib and .so files from the native coreclr tests

Commit migrated from https://github.com/dotnet/coreclr/commit/deadffbd21fde9706e3237969208f995928cd843

8 years agoOnly archive dylib and .so files from the native coreclr tests
Matt Mitchell [Wed, 13 Apr 2016 22:22:45 +0000 (15:22 -0700)]
Only archive dylib and .so files from the native coreclr tests

Avoids a few hundred extra files

Commit migrated from https://github.com/dotnet/coreclr/commit/257951f3a30b880d863c813bf5528fef5f44fdea

8 years agoDisabling the failing struct by value scenario.
Tijoy Tom Kalathiparambil [Tue, 12 Apr 2016 18:32:23 +0000 (11:32 -0700)]
Disabling the failing struct by value scenario.

Commit migrated from https://github.com/dotnet/coreclr/commit/a207199a67acee162c0ed865fa70252add2dccef

8 years agoMerge pull request dotnet/coreclr#4068 from Lucrecious/master
Brian Robbins [Wed, 13 Apr 2016 21:15:14 +0000 (14:15 -0700)]
Merge pull request dotnet/coreclr#4068 from Lucrecious/master

Generate map files for symbol resolution for Linux native images on PerfView

Commit migrated from https://github.com/dotnet/coreclr/commit/0ec739e4416d12eeaac0c365fae09e503b080eaf

8 years agoRefactor `MemoryBlockDesc`.
Pat Gavlin [Wed, 13 Apr 2016 19:55:47 +0000 (12:55 -0700)]
Refactor `MemoryBlockDesc`.

- Encapsulate link management into `MemoryBlockDescList`.
- Replace `MemoryBlockDesc` and its separately-allocated buffer
  with a new type, `MemoryBlock`, that stores the link to the
  next memory block with the buffer itself.

Commit migrated from https://github.com/dotnet/coreclr/commit/0c24ddaa1703805e472c6bf00cba1bcbc5d43e12

8 years agoMerge pull request dotnet/coreclr#4303 from CarolEidt/NoBarrierLclVarAddr
Carol Eidt [Wed, 13 Apr 2016 18:43:40 +0000 (11:43 -0700)]
Merge pull request dotnet/coreclr#4303 from CarolEidt/NoBarrierLclVarAddr

No GC barrier needed for indirection of expressions involving lclVars

Commit migrated from https://github.com/dotnet/coreclr/commit/3ad8f15af54add9dcc3ecb8b89f3b9a82c65bef3

8 years agoEnable SOS gcInfo command. All it does basically is just enable the gcdecoder
Zhicheng Zhu [Wed, 13 Apr 2016 18:40:47 +0000 (11:40 -0700)]
Enable SOS gcInfo command. All it does basically is just enable the gcdecoder

Enable SOS gcInfo command. Basically all it does is just enable the code related to sos gcInfo and make it compiled for linux.

Commit migrated from https://github.com/dotnet/coreclr/commit/8ba667ba08a57f420aa3067e8b57e51185802650

8 years agoReplace `SList` in the GC info encoders.
Pat Gavlin [Mon, 11 Apr 2016 17:09:08 +0000 (10:09 -0700)]
Replace `SList` in the GC info encoders.

Instead of using `SList`, manage the links manually. There are only
a few list manipulations in the encoders, so this is not too onerous.

Commit migrated from https://github.com/dotnet/coreclr/commit/8b91401398caffe63fe79d403e066ee55a8365f2

8 years agoMerge pull request dotnet/coreclr#4295 from fadimounir/typesystemtests
Fadi Hanna [Wed, 13 Apr 2016 17:40:38 +0000 (10:40 -0700)]
Merge pull request dotnet/coreclr#4295 from fadimounir/typesystemtests

Bulk port of TypeSystem test cases

Commit migrated from https://github.com/dotnet/coreclr/commit/517207b9d3f2a53c726a8682c1331cf7bdb0360b

8 years agoMerge pull request dotnet/coreclr#4310 from RussKeldorph/arglist
Russ Keldorph [Wed, 13 Apr 2016 17:29:40 +0000 (10:29 -0700)]
Merge pull request dotnet/coreclr#4310 from RussKeldorph/arglist

Port arglist tests for x86 and ARM

Commit migrated from https://github.com/dotnet/coreclr/commit/8beda3c1561aa7a4b4a18ea98e719fc9fd52a638

8 years agoNo GC barrier needed for LclVar address expressions
Carol Eidt [Tue, 12 Apr 2016 19:53:31 +0000 (12:53 -0700)]
No GC barrier needed for LclVar address expressions

The check for the case where a barrier is not required when writing to a
local variable needs to include the LocalVarAddr and lclVar address
expression cases.

Update per comments

Commit migrated from https://github.com/dotnet/coreclr/commit/39ac49632a499877db8b8656dc63d147c7a8fe39

8 years agoMerge pull request dotnet/coreclr#4302 from kyulee1/badtest
Kyungwoo Lee [Wed, 13 Apr 2016 12:27:14 +0000 (05:27 -0700)]
Merge pull request dotnet/coreclr#4302 from kyulee1/badtest

ARM64: Tests update

Commit migrated from https://github.com/dotnet/coreclr/commit/5ad8da8b1239585a9e75a20ed2137e8b92bfe6c9

8 years agoARM64: Tests update
Kyungwoo Lee [Tue, 12 Apr 2016 20:30:31 +0000 (13:30 -0700)]
ARM64: Tests update

- Delete bad test (sql_stress4) which uses Thread.Abort which is not in
  .NET Core.
- Delete non-existing test (MarshalBoolArray)
- Update time-out for StringConcat4/StringConcat8 which usualy failed due to time-out.
- Made _opt_dbgexplicit5/_opt_relexplicit5 UNSTABLE which pass mostly when
  running twice in the lab.
- Delete bad test (b519927) which uses AppDomain.DefineDynamicAssembly
  which is not in .NET Core.
- Delete bad test (b16241) that has overflow conversion (from double to int).

Commit migrated from https://github.com/dotnet/coreclr/commit/2ef3e9124d883c859995ded1a1f177d91f789197

8 years agoMerge pull request dotnet/coreclr#4074 from kouvel/SoftwareWriteWatch
Koundinya Veluri [Wed, 13 Apr 2016 04:19:01 +0000 (21:19 -0700)]
Merge pull request dotnet/coreclr#4074 from kouvel/SoftwareWriteWatch

Implement software write watch and make concurrent GC functional outs…

Commit migrated from https://github.com/dotnet/coreclr/commit/afdce3a592e5f6f2047bed057d121225be91743d

8 years agoPort arglist tests for x86 and ARM
Russ Keldorph [Tue, 12 Apr 2016 18:49:58 +0000 (11:49 -0700)]
Port arglist tests for x86 and ARM

Arglist tests, which are only valid on Windows, have non-x64 versions that
needed to be ported.

Commit migrated from https://github.com/dotnet/coreclr/commit/98d914bc0c9b167ee3e7abd3f4aee636f88cba59

8 years agoMerge pull request dotnet/coreclr#4273 from sivarv/multireg2
Sivarv [Wed, 13 Apr 2016 01:38:51 +0000 (18:38 -0700)]
Merge pull request dotnet/coreclr#4273 from sivarv/multireg2

Force IR to be always var=call in case of multi-reg returning call nodes plus refactoring changes

Commit migrated from https://github.com/dotnet/coreclr/commit/5ef243f597b8198efce1add587f16aae59b1f568

8 years agoMerge pull request dotnet/coreclr#4255 from pgavlin/GcInfoArrayList
Pat Gavlin [Tue, 12 Apr 2016 23:57:42 +0000 (16:57 -0700)]
Merge pull request dotnet/coreclr#4255 from pgavlin/GcInfoArrayList

Refactor `StructArrayList` for the GC info encoder.

Commit migrated from https://github.com/dotnet/coreclr/commit/867b8f1ff301d1d0842abec75447be4e94c1f17c

8 years agoImplement software write watch and make concurrent GC functional outside Windows
Koundinya Veluri [Thu, 7 Jan 2016 19:21:27 +0000 (11:21 -0800)]
Implement software write watch and make concurrent GC functional outside Windows

- Implemented software write watch using write barriers
- A new set of write barriers is introduced, each corresponding to an existing one, but which also updates the write watch table. The GC switches to a write watch barrier during concurrent GC, and switches back to a non write watch barrier after the final query for dirty pages.
- The write watch table is alloacted along with the card table
- Since the card table is used differently, different synchonization is used for the write watch table. The runtime is suspended during resize since that is the most infrequently occuring operation, of that, ResetWriteWatch, and GetWriteWatch.
- ResetWriteWatch() doesn't need a suspend, but since the software WW version is much faster than the Windows version, moved it into the suspended region to avoid some synchronization that would otherwise be required
- The background calls to GetWriteWatch() don't need or do a suspend. They only need to synchronize with the resize path, not for the purpose of correct functionality, but to not miss dirty pages such that concurrent GC is effective.

Miscellaneous:
- Fixed runtests.sh to copy mscorlib.dll and delete the Windows version of mscorlib.ni.dll

Commit migrated from https://github.com/dotnet/coreclr/commit/c235ae17cd3a87f8032948bdcb838641d8e6c055

8 years agoMerge pull request dotnet/coreclr#4278 from RussKeldorph/t1
Russ Keldorph [Tue, 12 Apr 2016 23:14:41 +0000 (16:14 -0700)]
Merge pull request dotnet/coreclr#4278 from RussKeldorph/t1

Fix two "missing DLL" test failures

Commit migrated from https://github.com/dotnet/coreclr/commit/5d55afa3600904dd2376db9af9838f2fbba27945

8 years agoMerge pull request dotnet/coreclr#4296 from mmitche/fix-prefix-casing
Matt Mitchell [Tue, 12 Apr 2016 22:46:57 +0000 (15:46 -0700)]
Merge pull request dotnet/coreclr#4296 from mmitche/fix-prefix-casing

Fix output casing of prefix dir

Commit migrated from https://github.com/dotnet/coreclr/commit/e735df2e106e2a119ced1db2a6fdcbe0ad5890c6

8 years agoRefactoring changes to use ReturnTypeDesc in codegenxarch.
sivarv [Mon, 11 Apr 2016 18:49:41 +0000 (11:49 -0700)]
Refactoring changes to use ReturnTypeDesc in codegenxarch.

Commit migrated from https://github.com/dotnet/coreclr/commit/3409ad136021c42da1d982478ea0b609db1202a3

8 years agoMerge pull request dotnet/coreclr#4279 from swaroop-sridhar/GC
Swaroop Sridhar [Tue, 12 Apr 2016 20:32:10 +0000 (13:32 -0700)]
Merge pull request dotnet/coreclr#4279 from swaroop-sridhar/GC

GCInfo: Fix ARM64 GCInfo decoding

Commit migrated from https://github.com/dotnet/coreclr/commit/ae2d2f3d103d0a20d1609725c7eec0830e0cf654

8 years agoBulk port of TypeSystem test cases
Fadi Hanna [Tue, 12 Apr 2016 00:27:01 +0000 (17:27 -0700)]
Bulk port of TypeSystem test cases

Commit migrated from https://github.com/dotnet/coreclr/commit/b7e35b9c3d87ba84b859f9f9f795857dfbbda653

8 years agoClean up StructArrayList for GC info.
Pat Gavlin [Fri, 8 Apr 2016 22:39:55 +0000 (15:39 -0700)]
Clean up StructArrayList for GC info.

- Move the code into the GC info encoder, as that is its
  only consumer.
- Remove contracts
- Delete dead code
- Reformat and refactor to current coding standards

Commit migrated from https://github.com/dotnet/coreclr/commit/d241f9d5bcdaf9e99e4c4e54508d2cec2ed35d04

8 years agoMerge pull request dotnet/coreclr#4292 from janvorli/hw-exceptions-change
Jan Vorlicek [Tue, 12 Apr 2016 19:18:32 +0000 (21:18 +0200)]
Merge pull request dotnet/coreclr#4292 from janvorli/hw-exceptions-change

Fix hardware exception handling in native code on BSD

Commit migrated from https://github.com/dotnet/coreclr/commit/a1eedcb8767e5833b5f1134efcb26ff8612ec315

8 years agoMerge pull request dotnet/coreclr#4294 from kyulee1/fixsp
Kyungwoo Lee [Tue, 12 Apr 2016 18:25:40 +0000 (11:25 -0700)]
Merge pull request dotnet/coreclr#4294 from kyulee1/fixsp

ARM64: Fix for recording SP for handler.

Commit migrated from https://github.com/dotnet/coreclr/commit/121a91d73c7ac1f0264f62eff1451d742b94e0dd

8 years agoFix output casing of prefix dir
Matt Mitchell [Tue, 12 Apr 2016 16:48:00 +0000 (09:48 -0700)]
Fix output casing of prefix dir

The PREFIX dir is upper case, should be refered to as such.  Blocker for building on Linux

Commit migrated from https://github.com/dotnet/coreclr/commit/c2d2efffe0ed58c55be1db5f254056b54ec41654

8 years agoFix two "missing DLL" test failures
Russ Keldorph [Sun, 10 Apr 2016 10:58:19 +0000 (03:58 -0700)]
Fix two "missing DLL" test failures

Fix dotnet/coreclr#2234 Missing native DLL
Fix dotnet/coreclr#2237 Missing DLL is a MC++ test hiding alongside a C# wrapper--delete
    test which was mistakenly ported.

Commit migrated from https://github.com/dotnet/coreclr/commit/7c4c8f3efc6e9acdbd1aa972b10b00ea11b63c27

8 years agoMerge pull request dotnet/coreclr#4085 from LLITCHEV/Issue3618-1
Lubomir Litchev [Tue, 12 Apr 2016 17:39:28 +0000 (10:39 -0700)]
Merge pull request dotnet/coreclr#4085 from LLITCHEV/Issue3618-1

Fix a bug in the code for inserting a tree in the linear order.

Commit migrated from https://github.com/dotnet/coreclr/commit/ed172f6944eb5fd3a1b9390ceaef0ee09f3fb122

8 years agofix GCInfo build problem, tested a few simple "HelloWorld" program works good!
Zhicheng Zhu [Mon, 11 Apr 2016 18:01:21 +0000 (11:01 -0700)]
fix GCInfo build problem, tested a few simple "HelloWorld" program works good!

Commit migrated from https://github.com/dotnet/coreclr/commit/6b9efccc55654928225829b853267f1062fa42fa

8 years agoARM64: Fix for recording SP for handler.
Kyungwoo Lee [Tue, 12 Apr 2016 16:11:53 +0000 (09:11 -0700)]
ARM64: Fix for recording SP for handler.

Fixes https://github.com/dotnet/coreclr/issues/3701.

When GC occurs in a catch handler, we compare the current frame with the one
saved before the funclet was invoked.
The recorded SP address was wrong (offset by 16 byte), which caused FindParentStackFrameForStackWalk to null frame.
So, we ended up with assert on `ExceptionTracker::HasFrameBeenUnwoundByAnyActiveException(&m_crawl)`.
The issue was assembly helper, CallEHFunclet records FP instead of SP while SP is adjusted in prolog.

Commit migrated from https://github.com/dotnet/coreclr/commit/63554209e89d38785f2a1241939c490370e3efed

8 years agoMerge pull request dotnet/coreclr#4290 from leemgs/upstream-clang38
Jan Kotas [Tue, 12 Apr 2016 13:42:03 +0000 (03:42 -1000)]
Merge pull request dotnet/coreclr#4290 from leemgs/upstream-clang38

Add clang-3.8 into build.sh

Commit migrated from https://github.com/dotnet/coreclr/commit/5c9b92876a4b1641393e20ac2e7638c3c0f296c8

8 years agoMerge pull request dotnet/coreclr#4187 from stephentoub/lcts_dispose_cancel_race
Stephen Toub [Tue, 12 Apr 2016 13:19:29 +0000 (09:19 -0400)]
Merge pull request dotnet/coreclr#4187 from stephentoub/lcts_dispose_cancel_race

Fix race condition between CTS.Cancel and Dispose

Commit migrated from https://github.com/dotnet/coreclr/commit/68e27689d709b846505813af806dfb11b19777ef

8 years agoFix hardware exception handling in native code on BSD
Jan Vorlicek [Mon, 11 Apr 2016 12:21:01 +0000 (14:21 +0200)]
Fix hardware exception handling in native code on BSD

There is a problem with hardware exception handling when the exception
happens in native code and it is under the HardwareExceptionHolder on
FreeBSD and NetBSD. The problem was that the C++ unwinder was unable
to cross the signal trampoline.
This change fixes the problem by throwing the PAL_SEHException from
the context of the hardware exception itself rather than from the
signal handler.
Since it uses the same code as we were using for StartUnwindingNativeFrames
in CoreCLR before, I have moved that stuff to PAL and let both CoreCLR and
the signal handlers use it too.
At the same time, I have reenabled the paltest_pal_sxs_test1 for FreeBSD and
NetBSD, since it now works.

Commit migrated from https://github.com/dotnet/coreclr/commit/9475224327e45faa56e6ecbfcc5fa503656d5c20

8 years agoARM: fix build warning for unw usage
MyungJoo Ham [Mon, 11 Apr 2016 04:49:27 +0000 (13:49 +0900)]
ARM: fix build warning for unw usage

The warning is coming from libunwind-arm, not coreclr.
Libunwind-arm uses SP/PC registers along with other registers,
which clang complains.

fix dotnet/coreclr#4259

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/5b9ce29e7722201f59e288b15d155082d051cde3

8 years agoMerge pull request dotnet/coreclr#4280 from krytarowski/netbsd-support-59
Jan Vorlicek [Tue, 12 Apr 2016 08:15:03 +0000 (10:15 +0200)]
Merge pull request dotnet/coreclr#4280 from krytarowski/netbsd-support-59

Use _lwp_self() in THREADSilentGetCurrentThreadId() for NetBSD

Commit migrated from https://github.com/dotnet/coreclr/commit/2c737588bed6550f56b9470278382d807a6fd9b4

8 years agoAdd clang-3.8 into build.sh
Geunsik Lim [Tue, 12 Apr 2016 06:11:53 +0000 (15:11 +0900)]
Add clang-3.8 into build.sh

According to the official release note, clang 3.8 is also stable version.
http://llvm.org/releases/download.html
Let's add version 3.8 of clang into build.sh script.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/0fe70e83f801002521b658372f5e1390016fe09a

8 years agoMerge pull request dotnet/coreclr#4274 from davmason/master
David Mason [Tue, 12 Apr 2016 04:13:24 +0000 (21:13 -0700)]
Merge pull request dotnet/coreclr#4274 from davmason/master

Bug Fixes for EventSource

Commit migrated from https://github.com/dotnet/coreclr/commit/12fdc0f41c7b83bd1bea63d42db1fb3dba2a77df

8 years agoFix a bug in the code for inserting a tree in the linear order.
Lubomir Litchev [Tue, 5 Apr 2016 17:31:20 +0000 (10:31 -0700)]
Fix a bug in the code for inserting a tree in the linear order.

A long standing issue in the Compiler::fgInsertTreeInListBefore method was
found where the gtStmtList of a statement was not updated when a tree is
inserted before the first statement in the list (stmt->gtStmtList ==
insertionPoint). In such case the gtStmtList is not updated to include the
new tree(s) inserted.

After talking to few people offline to understand where this fix should be made
and realizing that the comment on Compiler::fgMakeEmbeddedStmt is
incorrect, I made the necessary fix in Compiler::fgInsertTreeInListBefore
so the newly inserted tree(s) in includedin the gtStmtList of the updated
stmt.

Fixes 3618.

Commit migrated from https://github.com/dotnet/coreclr/commit/e59013a59744d05fa4c60570f25198c160ba3582

8 years agoUse _lwp_self() in THREADSilentGetCurrentThreadId() for NetBSD
Kamil Rytarowski [Tue, 12 Apr 2016 00:26:54 +0000 (02:26 +0200)]
Use _lwp_self() in THREADSilentGetCurrentThreadId() for NetBSD

The _lwp_self() call returns the LWP ID of the calling LWP.
It requires <lwp.h> on NetBSD.

Commit migrated from https://github.com/dotnet/coreclr/commit/67d03ca438bf8327b82655669d616d1aa7ad8541

8 years agoMerge pull request dotnet/coreclr#4101 from sejongoh/detect_ldsfld_access_non_static_...
Sejong Oh [Tue, 12 Apr 2016 00:19:29 +0000 (17:19 -0700)]
Merge pull request dotnet/coreclr#4101 from sejongoh/detect_ldsfld_access_non_static_field

Check if LDSFLD accesses non-static field

Commit migrated from https://github.com/dotnet/coreclr/commit/de6990d315c555e7a4e85f5c01c8067b128d2ae9

8 years agoMerge pull request dotnet/coreclr#4277 from mikem8361/rpath
Mike McLaughlin [Tue, 12 Apr 2016 00:06:44 +0000 (17:06 -0700)]
Merge pull request dotnet/coreclr#4277 from mikem8361/rpath

Unable to debug coreclr apps on Debian 8.2 (Issue dotnet/coreclr#4263)

Commit migrated from https://github.com/dotnet/coreclr/commit/e0247bdd8a1c5a5faba7033040727c3b59e0b69a

8 years agoUnable to debug coreclr apps on Debian 8.2 (Issue dotnet/coreclr#4263)
Mike McLaughlin [Mon, 11 Apr 2016 22:37:42 +0000 (15:37 -0700)]
Unable to debug coreclr apps on Debian 8.2 (Issue dotnet/coreclr#4263)

Add set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) to dbi and sos cmake files.

Commit migrated from https://github.com/dotnet/coreclr/commit/b7fa022f6cbe28737b6a0e3dfa74e2b80f71ac50

8 years agoMerge pull request dotnet/coreclr#4218 from mikem8361/symbols
Mike McLaughlin [Mon, 11 Apr 2016 23:55:44 +0000 (16:55 -0700)]
Merge pull request dotnet/coreclr#4218 from mikem8361/symbols

Add symbol packages for coreclr runtime.

Commit migrated from https://github.com/dotnet/coreclr/commit/65fcbb4eb9e9ed349dac74991bcb7303adeee013

8 years agoMerge pull request dotnet/coreclr#4272 from AndyAyersMS/FixSpectralNorm
Andy Ayers [Mon, 11 Apr 2016 23:52:45 +0000 (16:52 -0700)]
Merge pull request dotnet/coreclr#4272 from AndyAyersMS/FixSpectralNorm

Fix validation of spectralnorm under xunit-performance

Commit migrated from https://github.com/dotnet/coreclr/commit/fcfcec5e194b2a376b176d0de44dbea2d4ece79c

8 years agoGCInfo: Fix ARM64 GCInfo decoding
Swaroop Sridhar [Fri, 8 Apr 2016 01:09:13 +0000 (18:09 -0700)]
GCInfo: Fix ARM64 GCInfo decoding

GCStress traps were not inserted in ARM64 code correctly because safepoint
offsets were not correctly computed by EnumerateSafepoints().

This change fixes the issue by adding the (-1) adjustment to the ARM64
Safepoint offsets, similar to ARM and AMD64.

Commit migrated from https://github.com/dotnet/coreclr/commit/b6502aae0447fe7ccbc21b354c545c8ba58c902a

8 years agoMerge pull request dotnet/coreclr#4113 from swgillespie/long_running_gc
Sean Gillespie [Mon, 11 Apr 2016 22:58:49 +0000 (15:58 -0700)]
Merge pull request dotnet/coreclr#4113 from swgillespie/long_running_gc

Create Long-running GC test job for the CI

Commit migrated from https://github.com/dotnet/coreclr/commit/e08912eecd2519467f0b73ffb2d03cfafb13a1df

8 years agoBuffer sending of large manifests
David Mason [Mon, 11 Apr 2016 20:41:29 +0000 (13:41 -0700)]
Buffer sending of large manifests

Commit migrated from https://github.com/dotnet/coreclr/commit/9481107ec19da27c677434c32e827803d894174d

8 years agoMerge pull request dotnet/coreclr#4157 from chuckries/master
Aditya Mandaleeka [Mon, 11 Apr 2016 22:24:11 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#4157 from chuckries/master

Fix error return in getPath

Commit migrated from https://github.com/dotnet/coreclr/commit/64f7da4344d88d4641410801a4b32eccf0941e47

8 years agoMerge pull request dotnet/coreclr#4266 from janvorli/fix-brick-table-issue
Maoni Stephens [Mon, 11 Apr 2016 22:22:15 +0000 (15:22 -0700)]
Merge pull request dotnet/coreclr#4266 from janvorli/fix-brick-table-issue

Fix brick table issue on Unix

Commit migrated from https://github.com/dotnet/coreclr/commit/906f9f15899825b8ab35659008c8905d9362e78c

8 years agoMerge pull request dotnet/coreclr#4261 from yizhang82/byvalarray_fix
Yi Zhang (CLR) [Mon, 11 Apr 2016 22:15:28 +0000 (15:15 -0700)]
Merge pull request dotnet/coreclr#4261 from yizhang82/byvalarray_fix

Fix ByValArray support.

ByValArray marshalling is implemented actually in OleVariant.cpp, which implements both regular array marshalling and variant marshalling). Regular array marshalling code should be supported in x-plat but it was incorrectly #ifdef-ed out. Fix by only #ifdef the COM interop VARIANT part.

Fix dotnet/coreclr#4262 and dotnet/coreclr#4194

Commit migrated from https://github.com/dotnet/coreclr/commit/c3626d39aeae19c4c787ae8eed3f8bb8adcc6e7f

8 years agoAdd symbol packages for coreclr runtime.
Mike McLaughlin [Tue, 5 Apr 2016 00:52:15 +0000 (17:52 -0700)]
Add symbol packages for coreclr runtime.

Depends on the new buildtools symbol support.

Update build tools version containing the new symbol file support.

Commit migrated from https://github.com/dotnet/coreclr/commit/1800e5f71da458298e25b52ce35e0c6ae5976fcc

8 years agoMerge remote-tracking branch 'upstream/master'
Mike McLaughlin [Mon, 11 Apr 2016 21:54:33 +0000 (14:54 -0700)]
Merge remote-tracking branch 'upstream/master'

Commit migrated from https://github.com/dotnet/coreclr/commit/bfbde8d29cf245a0bf1eb027367851ad84aafa61

8 years agoFix validation of spectralnorm under xunit-performance
Andy Ayers [Mon, 11 Apr 2016 21:21:56 +0000 (14:21 -0700)]
Fix validation of spectralnorm under xunit-performance

The valiation code wasn't correctly for the iteration strategy
used by xunit-performance.

Closes dotnet/coreclr#4270.

Commit migrated from https://github.com/dotnet/coreclr/commit/73a947cde48114ef3989d84112d67b6a6f746c64

8 years agoFix bug where Tags weren't respected in tracelogging.
David Mason [Mon, 11 Apr 2016 20:40:18 +0000 (13:40 -0700)]
Fix bug where Tags weren't respected in tracelogging.

Commit migrated from https://github.com/dotnet/coreclr/commit/f4825b5c761d2ad0ae7adc8b1d438c87a9a056bf

8 years agoIncrease max etw arguments to 64
David Mason [Mon, 11 Apr 2016 20:38:16 +0000 (13:38 -0700)]
Increase max etw arguments to 64

Commit migrated from https://github.com/dotnet/coreclr/commit/3ad6fc47997ae06da5e73dd6c5cf1ed3d1381503

8 years agoMerge pull request dotnet/coreclr#4269 from adiaaida/longSub
Michelle McDaniel [Mon, 11 Apr 2016 20:21:45 +0000 (13:21 -0700)]
Merge pull request dotnet/coreclr#4269 from adiaaida/longSub

Add support for x86 long subtract operator

Commit migrated from https://github.com/dotnet/coreclr/commit/dadc7388d0a323ef14eff8ffec74724577338c45

8 years agoMerge pull request dotnet/coreclr#4206 from BruceForstall/RyujitX86
Bruce Forstall [Mon, 11 Apr 2016 19:23:33 +0000 (12:23 -0700)]
Merge pull request dotnet/coreclr#4206 from BruceForstall/RyujitX86

Clean up JIT build rules

Commit migrated from https://github.com/dotnet/coreclr/commit/fc2f411a11709ffd3db9134a2e49c7ab1239c1c5

8 years agoMerge pull request dotnet/coreclr#4221 from BruceForstall/Cleanup1
Bruce Forstall [Mon, 11 Apr 2016 19:23:02 +0000 (12:23 -0700)]
Merge pull request dotnet/coreclr#4221 from BruceForstall/Cleanup1

Cleanup: be consistent about compCalleeFPRegsSavedMask #ifdefs

Commit migrated from https://github.com/dotnet/coreclr/commit/46ee199e23ef8d7bae3c3a29e98383734877ef3f

8 years agoMerge pull request dotnet/coreclr#4239 from BruceForstall/Cleanup2
Bruce Forstall [Mon, 11 Apr 2016 19:22:46 +0000 (12:22 -0700)]
Merge pull request dotnet/coreclr#4239 from BruceForstall/Cleanup2

Cleanup: remove getFramePointerReg()

Commit migrated from https://github.com/dotnet/coreclr/commit/9971220e29584ea5a696c544f7e24140aa973999

8 years agoMerge pull request dotnet/coreclr#4242 from BruceForstall/Cleanup3
Bruce Forstall [Mon, 11 Apr 2016 19:22:25 +0000 (12:22 -0700)]
Merge pull request dotnet/coreclr#4242 from BruceForstall/Cleanup3

Add genEstablishFramePointer() to enapsulate frame pointer creation

Commit migrated from https://github.com/dotnet/coreclr/commit/ac914bdbcf65a1e482ab5de541cb0c2d5b089855

8 years agoMerge pull request dotnet/coreclr#4243 from BruceForstall/Cleanup4
Bruce Forstall [Mon, 11 Apr 2016 19:21:56 +0000 (12:21 -0700)]
Merge pull request dotnet/coreclr#4243 from BruceForstall/Cleanup4

Minor JIT changes

Commit migrated from https://github.com/dotnet/coreclr/commit/16b539a95181a7ce2856726f751af0edc2a55c49

8 years agoAdd longgc to a new assert
Sean Gillespie [Mon, 11 Apr 2016 19:02:07 +0000 (12:02 -0700)]
Add longgc to a new assert

Commit migrated from https://github.com/dotnet/coreclr/commit/218cd94f35404990c070a0378f410357d8f33272

8 years agoAdd new trigger phrases to documentation
Sean Gillespie [Mon, 11 Apr 2016 18:52:16 +0000 (11:52 -0700)]
Add new trigger phrases to documentation

Commit migrated from https://github.com/dotnet/coreclr/commit/7b6ef57690bf7a502006652d0ec6c22d0d536fc7