platform/upstream/dotnet/runtime.git
7 years agoDead files
danmosemsft [Sat, 11 Feb 2017 01:01:50 +0000 (17:01 -0800)]
Dead files

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

7 years agoRemove always undefined FEATURE_APTCA
danmosemsft [Sat, 11 Feb 2017 00:07:45 +0000 (16:07 -0800)]
Remove always undefined FEATURE_APTCA

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

7 years agoRemove always defined FEATURE_CORESYSTEM
danmosemsft [Sat, 11 Feb 2017 00:07:45 +0000 (16:07 -0800)]
Remove always defined FEATURE_CORESYSTEM

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

7 years agoMerge pull request dotnet/coreclr#9491 from jkotas/NoInlining
Jan Kotas [Sat, 11 Feb 2017 00:58:48 +0000 (16:58 -0800)]
Merge pull request dotnet/coreclr#9491 from jkotas/NoInlining

Use DynamicSecurityMethod attribute to mark methods with StackCrawlMark

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

7 years agoMerge pull request dotnet/coreclr#9496 from CarolEidt/FixCoreFx15713
Carol Eidt [Sat, 11 Feb 2017 00:50:47 +0000 (16:50 -0800)]
Merge pull request dotnet/coreclr#9496 from CarolEidt/FixCoreFx15713

Fix System.Numerics.Vectors CoreFx test failures

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

7 years agoMerge pull request dotnet/coreclr#9499 from jashook/arm64_dyn_block_assert
Jarret Shook [Sat, 11 Feb 2017 00:40:59 +0000 (16:40 -0800)]
Merge pull request dotnet/coreclr#9499 from jashook/arm64_dyn_block_assert

ARM64 Modify genCodeForInitBlk assert

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

7 years agoMerge pull request dotnet/coreclr#9085 from mskvortsov/ryujit-arm32-eh
Bruce Forstall [Sat, 11 Feb 2017 00:03:42 +0000 (16:03 -0800)]
Merge pull request dotnet/coreclr#9085 from mskvortsov/ryujit-arm32-eh

[RyuJIT/ARM32] EH, switch implementation and various updates

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

7 years agoARM64 Modify genCodeForInitBlk assert
jashook [Fri, 10 Feb 2017 22:28:51 +0000 (14:28 -0800)]
ARM64 Modify genCodeForInitBlk assert

Assert in codegenarm64 was incorrect for the GT_STORE_DYN_BLK oper.
If it is that oper then there will not be a temp reg used and instead
the size is computed and stored into REG_2. Add an assert to assert
this is done.

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

7 years agoCreate lsra-throughput.md
Carol Eidt [Fri, 10 Feb 2017 22:33:12 +0000 (14:33 -0800)]
Create lsra-throughput.md

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

7 years agoUse DynamicSecurityMethod attribute to mark methods with StackCrawlMark
Jan Kotas [Fri, 10 Feb 2017 09:10:23 +0000 (01:10 -0800)]
Use DynamicSecurityMethod attribute to mark methods with StackCrawlMark

CoreCLR does not have CAS, and so we can conveniently use it to mark methods with StackCrawlMark to
decouple it from NoInlining. The original purpose of DynamicSecurityMethod was to disable inlining
of the caller and to insert CAS security checks, so we are basically just keeping the first part.

Fixes dotnet/coreclr#8102

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

7 years agoRevert "JIT: fix confusing inline failure reason"
Jan Kotas [Fri, 10 Feb 2017 18:59:33 +0000 (10:59 -0800)]
Revert "JIT: fix confusing inline failure reason"

This reverts commit dotnet/coreclr@0826f9dee6a8fdf8266523945708a684376b0280.

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

7 years agoMerge pull request dotnet/coreclr#9493 from pgavlin/ReportBytesAllocated
Pat Gavlin [Fri, 10 Feb 2017 19:29:49 +0000 (11:29 -0800)]
Merge pull request dotnet/coreclr#9493 from pgavlin/ReportBytesAllocated

Report bytes allocated in the JIT time log.

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

7 years agoFix System.Numerics.Vectors CoreFx test failures
Carol Eidt [Fri, 10 Feb 2017 18:34:09 +0000 (10:34 -0800)]
Fix System.Numerics.Vectors CoreFx test failures

CoreFx Issue 15713 is due to a case of an Indir(Addr(Field(Vector3 local))) which for some reason has a MorphAddrContext of MACK_Ind. Although I haven't fully identified why that is the case, we should be conservative in this case and mark the address as do-not-enregister.
In addition, when attempting to debug this with a Checked JIT, I encountered an AV due to `GetJitTls` returning null in the `JITDUMP` calls in `getMaxIntrinsicSIMDVectorLength`. Again, I'm not sure why this would be the case but I have added guarding conditions.

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

