platform/upstream/dotnet/runtime.git
8 years agoFix build breaks in arm64 and legacy internal amd64 builds
Jan Kotas [Sun, 15 May 2016 04:20:09 +0000 (21:20 -0700)]
Fix build breaks in arm64 and legacy internal amd64 builds

[tfs-changeset: 1604829]

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

8 years agoUse different value for win32resource for System.Private.CoreLib. (dotnet/coreclr...
AlexGhiondea [Sun, 15 May 2016 04:15:16 +0000 (21:15 -0700)]
Use different value for win32resource for System.Private.CoreLib. (dotnet/coreclr#4964)

When building both mscorlib and System.Private.CoreLib we should use a different name to avoid conflicting on this file.

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

8 years agoMerge pull request dotnet/coreclr#4972 from RussKeldorph/fix2235
Russ Keldorph [Sun, 15 May 2016 00:41:18 +0000 (17:41 -0700)]
Merge pull request dotnet/coreclr#4972 from RussKeldorph/fix2235

Re-enable arrres.il test

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

8 years agoAdd support for reverse PInvoke callouts to the JIT (dotnet/coreclr#4952)
Jan Kotas [Sat, 14 May 2016 06:40:00 +0000 (23:40 -0700)]
Add support for reverse PInvoke callouts to the JIT (dotnet/coreclr#4952)

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

8 years agoMerge pull request dotnet/coreclr#4927 from ramarag/ModifyBuildOnly
Rama krishnan Raghupathy [Sat, 14 May 2016 05:32:52 +0000 (22:32 -0700)]
Merge pull request dotnet/coreclr#4927 from ramarag/ModifyBuildOnly

Removing Redundant  Projects that are BuildOnly:

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

8 years agoRe-enable arrres.il test
Russ Keldorph [Sat, 14 May 2016 04:19:36 +0000 (21:19 -0700)]
Re-enable arrres.il test

arrres.il is a quesionable test case because it relies on finalizers being
run even though the JIT is allowed to extend the lifetime of objects
beyond the point where finalizer effects are checked.  The test could be
fixed, but for now I'm just marking it as requiring optimization, which is
what has been done previously.  I'm deleting the "dbg" project because it
is the same as the "rel" project except that it disables optimization.

Fixes dotnet/coreclr#2330

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

8 years agoInitial implementation of generic dictionary access for R2R. (dotnet/coreclr#4519)
Fadi Hanna [Sat, 14 May 2016 03:35:54 +0000 (20:35 -0700)]
Initial implementation of generic dictionary access for R2R. (dotnet/coreclr#4519)

For now, only TypeHandle dictionary entry slots are supported and encoded in a R2R version resilient format (the rest to come soon).
Support is only limited for x64 Windows platforms (rest is still TODO)

The basic idea: each dictionary access is initally a call to a DynamicHelper R2R cell that computes the dictionary signature, and patches the R2R cell address with an assembly stub that performs the dictionary lookup.

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

8 years agoRemoving Redundant Projects that are BuildOnly :
Rama krishnan Raghupathy [Thu, 12 May 2016 06:56:29 +0000 (23:56 -0700)]
Removing Redundant Projects that are BuildOnly :
RunOnly Projects should refer to only BuildAndRun projects
BuildOnly projects are to be used only for Non-Execution cases
and custom execution drivers

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

8 years agoPort string.PadLeft and string.PadRight from CoreRT (dotnet/coreclr#4968)
Bruce Bowyer-Smyth [Sat, 14 May 2016 02:25:22 +0000 (12:25 +1000)]
Port string.PadLeft and string.PadRight from CoreRT (dotnet/coreclr#4968)

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

8 years agoMerge pull request dotnet/coreclr#4970 from dotnet-bot/from-tfs
Jan Kotas [Sat, 14 May 2016 02:24:38 +0000 (19:24 -0700)]
Merge pull request dotnet/coreclr#4970 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoFix a PCH-related issue in the jitstdout change.
Pat Gavlin [Fri, 13 May 2016 23:39:52 +0000 (16:39 -0700)]
Fix a PCH-related issue in the jitstdout change.

[tfs-changeset: 1604771]

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

8 years agoMerge pull request dotnet/coreclr#4901 from LLITCHEV/Issue4801
Jarret Shook [Fri, 13 May 2016 23:37:32 +0000 (16:37 -0700)]
Merge pull request dotnet/coreclr#4901 from LLITCHEV/Issue4801

Add a issues target file with tests to be excluded on jit32 x86.

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

8 years agoAdd a issues target file with thests to be excluded on jit32 x86.
Lubomir Litchev [Tue, 10 May 2016 23:44:40 +0000 (16:44 -0700)]
Add a issues target file with thests to be excluded on jit32 x86.

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

8 years agoMerge pull request dotnet/coreclr#4922 from adityamandaleeka/remove_getfilenamefromsy...
Aditya Mandaleeka [Fri, 13 May 2016 21:45:27 +0000 (14:45 -0700)]
Merge pull request dotnet/coreclr#4922 from adityamandaleeka/remove_getfilenamefromsymlink

Change how PAL file I/O functions treat symbolic links

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

8 years agoMerge pull request dotnet/coreclr#4958 from swgillespie/disable-gcstress
Sean Gillespie [Fri, 13 May 2016 21:13:21 +0000 (14:13 -0700)]
Merge pull request dotnet/coreclr#4958 from swgillespie/disable-gcstress

Exclude from GCStress a few tests that take an unreasonably long time to complete

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

8 years agoMerge pull request dotnet/coreclr#4942 from pgavlin/gh4832
Pat Gavlin [Fri, 13 May 2016 21:02:56 +0000 (14:02 -0700)]
Merge pull request dotnet/coreclr#4942 from pgavlin/gh4832

Use a JIT-specific stdout `FILE*`.

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

8 years agoMerge pull request dotnet/coreclr#4957 from RussKeldorph/fix2235
Russ Keldorph [Fri, 13 May 2016 20:55:41 +0000 (13:55 -0700)]
Merge pull request dotnet/coreclr#4957 from RussKeldorph/fix2235

Reenable passing tests

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

8 years agoMerge pull request dotnet/coreclr#4961 from AndyAyersMS/RandomInlineBudgetLimit
Andy Ayers [Fri, 13 May 2016 20:23:49 +0000 (13:23 -0700)]
Merge pull request dotnet/coreclr#4961 from AndyAyersMS/RandomInlineBudgetLimit

Add budget check to RandomPolicy

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

8 years agoMerge pull request dotnet/coreclr#4955 from briansull/fix-asmdiff
Brian Sullivan [Fri, 13 May 2016 19:51:37 +0000 (12:51 -0700)]
Merge pull request dotnet/coreclr#4955 from briansull/fix-asmdiff

Fix issue with Arm64 AsmDiffs

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

8 years agoMerge pull request dotnet/coreclr#4956 from mmitche/gcstress-no-push
Matt Mitchell [Fri, 13 May 2016 19:02:43 +0000 (12:02 -0700)]
Merge pull request dotnet/coreclr#4956 from mmitche/gcstress-no-push

Run gcstress pri1r2r only a few times a week

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

8 years agoMerge pull request dotnet/coreclr#4959 from tijoytom/master
tijoytom [Fri, 13 May 2016 18:44:26 +0000 (11:44 -0700)]
Merge pull request dotnet/coreclr#4959 from tijoytom/master

Renaming to StringToCoTaskMemUTF8

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

8 years agoAdd budget check to RandomPolicy
Andy Ayers [Fri, 13 May 2016 18:32:49 +0000 (11:32 -0700)]
Add budget check to RandomPolicy

Prevents RandomPolicy from being overly aggressive with small methods
that can lead to excessive inlining.

Closes dotnet/coreclr#4711. Undoes dotnet/coreclr#4704.

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

8 years agoRenaming the API StringToCoTaskMemUTF8 since we
tijoytk [Fri, 13 May 2016 18:07:28 +0000 (11:07 -0700)]
Renaming the API StringToCoTaskMemUTF8 since we
need to be consistent with existing one.Also
fixing a merge conflict.

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

8 years agoExclude from GCStress a few tests that take an unreasonably long time to complete
Sean Gillespie [Fri, 13 May 2016 17:38:19 +0000 (10:38 -0700)]
Exclude from GCStress a few tests that take an unreasonably long time to complete

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

8 years agoRun gcstress pri1r2r only a few times a week
Matt Mitchell [Fri, 13 May 2016 17:19:57 +0000 (10:19 -0700)]
Run gcstress pri1r2r only a few times a week

Currently this is set on push, but since it can take days to run this is a bad idea

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

8 years agoReenable passing tests
Russ Keldorph [Fri, 13 May 2016 17:12:52 +0000 (10:12 -0700)]
Reenable passing tests

Many of the tests listed in dotnet/coreclr#2235 are now passing since their dependencies
have been fixed.  b57367 is a notable exception; it's static dependency is
now satisfied, but at runtime it loads a type that is not present in .NET
Core.  I'm deleting it because I verified there are other tests that test
the same load/invoke pattern (on different types).

The rest of the tests listed in dotnet/coreclr#2235 have already been deleted for other
reasons.

Fixes dotnet/coreclr#2235

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

8 years agoFix issue with Arm64 AsmDiffs
Brian Sullivan [Fri, 13 May 2016 17:11:58 +0000 (10:11 -0700)]
Fix issue with Arm64 AsmDiffs

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

8 years agoMerge pull request dotnet/coreclr#4911 from tijoytom/master
tijoytom [Fri, 13 May 2016 17:08:23 +0000 (10:08 -0700)]
Merge pull request dotnet/coreclr#4911 from tijoytom/master

Marshaling helpers for MarshalAs LPUTF8Str.

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

8 years agoMerge pull request dotnet/coreclr#4813 from pgavlin/gh3058
Pat Gavlin [Fri, 13 May 2016 13:30:46 +0000 (06:30 -0700)]
Merge pull request dotnet/coreclr#4813 from pgavlin/gh3058

Disable FEATURE_MERGE_JIT_AND_ENGINE on *nix.

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

8 years agoMerge pull request dotnet/coreclr#4921 from AndyAyersMS/InlineReplay
Andy Ayers [Fri, 13 May 2016 07:34:40 +0000 (00:34 -0700)]
Merge pull request dotnet/coreclr#4921 from AndyAyersMS/InlineReplay

Inliner: introduce ReplayPolicy

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

8 years agoAddress code review feedback.
Pat Gavlin [Fri, 13 May 2016 03:48:39 +0000 (20:48 -0700)]
Address code review feedback.

Flip the order of the PID and activation function checks in the activation
signal handler.

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

8 years agoChain activation signal handlers in the PAL.
Pat Gavlin [Wed, 11 May 2016 20:41:07 +0000 (13:41 -0700)]
Chain activation signal handlers in the PAL.

The handler for the PAL's activation signal (`SIGRTMIN` on Linux) was
not properly chaining to the previous handler. This caused problems
with thread suspension on Linux in the case that multiple PALs were
loaded in a process: whichever PAL was loaded last would handle the
signal, and if that PAL was not configured to perform the appropriate
thread suspension, the runtime would hang.

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

8 years agoMerge pull request dotnet/coreclr#4941 from gkhanna79/Fix4938
Gaurav Khanna [Fri, 13 May 2016 03:42:13 +0000 (20:42 -0700)]
Merge pull request dotnet/coreclr#4941 from gkhanna79/Fix4938

Enable SHA256 to be used as hashing algorithm for compiler/assembler

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

8 years agoMerge pull request dotnet/coreclr#4945 from dotnet-bot/from-tfs
Matt Ellis [Fri, 13 May 2016 02:48:23 +0000 (19:48 -0700)]
Merge pull request dotnet/coreclr#4945 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoStop using SYS_delete syscall for deleting files.
Aditya Mandaleeka [Fri, 13 May 2016 01:04:47 +0000 (18:04 -0700)]
Stop using SYS_delete syscall for deleting files.

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

8 years agoAdd tests for file IO functions operating on symlinks.
Aditya Mandaleeka [Wed, 11 May 2016 23:58:54 +0000 (16:58 -0700)]
Add tests for file IO functions operating on symlinks.

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

8 years agoMerge pull request dotnet/coreclr#4932 from JohnChen0/r2r
John Chen [Fri, 13 May 2016 00:39:03 +0000 (17:39 -0700)]
Merge pull request dotnet/coreclr#4932 from JohnChen0/r2r

Fix contract violations in Ready to Run code

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

8 years agoMerge pull request dotnet/coreclr#4933 from dotnet-bot/from-tfs
Kyungwoo Lee [Fri, 13 May 2016 00:00:18 +0000 (17:00 -0700)]
Merge pull request dotnet/coreclr#4933 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoInliner: introduce ReplayPolicy
Andy Ayers [Tue, 10 May 2016 21:19:41 +0000 (14:19 -0700)]
Inliner: introduce ReplayPolicy

The ReplayPolicy reads an external script to determine which inlines
to perform. The script is the same Xml syntax that's produced by
the inliner when JitInlineDumpXml is enabled. This format can be edited
by hand or tool to force particular inlining patterns to occur. Methods
or calls sites not mentioned in the script are considered as noinline.

There's a bunch of work still left to make this fully robust, but in
testing it works well enough for my immediate use case that I'll hold
off on further polish until it's needed. But, for future reference,
here's a laundry list:

* Need better ways to identify methods. Token and hash are not enough.
* Need better ways to identify call sites. Callee token is not enough.
* Consider preparsing or mapping the script into memory.
* Consider caching node positions in the InlineContexts.
* Make it robust for multithreading.
* Handle the prejit root case somehow.
* Possibly allow overriding of inline attributes.

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

8 years agoUpdate first-class-structs.md
Carol Eidt [Thu, 12 May 2016 23:34:00 +0000 (16:34 -0700)]
Update first-class-structs.md

Update some progress and fix some formatting

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

8 years agoUse a JIT-specific stdout `FILE*`.
Pat Gavlin [Thu, 12 May 2016 21:32:13 +0000 (14:32 -0700)]
Use a JIT-specific stdout `FILE*`.

Historically, the JIT has had issues with logging inside of processes
that change the output mode of stdout (e.g. crossgen). This change
replaces the previous solution (which relied on #ifdefs) by dup'ing
the stdout file and wrapping it in a new `FILE*` set to a known
output mode.

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

8 years agoEnable SHA256 to be used as hashing algorithm for compiler/assembler
Gaurav Khanna [Thu, 12 May 2016 23:08:10 +0000 (16:08 -0700)]
Enable SHA256 to be used as hashing algorithm for compiler/assembler

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

8 years agoSmall formatting fix
Russ Keldorph [Thu, 12 May 2016 23:07:27 +0000 (16:07 -0700)]
Small formatting fix

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

8 years agoMerge pull request dotnet/coreclr#4899 from swgillespie/gcsimulator-fixup
Sean Gillespie [Thu, 12 May 2016 21:55:12 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#4899 from swgillespie/gcsimulator-fixup

Enable the GCSimulator CI run to run on a regular basis

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

8 years agoMarshaling helpers for MarshalAs LPUTF8Str.
tijoytk [Wed, 11 May 2016 17:00:52 +0000 (10:00 -0700)]
Marshaling helpers for MarshalAs LPUTF8Str.

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

8 years agoMerge pull request dotnet/coreclr#4915 from tarekgh/FixLowerAsciiCharChecks
Tarek Mahmoud Sayed [Thu, 12 May 2016 20:17:40 +0000 (13:17 -0700)]
Merge pull request dotnet/coreclr#4915 from tarekgh/FixLowerAsciiCharChecks

Fix the optimization check to call ordinal

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

8 years agoFix contract violations in Ready to Run code
John Chen (CLR) [Thu, 12 May 2016 17:02:33 +0000 (10:02 -0700)]
Fix contract violations in Ready to Run code

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

8 years agoApply the JIT interface changes needed for Fadi's upcoming shared generics change.
Pat Gavlin [Thu, 12 May 2016 19:57:13 +0000 (12:57 -0700)]
Apply the JIT interface changes needed for Fadi's upcoming shared generics change.

[tfs-changeset: 1604316]

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

8 years agoUpdate unix-test-instructions.md
Aditya Mandaleeka [Thu, 12 May 2016 19:51:46 +0000 (12:51 -0700)]
Update unix-test-instructions.md

Add quotes around coreFxBinDir in unix-test-instructions document.

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

8 years agoFix trival build break, with warning treated as error for jmpDist usage
Brian Sullivan [Thu, 12 May 2016 18:21:17 +0000 (11:21 -0700)]
Fix trival build break, with warning treated as error for jmpDist usage

[tfs-changeset: 1604285]

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

8 years agoMerge pull request dotnet/coreclr#4931 from dotnet-bot/from-tfs
Bruce Forstall [Thu, 12 May 2016 17:59:50 +0000 (10:59 -0700)]
Merge pull request dotnet/coreclr#4931 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoMerge pull request dotnet/coreclr#4419 from ellismg/change-default-locale
Matt Ellis [Thu, 12 May 2016 17:42:33 +0000 (10:42 -0700)]
Merge pull request dotnet/coreclr#4419 from ellismg/change-default-locale

Change how we detect the default locale

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

8 years agoMerge pull request dotnet/coreclr#4919 from kyulee1/switch
Kyungwoo Lee [Thu, 12 May 2016 17:24:56 +0000 (10:24 -0700)]
Merge pull request dotnet/coreclr#4919 from kyulee1/switch

ARM64: Switch Expansion Using Jump Table

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

8 years agoARM64: Switch Expansion Using Jump Table
Kyungwoo Lee [Thu, 12 May 2016 04:48:40 +0000 (21:48 -0700)]
ARM64: Switch Expansion Using Jump Table

Fixes dotnet/coreclr#3332
To validate various addressing in dotnet/coreclr#4896, I just enable this.
Previously, we only allow a load operation to JIT data (`ldr` or
`IF_LARGELDC`).
For switch expansion, jump table is also recorded into JIT data.
In this case, we only get the address of jump table head, and
load the right entry after computing offset. So, basically `adr` or
`IF_LARGEADR` is used to not only load label within code but also refer to
the location of JIT data.
The typical code sequence for switch expansion is like this:

```
  adr     x8, [@RWD00]          // load address of jump table head
  ldr     w8, [x8, x0, LSL dotnet/coreclr#2]  // load jump entry from table addr + x0 * 4
  adr     x9, [G_M56320_IG02]   // load address of current baisc block
  add     x8, x8, x9            // Add them to compute the final target
  br      x8                    // Indirectly jump to the target
```

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

8 years agoFix desktop build
Jan Kotas [Thu, 12 May 2016 15:54:17 +0000 (08:54 -0700)]
Fix desktop build

[tfs-changeset: 1604234]

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

8 years agoMerge pull request dotnet/coreclr#4926 from mylibero/issue4925
Kyungwoo Lee [Thu, 12 May 2016 15:46:53 +0000 (08:46 -0700)]
Merge pull request dotnet/coreclr#4926 from mylibero/issue4925

Fixed a build error on ARM

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

8 years agoFixed a build error on ARM
Dongyun Jin [Thu, 12 May 2016 06:24:07 +0000 (15:24 +0900)]
Fixed a build error on ARM

The recent commit (61fe464) breaks ARM build.
It defines emitInsToJumpKind twice in src/jit/emit.h on ARM.

Signed-off-by: Dongyun Jin <dongyun.jin@samsung.com>
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/ebe8f551bf59befc8925681f50e43d83e6823992

8 years agoMerge pull request dotnet/coreclr#4872 from vancem/FixETWArgs
David Mason [Thu, 12 May 2016 04:45:31 +0000 (21:45 -0700)]
Merge pull request dotnet/coreclr#4872 from vancem/FixETWArgs

Fix problem getting arguments from ETW to an EventSource.

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

8 years agoMerge pull request dotnet/coreclr#4896 from kyulee1/longjmp
Kyungwoo Lee [Thu, 12 May 2016 04:37:47 +0000 (21:37 -0700)]
Merge pull request dotnet/coreclr#4896 from kyulee1/longjmp

ARM64: Enable Long Address

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

8 years agoMerge pull request dotnet/coreclr#4920 from pgavlin/JitStandaloneDefs
Pat Gavlin [Thu, 12 May 2016 04:21:47 +0000 (21:21 -0700)]
Merge pull request dotnet/coreclr#4920 from pgavlin/JitStandaloneDefs

Remove the use of `CROSSGEN_COMPILE` in jitconfigvalues.h.

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

8 years agoARM64: Enable Long Address
Kyungwoo Lee [Fri, 6 May 2016 15:11:08 +0000 (08:11 -0700)]
ARM64: Enable Long Address

Fixes https://github.com/dotnet/coreclr/issues/3668
Currently ARM64 codegen can have reference within +/-1 MB due to encoding
restriction in `b<cond>/adr/ldr` instructions. This is normally okay
assuming each function is reasonably small, but certainly not working for large method which also
can be formed with an aggressive inlining probably like crossgen/corert scenarios.
In addition, for hot/cold code separation long address is a prerequisite
since reference can be across different regions which are arbitrary.
In fact, we need additional relocations which are not in this change yet.

In details, this supports long address for conditional jump/address loading/constant
loading operations by default while they can be shortened later by
`emitJumpDistBind()` if they can fit into the smaller encoding. Logically
those operations now can reach within +/-4GB address range.
Note I haven't extended unconditional jump in this change for simplicity
so it can reach within +/-128MB same as before.
`emitOutputLJ` is extended to finally encode these operations.

There are 3 pseudo instructions introduced. These can be expanded either
short/long form.

1. Conditional jump. See `emitIns_J()`
   a. Short form(`IF_BI_0B`): `b<cond> rel_addr`
   b. Long form(`IF_LARGEJMP`):
   ```
     b<rev cond> $LABEL
     b rel_addr (unconditional jump)
   $LABEL:
   ```

2. Load label(address computation). See `emitIns_R_L()`
   a. Short form(`IF_DI_1E`): `adr x, [rel_addr]`
   b. Long form(`IF_LARGEADR`):
   ```
      adrp x, [rel_page_addr]
      add x, x, page_offs
   ```

3. Load constant (from JIT data). See `emitIns_R_C()`
   a. Short form(`IF_LS_1A`): `ldr x, [rel_addr]`
   b. Long form(`IF_LARGLDC`):
   ```
      adrp x, [rel_page_addr]
      ldr x, [x, page_offs]
     (fmov v, x in case loading vector constant)
   ```

In addition, JIT data is aligned on 8 byte to be accessible from large
load. Replaced JitLargeBranches by JitLongAddress to test stress on these
operations.

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

8 years agoFix the optimization check to call ordinal
Tarekm Mahmoud Sayed [Wed, 11 May 2016 17:38:21 +0000 (10:38 -0700)]
Fix the optimization check to call ordinal

we have some optimization to check if we can perform the string search as ordinal
operation instead of lingustic operation. we used to check if the string is Ascii
which check if all chars in the string are in range 0~7F.
This check was not enough because in Linux, ICU do some special handling for some
characters in the Ascii range. so we need to avoid calling the ordinal operation
when encountering such chracters.
The fix is to take the advantage of String.IsFastSort which do exactly what we need

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

8 years agoMerge pull request dotnet/coreclr#4917 from LLITCHEV/Issue2329
Lubomir Litchev [Thu, 12 May 2016 02:10:31 +0000 (19:10 -0700)]
Merge pull request dotnet/coreclr#4917 from LLITCHEV/Issue2329

Increase timeout for GCStress jobs. Set the gcstress15_pri1r2r to be a

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

8 years agoRemove the use of `CROSSGEN_COMPILE` in jitconfigvalues.h.
Pat Gavlin [Wed, 11 May 2016 22:18:54 +0000 (15:18 -0700)]
Remove the use of `CROSSGEN_COMPILE` in jitconfigvalues.h.

This symbol was previously used to ensure that noway failures did not trigger
debugger breaks when running non-release builds of the JIT in crossgen on the
desktop CLR. We believe that this behavior is no longer necessary nor desirable.

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

8 years agoMerge pull request dotnet/coreclr#4916 from BruceForstall/TweakLongs
Bruce Forstall [Wed, 11 May 2016 22:23:37 +0000 (15:23 -0700)]
Merge pull request dotnet/coreclr#4916 from BruceForstall/TweakLongs

Small tweaks to RyuJIT/x86 LONG handling

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

8 years agoIncrease timeout for GCStress jobs. Set the gcstress15_pri1r2r to be a
Lubomir Litchev [Wed, 11 May 2016 18:46:31 +0000 (11:46 -0700)]
Increase timeout for GCStress jobs. Set the gcstress15_pri1r2r to be a
GCStress job.

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

8 years agoAvoid following symlinks in PAL move/delete functions.
Aditya Mandaleeka [Wed, 11 May 2016 22:08:36 +0000 (15:08 -0700)]
Avoid following symlinks in PAL move/delete functions.

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

8 years agoMerge pull request dotnet/coreclr#4809 from ramarag/ZapUnwindInfo
Rama krishnan Raghupathy [Wed, 11 May 2016 21:15:11 +0000 (14:15 -0700)]
Merge pull request dotnet/coreclr#4809 from ramarag/ZapUnwindInfo

[Arm64]: Implement GetUnwindDataBlob

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

8 years agoMerge pull request dotnet/coreclr#1241 from mikedn/modopt
Bruce Forstall [Wed, 11 May 2016 18:39:04 +0000 (11:39 -0700)]
Merge pull request dotnet/coreclr#1241 from mikedn/modopt

Extend the DIV/MOD dividend into RDX:RAX only if needed

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

8 years agoMerge pull request dotnet/coreclr#4762 from geoffkizer/ecsopt
Geoff Kizer [Wed, 11 May 2016 18:29:50 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#4762 from geoffkizer/ecsopt

Optimize async invocation

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

8 years agoMerge pull request dotnet/coreclr#4848 from mikedn/lsra-counts
Carol Eidt [Wed, 11 May 2016 18:21:07 +0000 (11:21 -0700)]
Merge pull request dotnet/coreclr#4848 from mikedn/lsra-counts

Remove unnecessary LSRA members

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

8 years agoSmall tweaks to RyuJIT/x86 LONG handling
Bruce Forstall [Wed, 11 May 2016 17:35:47 +0000 (10:35 -0700)]
Small tweaks to RyuJIT/x86 LONG handling

1. Display GT_LONG trees in JitDump as gt_long, not just "long". This
helps distinguish them from the pervasive "long" type, making them easier
to see and search for.
2. Change the "hi" operator GT_* node definition to not include GTK_EXOP.
3. Dump the lva table after lvaPromoteLongVars().

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

8 years agoMerge pull request dotnet/coreclr#4890 from AlexGhiondea/BuildRefAssemblyPerTargetOS
Wes Haggard [Wed, 11 May 2016 17:22:29 +0000 (10:22 -0700)]
Merge pull request dotnet/coreclr#4890 from AlexGhiondea/BuildRefAssemblyPerTargetOS

Fix the reference assembly for mscorlib to match the surface area of the OS

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

8 years agoMerge pull request dotnet/coreclr#4903 from BruceForstall/MoveToLegacy
Bruce Forstall [Wed, 11 May 2016 17:13:06 +0000 (10:13 -0700)]
Merge pull request dotnet/coreclr#4903 from BruceForstall/MoveToLegacy

Move some LEGACY_BACKEND code to codegenlegacy.cpp

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

8 years agoMerge pull request dotnet/coreclr#4900 from BruceForstall/PartialFix4817c
Bruce Forstall [Wed, 11 May 2016 17:12:39 +0000 (10:12 -0700)]
Merge pull request dotnet/coreclr#4900 from BruceForstall/PartialFix4817c

Fix kill set of rep stos to include ECX

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

8 years agoMerge pull request dotnet/coreclr#4895 from tijoytom/master
tijoytom [Wed, 11 May 2016 16:57:46 +0000 (09:57 -0700)]
Merge pull request dotnet/coreclr#4895 from tijoytom/master

Cleaning up a bunch of warnings.

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

8 years agoMerge pull request dotnet/coreclr#4898 from dotnet-bot/from-tfs
Jan Kotas [Wed, 11 May 2016 11:17:04 +0000 (04:17 -0700)]
Merge pull request dotnet/coreclr#4898 from dotnet-bot/from-tfs

Merge changes from TFS

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

8 years agoLinux/ARM: Use -O1 level to avoid segfault in release-build for Linux/ARM (dotnet...
Geunsik Lim [Wed, 11 May 2016 08:44:36 +0000 (17:44 +0900)]
Linux/ARM: Use -O1 level to avoid segfault in release-build for Linux/ARM (dotnet/coreclr#4904)

We cannot still run 'hello world' console application even though
the cross compilation of CoreCLR is successfully completed.
In release-build, the segmentation fault of 'hello world'
is made by the misalignment of thread local storage (TLS) section
because of the aggressive optimization level of clang compiler for
code optimization(e.g., file size and execution speed).
It means that Clang/LLVM has a bug in case of the usage of O2/O3 flag.

Below is the major difference among the optimization levels of Clang.
* -O2 is based on -O1:
  .adding: -gvn -constmerge -globaldce -slp-vectorizer -mldst-motion -inline
  .removing: -always-inline
* -O3 is based on -O2:
  .adding: -argpromotion

ver2:
- Corerun is loading 'libcoreclr.so' using dlopen() library call. So, we can not
  use initial-exec TLS model (ver1) because of the thread-safe issue of
  the multi-threaded. (Reported by @janvorli)
- In the release-build, Let's replace -O3 with -O1 to avoid the segmentation
  fault due to the aggressive optimization level of the Clang until fixing
  the bug of the Clang/LLVM.

ver1:
- The default value of clang is "global-dynamic". However, the thread-local
storage (TLS) model of Clang/LLVM does not guarantee the normal execution
of TLS's symbol relocation due to the misaligned __tls_get_addr symbol in
case of the aggressive optimizations of Clang on Linux/ARM.
- Let's enable initial-exec TLS model instead of the dynamic TLS model.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
CC: Jan Kotas <jkotas@microsoft.com>
CC: Jan Vorlicek <janvorli@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/ee28eca285fc71acad093eb5e34101d2ab9e2018

8 years agoImprove performance of ExecutionContextSwitcher to help async invocation perf
geoffkizer [Thu, 11 Feb 2016 19:44:19 +0000 (11:44 -0800)]
Improve performance of ExecutionContextSwitcher to help async invocation perf

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

8 years ago[Arm64]: Implement GetUnwindDataBlob
Rama Krishnan Raghupathy [Thu, 5 May 2016 22:45:22 +0000 (15:45 -0700)]
[Arm64]: Implement GetUnwindDataBlob

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

8 years agoMove some LEGACY_BACKEND code from codegencommon.cpp to codegenlegacy.cpp
Bruce Forstall [Wed, 11 May 2016 00:33:09 +0000 (17:33 -0700)]
Move some LEGACY_BACKEND code from codegencommon.cpp to codegenlegacy.cpp

And, move some header file changes from codegen.h to codegenclassic.h.

The code moved were whole functions with no apparent tight coupling with
other code already in codegencommon.cpp.

The code moved had some #ifndef LEGACY_BACKEND portions, no longer
needed, removed.

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

8 years agoChange hosting API string encoding to UTF-8 on Windows (dotnet/coreclr#4894)
Jan Vorlicek [Wed, 11 May 2016 00:15:45 +0000 (02:15 +0200)]
Change hosting API string encoding to UTF-8 on Windows (dotnet/coreclr#4894)

This change fixes a problem with the string encoding in the hosting API
using CP_ACP, which causes problem when the input is a string in other
language than the current Windows one. In such case, it loses some
characters.
The fix is to use UTF-8 encoding (which is what CP_ACP means on Unix
PAL too).

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

8 years agoFix kill set of rep stos to include ECX
Bruce Forstall [Tue, 10 May 2016 23:43:55 +0000 (16:43 -0700)]
Fix kill set of rep stos to include ECX

There was a very strange condition in the existing code to only
conditionally include ECX in the kill set. I convinced myself that
for AMD64, this condition always holds in this code path (which
makes a lot more sense anyway), so I removed the condition, and
also made all this code execute for x86 as well.

Fixes dotnet/coreclr#4817

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

8 years agoEnable the GCSimulator CI run to run on a regular basis
Sean Gillespie [Tue, 10 May 2016 19:03:16 +0000 (12:03 -0700)]
Enable the GCSimulator CI run to run on a regular basis

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

8 years agoFix razzle build breaks
Jan Kotas [Tue, 10 May 2016 23:26:42 +0000 (16:26 -0700)]
Fix razzle build breaks

[tfs-changeset: 1603547]

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

8 years agoBuild the reference assembly and the facade for mscorlib.
Alex Ghiondea [Tue, 10 May 2016 21:53:35 +0000 (14:53 -0700)]
Build the reference assembly and the facade for mscorlib.

Make sure that the facade projects generates pdbs when possible.

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

8 years agoCreate a Nuget package that will contain the reference assembly for mscorlib.
Alex Ghiondea [Tue, 10 May 2016 19:46:55 +0000 (12:46 -0700)]
Create a Nuget package that will contain the reference assembly for mscorlib.

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

8 years agoCleaning up a bunch of warnings.
tijoytk [Tue, 10 May 2016 22:19:24 +0000 (15:19 -0700)]
Cleaning up a bunch of warnings.

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

8 years agoFix the reference assembly for mscorlib to match the surface area of the OS on which...
Alex Ghiondea [Tue, 10 May 2016 18:21:17 +0000 (11:21 -0700)]
Fix the reference assembly for mscorlib to match the surface area of the OS on which it builds.

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

8 years agoMerge pull request dotnet/coreclr#4891 from BruceForstall/PartialFix4817
Bruce Forstall [Tue, 10 May 2016 21:51:44 +0000 (14:51 -0700)]
Merge pull request dotnet/coreclr#4891 from BruceForstall/PartialFix4817

Block ops using rep on x86 need to kill edi/esi/ecx, same as x64

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

8 years agoMerge pull request dotnet/coreclr#4878 from AndyAyersMS/AddMissingBenchmarkAttrs
Andy Ayers [Tue, 10 May 2016 20:54:13 +0000 (13:54 -0700)]
Merge pull request dotnet/coreclr#4878 from AndyAyersMS/AddMissingBenchmarkAttrs

Add missing xunit performance attributes

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

8 years agoDisable FEATURE_MERGE_JIT_AND_ENGINE on *nix.
Pat Gavlin [Fri, 6 May 2016 00:12:20 +0000 (17:12 -0700)]
Disable FEATURE_MERGE_JIT_AND_ENGINE on *nix.

Now that dotnet/coreclr#3058 has been fixed, the JIT can be consumed as a dynamic
library on all platforms.

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

8 years agoOne for fix for non-windows platforms
Vance Morrison [Tue, 10 May 2016 19:32:13 +0000 (12:32 -0700)]
One for fix for non-windows platforms

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

8 years agoBlock ops using rep on x86 need to kill edi/esi/ecx, same as x64
Bruce Forstall [Tue, 10 May 2016 18:52:30 +0000 (11:52 -0700)]
Block ops using rep on x86 need to kill edi/esi/ecx, same as x64

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

8 years agoMerge pull request dotnet/coreclr#4833 from AlexGhiondea/StringBuilderFixes
AlexGhiondea [Tue, 10 May 2016 18:36:05 +0000 (11:36 -0700)]
Merge pull request dotnet/coreclr#4833 from AlexGhiondea/StringBuilderFixes

Improve detection of error condition when using StringBuilder

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

8 years agoOptimize integer div/mod by const power of 2 in lowering
Mike Danes [Mon, 9 May 2016 22:01:12 +0000 (01:01 +0300)]
Optimize integer div/mod by const power of 2 in lowering

Optimizing GT_DIV/GT_UDIV/GT_MOD/GT_UMOD by power of 2 in codegen is problematic because the xarch DIV instruction has special register requirements. By the time codegen decides to perform the optimization the rax and rdx registers have been already allocated by LSRA even though they're not always needed (as it happens in the case of unsigned division where CDQ isn't used).

Since the JIT can't represent a CDQ instruction in its IR an arithmetic shift (GT_RSH) has been instead to extract the dividend sign. xarch's SAR is larger than CDQ but it has the advantage that it doesn't require specific registers. Also, arithmetic shifts are available on architectures other than xarch.

Example: method "static int foo(int x) => x / 8;" is now compiled to
mov      eax, ecx
mov      edx, eax
sar      edx, 31
and      edx, 7
add      edx, eax
mov      eax, edx
sar      eax, 3

instead of
mov      eax, ecx
cdq
and      edx, 7
add      eax, edx
sar      eax, 3

As a side-effect of this change the optimization now also works when the divisor is too large to be contained. Previously this wasn't possible because the divisor constant needed to be modified during codegen but the constant was already loaded into a register.

Example: method "static ulong foo(ulong x) => x / 4294967296;" is now compiled to
mov      rax, rcx
shr      rax, 32

whereas before a DIV instruction was used.

This change also fixes an issue in fgShouldUseMagicNumberDivide. The optimization that is done in lower can handle negative power of 2 divisors but fgShouldUseMagicNumberDivide handled those cases because it didn't check the absolute value of the divisor.

Example: method "static int foo(int x) => return x / -2;" is now compiled to

mov      eax, ecx
mov      edx, eax
shr      edx, 31
add      edx, eax
sar      edx, 1
mov      eax, edx
neg      eax

instead of
mov      eax, 0x7FFFFFFF
imul     edx:eax, ecx
mov      eax, edx
sub      eax, ecx
mov      edx, eax
shr      edx, 31
add      eax, edx

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

8 years agoMerge pull request dotnet/coreclr#4793 from tijoytom/master
tijoytom [Tue, 10 May 2016 17:33:36 +0000 (10:33 -0700)]
Merge pull request dotnet/coreclr#4793 from tijoytom/master

UTF8 Marshaling support(UnmanagedType.LPUTF8Str)

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

8 years agoFix non-widows builds.
Vance Morrison [Tue, 10 May 2016 16:38:55 +0000 (09:38 -0700)]
Fix non-widows builds.

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

8 years agoFix ArgumentNullException messages passed as parameter names (dotnet/coreclr#2889)
Hugh Bellamy [Tue, 10 May 2016 14:52:05 +0000 (15:52 +0100)]
Fix ArgumentNullException messages passed as parameter names (dotnet/coreclr#2889)

Fixed several ArgumentNullExceptions that throw with the message as the parameter name, leading to potential confusion for developers.

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

8 years agoAdjust relative offsets in UMThunkStub (dotnet/coreclr#4888)
Jonghyun Park [Tue, 10 May 2016 14:51:26 +0000 (23:51 +0900)]
Adjust relative offsets in UMThunkStub (dotnet/coreclr#4888)

* Adjust relative offsets in UMThunkStub

This commit updates the relative offsets inside UMThunkStub according to the recent changes in
UMThunkStub (for stack unwinding).

* Uses 'UMThunkStub_StackArgsSize' instead of 'UMThunkStub_StackArgsOffset'

This commit revises 'UM2MThunk_WrapperHelper' to use 'UMThunkStub_StackArgsSize'
instead of 'UMThunkStub_StackArgsOffset'.

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