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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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