7 years agoJIT: enable implicit tail calls from inlined code (dotnet/coreclr#9405)
Andy Ayers [Fri, 10 Feb 2017 18:30:00 +0000 (10:30 -0800)]
JIT: enable implicit tail calls from inlined code (dotnet/coreclr#9405)

Inlines of calls from implicit tail call sites should allow recognition
of inlinee implicit tail call sites.

The jit recognizes implicit tail call sites during importation,
but the inlinee compiler instance did not have compTailCallOpt set
and so never recognized these instances. Fix this and update the logic
to detect the transitively implicit tail calls.

Now that these sites are recognized, morph needs a fix to tunnel through
repeated casts for tail calls, since each level of inlining might add a
cast. All these casts should be identical.

Note under R2R tail calls are not yet recognized (see ZapInfo::canTailCall).

Enable only under FEATURE_TAILCALL_OPT_SHARED_RETURN since the
inline tail call sites are not likely to be in BBJ_RETURN blocks.

Closes dotnet/coreclr#9349.

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

7 years agoUse `%Iu` instead of `%I64u`.
Pat Gavlin [Fri, 10 Feb 2017 18:06:59 +0000 (10:06 -0800)]
Use `%Iu` instead of `%I64u`.

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

7 years agoReport bytes allocated in the JIT time log.
Pat Gavlin [Fri, 10 Feb 2017 17:40:45 +0000 (09:40 -0800)]
Report bytes allocated in the JIT time log.

This adds a new column, "Total Bytes Allocated", to the JIT time log.
This column reports the total number of bytes requested from the host by
the JIT's arena allocator.

This change also enables `FEATURE_JIT_TIMER` by default (which only
affects JIT32).

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

7 years ago[Linux/ARM] Fix cross-architecture component build error: disable unused code (dotnet...
Hyeongseok Oh [Fri, 10 Feb 2017 10:36:29 +0000 (19:36 +0900)]
[Linux/ARM] Fix cross-architecture component build error: disable unused code (dotnet/coreclr#8866)

* [ARM32/Linux] Fix cross-architecture component build error: unused function comparing CONTEXT with T_CONTEXT.
- change build script: remove duplicate test build in cross-component build

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

7 years agoHide VirtualUnwindXXX for DACESS_COMPILE (dotnet/coreclr#9407)
Jonghyun Park [Fri, 10 Feb 2017 09:59:23 +0000 (18:59 +0900)]
Hide VirtualUnwindXXX for DACESS_COMPILE (dotnet/coreclr#9407)

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

7 years agoUnify GetControlPC/GetRegdisplaySP/SetRegdisplaySP (dotnet/coreclr#9444)
Jonghyun Park [Fri, 10 Feb 2017 09:42:56 +0000 (18:42 +0900)]
Unify GetControlPC/GetRegdisplaySP/SetRegdisplaySP (dotnet/coreclr#9444)

* Unify GetControlPC

* Unify GetRegdisplaySP/SetRegdisplaySP

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

7 years agoRemove CER metadata (dotnet/coreclr#9487)
Dan Moseley [Fri, 10 Feb 2017 08:13:09 +0000 (00:13 -0800)]
Remove CER metadata (dotnet/coreclr#9487)

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

7 years agoGcHandle Perf Tweaks (dotnet/coreclr#9473)
Ben Adams [Fri, 10 Feb 2017 08:12:50 +0000 (08:12 +0000)]
GcHandle Perf Tweaks (dotnet/coreclr#9473)

* GcHandle Perf Tweaks

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

7 years agoRevert earlier CAS changes to Eventing/** and put under !if !CORECLR (dotnet/coreclr...
Dan Moseley [Fri, 10 Feb 2017 02:45:47 +0000 (18:45 -0800)]
Revert earlier CAS changes to Eventing/** and put under !if !CORECLR (dotnet/coreclr#9478)

* Revert earlier CAS changes to Eventing/** and put under !if !CORECLR

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

7 years agoMerge pull request dotnet/coreclr#9455 from sivarv/structPromotion
Sivarv [Fri, 10 Feb 2017 02:31:17 +0000 (18:31 -0800)]
Merge pull request dotnet/coreclr#9455 from sivarv/structPromotion

Increase field count limit to 3 for promoting a struct with no field accesses.

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

7 years agoMerge pull request dotnet/coreclr#9456 from adiaaida/fixDesktopBreak
Michelle McDaniel [Fri, 10 Feb 2017 01:51:05 +0000 (17:51 -0800)]
Merge pull request dotnet/coreclr#9456 from adiaaida/fixDesktopBreak

Replace binary literal with hex

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

7 years agoMerge pull request dotnet/coreclr#9476 from jkotas/revert-9313
William Godbe [Fri, 10 Feb 2017 01:40:16 +0000 (17:40 -0800)]
Merge pull request dotnet/coreclr#9476 from jkotas/revert-9313

Revert "Delete mscorlib from packages (dotnet/coreclr#9313)"

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

7 years agoMerge pull request dotnet/coreclr#9470 from AndyAyersMS/FixNoinlineMessage
Andy Ayers [Fri, 10 Feb 2017 00:55:10 +0000 (16:55 -0800)]
Merge pull request dotnet/coreclr#9470 from AndyAyersMS/FixNoinlineMessage

JIT: fix confusing inline failure reason

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

7 years agoOptimize Span.Fill (dotnet/coreclr#9441)
Ahson Ahmed Khan [Fri, 10 Feb 2017 00:34:27 +0000 (16:34 -0800)]
Optimize Span.Fill (dotnet/coreclr#9441)

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

7 years agoIncrease the field count limit to 3 for promoting a struct with no filed access.
sivarv [Thu, 9 Feb 2017 19:27:29 +0000 (11:27 -0800)]
Increase the field count limit to 3 for promoting a struct with no filed access.

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

7 years agoRevert "Delete mscorlib from packages (dotnet/coreclr#9313)"
Jan Kotas [Fri, 10 Feb 2017 00:17:57 +0000 (16:17 -0800)]
Revert "Delete mscorlib from packages (dotnet/coreclr#9313)"

This reverts commit dotnet/coreclr@4fe623c9235e4df42be810d09ca7f282956e3cec.

# Conflicts:
# src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj

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

7 years agoMerge pull request dotnet/coreclr#9451 from JosephTremoulet/UpdateValnum
Joseph Tremoulet [Fri, 10 Feb 2017 00:11:03 +0000 (19:11 -0500)]
Merge pull request dotnet/coreclr#9451 from JosephTremoulet/UpdateValnum

Update conservative value numbers during CSE

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

7 years agoMerge pull request dotnet/coreclr#9293 from guhuro/master
Drew Scoggins [Thu, 9 Feb 2017 23:32:10 +0000 (15:32 -0800)]
Merge pull request dotnet/coreclr#9293 from guhuro/master

Add k-nucleotide to BenchmarkGames

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

7 years agoAdd k-nucleotide to BenchmarkGames
Gustavo Hurovich [Thu, 2 Feb 2017 23:27:48 +0000 (15:27 -0800)]
Add k-nucleotide to BenchmarkGames

Changed .gitattributes to set line endings to windows ones for the input
files of this test.
Added two different tests, one with and the other without parallelism.
Used FileStream instead of BufferedStream, since the latter does not
exist in netstandard 1.4

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

7 years ago[x86/Linux] Port SWCB_GetExecutionState (dotnet/coreclr#9436)
Jonghyun Park [Thu, 9 Feb 2017 22:33:46 +0000 (07:33 +0900)]
[x86/Linux] Port SWCB_GetExecutionState (dotnet/coreclr#9436)

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

7 years agoJIT: fix confusing inline failure reason
Andy Ayers [Thu, 9 Feb 2017 22:23:45 +0000 (14:23 -0800)]
JIT: fix confusing inline failure reason

When attempting to inline a method from the core library, the inline
will fail if the method being inlined has a noinline callee; the
presumption being that the callee expects to be able to find it's
immediate caller on the stack (this may or not may be the case, see dotnet/coreclr#8102).

Update the failure message for this case to hopefully better explain
why the inline doesn't happen.

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

7 years agoReplace binary literal with hex
Michelle McDaniel [Thu, 9 Feb 2017 21:09:33 +0000 (13:09 -0800)]
Replace binary literal with hex

The desktop build breaks with the binary literal used in the fat pointer
mask. Replace it with a hex equivalent.

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

7 years agoUpdate conservative value numbers during CSE
Joseph Tremoulet [Tue, 7 Feb 2017 19:43:29 +0000 (11:43 -0800)]
Update conservative value numbers during CSE

When a CSE candidate's defs all share the same conservative value number,
its uses can be updated to share that conservative value number as well
when CSE is performed, because we are removing any reloads that may have
been the cause of the divergence.  Performing this update can improve
subsequent range check elimination when the CSE use is array length or
index in a bounds check.

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

7 years agoMerge pull request dotnet/coreclr#9413 from jashook/fix_internal_build_warning
Jarret Shook [Thu, 9 Feb 2017 17:54:09 +0000 (09:54 -0800)]
Merge pull request dotnet/coreclr#9413 from jashook/fix_internal_build_warning

Fix warning from an unsigned/signed comparison

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

7 years agoInlinable ArraySegment ctor (dotnet/coreclr#9433)
Ben Adams [Thu, 9 Feb 2017 15:11:09 +0000 (15:11 +0000)]
Inlinable ArraySegment ctor (dotnet/coreclr#9433)

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

7 years agoRename __reserved to __clr_reserved to avoid a conflict on Android (dotnet/coreclr...
Frederik Carlier [Thu, 9 Feb 2017 12:55:20 +0000 (13:55 +0100)]
Rename __reserved to __clr_reserved to avoid a conflict on Android (dotnet/coreclr#9402)

* Rename __reserved to __clr_reserved to avoid a conflict on Android

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

7 years ago[x86/Linux] Fix UMThunkStub stack alignment (dotnet/coreclr#9365)
SaeHie Park [Thu, 9 Feb 2017 09:36:10 +0000 (18:36 +0900)]
[x86/Linux] Fix UMThunkStub stack alignment (dotnet/coreclr#9365)

Fixes out going call in UMThunkStub to be 16 byte stack aligned

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

7 years agoAddress the feedback.
Mikhail Skvortcov [Wed, 8 Feb 2017 10:26:22 +0000 (13:26 +0300)]
Address the feedback.

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

7 years agoRyuJIT/ARM32: more of verbosity for NYI tracking
Mikhail Skvortcov [Mon, 30 Jan 2017 10:58:12 +0000 (13:58 +0300)]
RyuJIT/ARM32: more of verbosity for NYI tracking

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

7 years agoRyuJIT/ARM32: misc tiny updates
Mikhail Skvortcov [Mon, 30 Jan 2017 10:55:53 +0000 (13:55 +0300)]
RyuJIT/ARM32: misc tiny updates

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

7 years agoRyuJIT/ARM32: update lea lowering
Mikhail Skvortcov [Mon, 30 Jan 2017 10:04:46 +0000 (13:04 +0300)]
RyuJIT/ARM32: update lea lowering

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

7 years agoRyuJIT/ARM32: enable fallback to legacy JIT
Mikhail Skvortcov [Thu, 26 Jan 2017 16:51:31 +0000 (19:51 +0300)]
RyuJIT/ARM32: enable fallback to legacy JIT

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

7 years agoRyuJIT/ARM32: enable DecomposeLongs phase
Mikhail Skvortcov [Thu, 26 Jan 2017 16:50:28 +0000 (19:50 +0300)]
RyuJIT/ARM32: enable DecomposeLongs phase

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

7 years agoRyuJIT/ARM32: fix consume order and clone emitInsTernary
Mikhail Skvortcov [Thu, 26 Jan 2017 16:49:05 +0000 (19:49 +0300)]
RyuJIT/ARM32: fix consume order and clone emitInsTernary

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

7 years agoRyuJIT/ARM32: refactor emitInsMov, update st.lclFld/Var codegen
Mikhail Skvortcov [Mon, 30 Jan 2017 08:47:46 +0000 (11:47 +0300)]
RyuJIT/ARM32: refactor emitInsMov, update st.lclFld/Var codegen

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

7 years agoRyuJIT/ARM32: fix node info for range check
Mikhail Skvortcov [Mon, 30 Jan 2017 08:08:06 +0000 (11:08 +0300)]
RyuJIT/ARM32: fix node info for range check

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

7 years agoRyuJIT/ARM32: enable call lowering
Mikhail Skvortcov [Mon, 30 Jan 2017 08:03:46 +0000 (11:03 +0300)]
RyuJIT/ARM32: enable call lowering

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

7 years agoRyuJIT/ARM32: enable switch and jump table codegen
Mikhail Skvortcov [Mon, 30 Jan 2017 08:00:34 +0000 (11:00 +0300)]
RyuJIT/ARM32: enable switch and jump table codegen

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

7 years agoRyuJIT/ARM32: enable EH code generation
Mikhail Skvortcov [Mon, 30 Jan 2017 07:56:32 +0000 (10:56 +0300)]
RyuJIT/ARM32: enable EH code generation

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

7 years agoMerge pull request dotnet/coreclr#9416 from wtgodbe/Suse13
Gaurav Khanna [Thu, 9 Feb 2017 07:35:40 +0000 (23:35 -0800)]
Merge pull request dotnet/coreclr#9416 from wtgodbe/Suse13

Remove OpenSuse13 from CI

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

7 years agoClean up GetAddrOfSecurityObject (dotnet/coreclr#9423)
Jonghyun Park [Thu, 9 Feb 2017 06:39:13 +0000 (15:39 +0900)]
Clean up GetAddrOfSecurityObject (dotnet/coreclr#9423)

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

7 years agoClean up EECodeManager::GetInstance (dotnet/coreclr#9424)
Jonghyun Park [Thu, 9 Feb 2017 06:38:12 +0000 (15:38 +0900)]
Clean up EECodeManager::GetInstance (dotnet/coreclr#9424)

* Clean up EECodeManager::GetInstance

* Use !CROSSGEN_COMPILE instead of CROSSGEN_COMPILE

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

7 years agoClean up EECodeManager::GetGSCookieAddr (dotnet/coreclr#9425)
Jonghyun Park [Thu, 9 Feb 2017 06:37:46 +0000 (15:37 +0900)]
Clean up EECodeManager::GetGSCookieAddr (dotnet/coreclr#9425)

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

7 years agoClean up EECodeManager::GetReturnKind (dotnet/coreclr#9426)
Jonghyun Park [Thu, 9 Feb 2017 06:37:27 +0000 (15:37 +0900)]
Clean up EECodeManager::GetReturnKind (dotnet/coreclr#9426)

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

7 years agoClean up EECodeManager::GetFunctionSize (dotnet/coreclr#9427)
Jonghyun Park [Thu, 9 Feb 2017 06:37:10 +0000 (15:37 +0900)]
Clean up EECodeManager::GetFunctionSize (dotnet/coreclr#9427)

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

7 years agoClean up EECodeManager::GetParamContextType (dotnet/coreclr#9428)
Jonghyun Park [Thu, 9 Feb 2017 06:36:55 +0000 (15:36 +0900)]
Clean up EECodeManager::GetParamContextType (dotnet/coreclr#9428)

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

7 years agoClean up EECodeManager::GetExactGenericsToken (dotnet/coreclr#9429)
Jonghyun Park [Thu, 9 Feb 2017 06:36:30 +0000 (15:36 +0900)]
Clean up EECodeManager::GetExactGenericsToken (dotnet/coreclr#9429)

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

7 years agoClean up EECodeManager::GetParamTypeArg (dotnet/coreclr#9430)
Jonghyun Park [Thu, 9 Feb 2017 06:35:09 +0000 (15:35 +0900)]
Clean up EECodeManager::GetParamTypeArg (dotnet/coreclr#9430)

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

7 years ago[x86/Linux] Revise TAStackCrawlCallBackWorker (dotnet/coreclr#9432)
Jonghyun Park [Thu, 9 Feb 2017 06:34:48 +0000 (15:34 +0900)]
[x86/Linux] Revise TAStackCrawlCallBackWorker (dotnet/coreclr#9432)

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

7 years agoMerge pull request dotnet/coreclr#9431 from BruceForstall/Fix9374
Bruce Forstall [Thu, 9 Feb 2017 04:17:23 +0000 (20:17 -0800)]
Merge pull request dotnet/coreclr#9431 from BruceForstall/Fix9374

Generate better code for x86 SIMD get[i] intrinsic

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

7 years agoMerge pull request dotnet/coreclr#9191 from sandreenko/CORERT-fat-call-transformation
Sergey Andreenko [Thu, 9 Feb 2017 02:33:23 +0000 (18:33 -0800)]
Merge pull request dotnet/coreclr#9191 from sandreenko/CORERT-fat-call-transformation

CoreRT fat call transformation

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

7 years ago[x86/Linux] Fix Calling Convertion Mismatch inside ilasm/ildasm (dotnet/coreclr#9410)
Jonghyun Park [Thu, 9 Feb 2017 01:27:57 +0000 (10:27 +0900)]
[x86/Linux] Fix Calling Convertion Mismatch inside ilasm/ildasm (dotnet/coreclr#9410)

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

7 years agoDelete unnecessary domain sanity check (dotnet/coreclr#9420)
Jan Kotas [Thu, 9 Feb 2017 01:26:37 +0000 (17:26 -0800)]
Delete unnecessary domain sanity check (dotnet/coreclr#9420)

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

7 years agoGenerate better code for x86 SIMD get[i] intrinsic
Bruce Forstall [Thu, 9 Feb 2017 00:54:31 +0000 (16:54 -0800)]
Generate better code for x86 SIMD get[i] intrinsic

For get[i] intrinsic, with LONG base type and constant index, we can
compute the decomposed indices statically.

Fixes dotnet/coreclr#9374

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

7 years agoMerge pull request dotnet/coreclr#9392 from BruceForstall/FixGtGetOp2
Bruce Forstall [Thu, 9 Feb 2017 00:59:05 +0000 (16:59 -0800)]
Merge pull request dotnet/coreclr#9392 from BruceForstall/FixGtGetOp2

Add gtGetPossibleOp2()

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

7 years ago[ARM32/Linux] Fix definition and CMake for cross-architecture build (dotnet/coreclr...
Hyeongseok Oh [Wed, 8 Feb 2017 23:49:23 +0000 (08:49 +0900)]
[ARM32/Linux] Fix definition and CMake for cross-architecture build (dotnet/coreclr#9262)

- Fix ABI flag based on target
- Exclude corefx for cross-architecture component

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

7 years agoSpan Slice method AggressiveInlining (dotnet/coreclr#9404)
Ahson Ahmed Khan [Wed, 8 Feb 2017 23:48:43 +0000 (15:48 -0800)]
Span Slice method AggressiveInlining (dotnet/coreclr#9404)

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

7 years agoCoreRT calli transformation
Sergey Andreenko [Sat, 28 Jan 2017 23:28:05 +0000 (15:28 -0800)]
CoreRT calli transformation

Transform managed calli when compiling for CoreRT.

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

7 years agoAdd gtGetOp2IfPresent()
Bruce Forstall [Tue, 7 Feb 2017 04:15:07 +0000 (20:15 -0800)]
Add gtGetOp2IfPresent()

It was noticed that many uses of gtGetOp2() fully expect op2 to
exist and be non-nullptr, and the use of gtGetOp2() was simply
for style/readability purposes. However, it has a cost, as it
checks whether the tree is binary first, and returns nullptr if
not. For most cases, this is unecessary and expensive.

Introduce a new gtGetOp2IfPresent() function that captures the
previous behavior: checking if the tree node is binary before
returning op2, or returning nullptr otherwise. gtGetOp2() is
changed to simply return gtOp2 directly, without any checking
in non-DEBUG builds. It can be used if you know the op2 exists.

Most uses of gtGetOp2() were left alone (and hence get the new
behavior). The ones that need the old behavior were renamed
gtGetOp2IfPresent().

Mostly newer code is affected, as older code would generally
access gtOp2 directly, whereas newer code started using gtGetOp2()
for style and symmetry, especially after gtGetOp1() was introduced.

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

7 years agoMerge pull request dotnet/coreclr#9382 from BruceForstall/CallFinallyCleanup
Bruce Forstall [Wed, 8 Feb 2017 23:10:53 +0000 (15:10 -0800)]
Merge pull request dotnet/coreclr#9382 from BruceForstall/CallFinallyCleanup

Remove unnecessary parameter to genCallFinally()

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

7 years agoMerge pull request dotnet/coreclr#9386 from BruceForstall/FixSwitchTable
Bruce Forstall [Wed, 8 Feb 2017 23:10:22 +0000 (15:10 -0800)]
Merge pull request dotnet/coreclr#9386 from BruceForstall/FixSwitchTable

Fix compare/branch switch mode expansion

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

7 years agoFilter RefEmit modules in SendEventsForNgenMethods (dotnet/coreclr#9418)
Jan Kotas [Wed, 8 Feb 2017 22:39:46 +0000 (14:39 -0800)]
Filter RefEmit modules in SendEventsForNgenMethods (dotnet/coreclr#9418)

* Filter RefEmit modules in SendEventsForNgenMethods

Fixes dotnet/coreclr#6427

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

7 years agoMerge pull request dotnet/coreclr#9417 from wtgodbe/publishNativeBins
William Godbe [Wed, 8 Feb 2017 21:35:49 +0000 (13:35 -0800)]
Merge pull request dotnet/coreclr#9417 from wtgodbe/publishNativeBins

Publish test native bins from correct directory

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

7 years agoPublish test native bins from correct directory
wtgodbe [Wed, 8 Feb 2017 20:30:03 +0000 (12:30 -0800)]
Publish test native bins from correct directory

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

7 years agoRemove OpenSuse13 from CI
wtgodbe [Wed, 8 Feb 2017 18:50:37 +0000 (10:50 -0800)]
Remove OpenSuse13 from CI

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

7 years agoFix warning from an unsigned/signed comparison
jashook [Wed, 8 Feb 2017 17:44:07 +0000 (09:44 -0800)]
Fix warning from an unsigned/signed comparison

This fixes a desktop build break.

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

7 years agoMerge pull request dotnet/coreclr#9169 from JosephTremoulet/UntrackedMem
Joseph Tremoulet [Wed, 8 Feb 2017 16:09:05 +0000 (11:09 -0500)]
Merge pull request dotnet/coreclr#9169 from JosephTremoulet/UntrackedMem

Value-number byref loads

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

7 years agoValue-number `ByrefExposed` memory and loads
Joseph Tremoulet [Fri, 13 Jan 2017 19:55:06 +0000 (14:55 -0500)]
Value-number `ByrefExposed` memory and loads

Teach value numbering to keep track of the current value number for
`ByrefExposed` memory, updating it appropriately at relevant stores.
Introduce a new VN operator `ByrefExposedLoad`, used for loads of
address-exposed locals and loads by indirs that don't have more specific
value numbers, which is a function of the current `ByrefExposed` memory VN
and the pointer VN.  This allows loop hoisting and CSE to recognize
redundant loads via byrefs when there are no intervening stores.

Fixes dotnet/coreclr#7903.

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

7 years agoDefine `MemoryKind::ByrefExposed`
Joseph Tremoulet [Wed, 11 Jan 2017 19:58:57 +0000 (14:58 -0500)]
Define `MemoryKind::ByrefExposed`

Add a new `MemoryKind` to represent "any memory that byrefs may
reference", called `ByrefExposed`.  All definition points of `GcHeap`
become also definition points of `ByrefExposed`, and additionally, so do
definitions of address-exposed locals.

Because it is a common case (currently happening in 90% of methods in
System.Private.CoreLib) that a method has no definitions of
address-exposed locals, have liveness detect this condition and set the
new `byrefStatesMatchGcHeapStates` flag accordingly; when the states
match, the same `MemoryPhi`s, defnums, and `PerSsaData` are then shared
between the two memory kinds, to avoid excess allocations/processing.

This change defines `ByrefExposed` memory and its def/use points, and
builds SSA for it, but no optimizations make use of it, so this is a
no-diff change.

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

7 years agoIntroduce `MemoryKind` abstraction
Joseph Tremoulet [Thu, 29 Dec 2016 22:02:18 +0000 (17:02 -0500)]
Introduce `MemoryKind` abstraction

Re-cast the notion of "heap" (in liveness, SSA, and value-numbering) as
one of potentially many `MemoryKind`s, called `GcHeap`.  Update names,
comments, data structures, and signatures as appropriate to parameterize
relevant data/methods over `MemoryKind`.  This change is a no-diff
refactoring, and currently `GcHeap` is the only `MemoryKind`.  Generally,
codepaths which will generically need to process all `MemoryKinds`s
(initializing, dumping, dataflow propagation) now iterate over all
`MemoryKinds`, and codepaths which are sensitive to the semantics of the
specific `MemoryKind` (def/use identification in liveness and value
numbering) are changed to specifically operate on `MemoryKind::GcHeap`.

One notable exception is that `lvMemoryPerSsaData` and `CountForMemoryDef`
are *not* parameterized over `MemoryKind`; there's a single "space" of SSA
defnums for memory defs (though the same tree can incur different defs for
different memory kinds [in which case their defnums will differ]), to
facilitate subsequently sharing SSA nodes across memory kinds when
appropriate.

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

7 years agoRefactor fgCurHeapVN and HeapSsaMap updates
Joseph Tremoulet [Fri, 13 Jan 2017 17:29:37 +0000 (12:29 -0500)]
Refactor fgCurHeapVN and HeapSsaMap updates

Consolodate the code for updating the current heap VN and HeapSsaMap
entries into new helper method `recordHeapStore`, to make it easier to
evolve that code.  Change `fgValueNumberArrIndexAssign` to return the new
heap VN to allow callers to pass it down into `recordHeapStore`
accordingly.

This is just a refactoring; no change to compiler behavior.

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

7 years agoMerge pull request dotnet/coreclr#9329 from JosephTremoulet/LateArgVN
Joseph Tremoulet [Wed, 8 Feb 2017 14:31:52 +0000 (09:31 -0500)]
Merge pull request dotnet/coreclr#9329 from JosephTremoulet/LateArgVN

Get call arg value numbers from late args

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

7 years agoClean up EnumGcRefs (dotnet/coreclr#9412)
Jonghyun Park [Wed, 8 Feb 2017 13:38:15 +0000 (22:38 +0900)]
Clean up EnumGcRefs (dotnet/coreclr#9412)

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

7 years agoMerge pull request dotnet/coreclr#9408 from jashook/disable_checked_arm64
Russ Keldorph [Wed, 8 Feb 2017 12:49:42 +0000 (04:49 -0800)]
Merge pull request dotnet/coreclr#9408 from jashook/disable_checked_arm64

Disable checked arm64 jobs until jobs are stable

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

7 years ago[x86/Linux] Use SP as StackMarker (dotnet/coreclr#9389)
Jonghyun Park [Wed, 8 Feb 2017 09:29:23 +0000 (18:29 +0900)]
[x86/Linux] Use SP as StackMarker (dotnet/coreclr#9389)

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

7 years agoDisable checked arm64 jobs until jobs are stable
jashook [Wed, 8 Feb 2017 05:36:17 +0000 (21:36 -0800)]
Disable checked arm64 jobs until jobs are stable

Jobs currently are expected to run red until a lstFile update goes in. Therefore,
disable the job as a PR trigger until it is clean.

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

7 years agoAdd ComVisible(true) back to several special types (dotnet/coreclr#9403)
Jan Kotas [Wed, 8 Feb 2017 03:30:40 +0000 (19:30 -0800)]
Add ComVisible(true) back to several special types (dotnet/coreclr#9403)

It is required by WinRT/COM interop. Fixes dotnet/coreclr#9401.

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

7 years agoRemove more CAS (dotnet/coreclr#9390)
Dan Moseley [Tue, 7 Feb 2017 22:10:09 +0000 (14:10 -0800)]
Remove more CAS (dotnet/coreclr#9390)

* Remove PermissionSet

* Remove HostProtectionAttribute

* Remove PermissionState

* Remove S.Security.Permissions

* Remove IPrincipal

* Fix native side

* Remove model.xml again

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

7 years agoFix field type for ByReference<T> and TypedReference (dotnet/coreclr#9284)
Koundinya Veluri [Tue, 7 Feb 2017 20:58:51 +0000 (12:58 -0800)]
Fix field type for ByReference<T> and TypedReference (dotnet/coreclr#9284)

Fix field type for `ByReference<T>` and `TypedReference`

Fixes dotnet/coreclr#7894

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

7 years agoAdd scripts & docs which support creating an Android toolchain on Linux (dotnet/corec...
Frederik Carlier [Tue, 7 Feb 2017 18:19:31 +0000 (19:19 +0100)]
Add scripts & docs which support creating an Android toolchain on Linux (dotnet/coreclr#9175)

* Add scripts & docs which support creating an Android toolchain on Linux

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

7 years agoMerge pull request dotnet/coreclr#9385 from jashook/lower_block_store_arm64
Russ Keldorph [Tue, 7 Feb 2017 18:14:24 +0000 (10:14 -0800)]
Merge pull request dotnet/coreclr#9385 from jashook/lower_block_store_arm64

Call LowerBlockStore TreeNodeInfoInitBlockStore

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

7 years agoDesign portable tail calls with helpers (dotnet/coreclr#8596)
Jan Vorlicek [Tue, 7 Feb 2017 15:13:37 +0000 (16:13 +0100)]
Design portable tail calls with helpers (dotnet/coreclr#8596)

* Design portable tail calls with helpers

Currently we don't handle non-trivial cases of tail calls on Unix due to the non-portable and
complex way it is implemented. This pull request describes a design of a portable way of
handling these cases so that it can be used uniformly over all our jitted and AOT (ahead of time)
platforms.

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

7 years agoMerge pull request dotnet/coreclr#9383 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Tue, 7 Feb 2017 14:16:27 +0000 (09:16 -0500)]
Merge pull request dotnet/coreclr#9383 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-25007-01, beta-25007-01, respectively (master)

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

7 years ago[x86/Linux] Clean up EHContext-related code (dotnet/coreclr#9395)
Jonghyun Park [Tue, 7 Feb 2017 14:08:15 +0000 (23:08 +0900)]
[x86/Linux] Clean up EHContext-related code (dotnet/coreclr#9395)

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

7 years agoRemove bclrewriter (dotnet/coreclr#9351)
Dan Moseley [Tue, 7 Feb 2017 14:00:55 +0000 (06:00 -0800)]
Remove bclrewriter (dotnet/coreclr#9351)

* Remove bclrewriter

* Dump crossgen error to Jenkins log

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

7 years agoClean up methods for USE_GC_INFO_DECODER (dotnet/coreclr#9394)
Jonghyun Park [Tue, 7 Feb 2017 13:47:14 +0000 (22:47 +0900)]
Clean up methods for USE_GC_INFO_DECODER (dotnet/coreclr#9394)

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

7 years agoMove GC/Coverage/delete_next_card_table to the Long GC playlist (dotnet/coreclr#9376)
Sean Gillespie [Tue, 7 Feb 2017 04:11:13 +0000 (20:11 -0800)]
Move GC/Coverage/delete_next_card_table to the Long GC playlist (dotnet/coreclr#9376)

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