Viktor Hofer [Tue, 8 Jan 2019 13:13:48 +0000 (14:13 +0100)]
Attempt to fix paths with spaces again (dotnet/coreclr#21837)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3498fd9788651659b478ce4aad7c9b6bf4eafc2
Dan Moseley [Tue, 8 Jan 2019 06:25:27 +0000 (22:25 -0800)]
Fix path length 255 (dotnet/coreclr#21838)
* Fix path length 255
* Fix assert
* Dead code
Commit migrated from https://github.com/dotnet/coreclr/commit/
c885564832facf8a9cdcbe9baa1c7a18321cb9bd
Will Cohen [Tue, 8 Jan 2019 06:19:28 +0000 (17:19 +1100)]
Update ceemain.cpp (dotnet/coreclr#21869)
Commit migrated from https://github.com/dotnet/coreclr/commit/
13c3af5bae229d426cfcd607e1bfecfb071df4a1
Jan Kotas [Tue, 8 Jan 2019 02:18:03 +0000 (18:18 -0800)]
CoreRT updates for files moved to shared partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
b7f67c967a1acb311e7873b515edc92f74b658af
Marek Safar [Tue, 8 Jan 2019 00:57:44 +0000 (01:57 +0100)]
Moves ComTypes to shared partition (dotnet/coreclr#21861)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a2ceb3fd146d9171b8c362aa8679d996d3e5bde
Tanner Gooding [Tue, 8 Jan 2019 00:57:34 +0000 (16:57 -0800)]
Fixing ContainCheckHWIntrinsic to ensure that scalar integer operands are the appropriate size (dotnet/coreclr#21641)
* Fixing ContainCheckHWIntrinsic to ensure that scalar integer operands are the appropriate size
* Adding a regression test for issue 21625
* Fixing IsContainableHWIntrinsicOp to use the containing node type (rather than the simd base type) for Scalar intrinsics
* Fixing the containment check for `Sse41.Insert(V128<float>, V128<float>, byte)`
* Cleaning up the isContainableHWIntrinsicOp logic in lowerxarch.cpp
* Restrict containment to genActualType(baseType)
* Formatting
* Removing some comments and simplifying the supportsContainment checks for various HWIntrinsics that take a scalar operand
* Applying formatting patch
Commit migrated from https://github.com/dotnet/coreclr/commit/
ccaf35e1e0dc6bbfb86e4fe6b8c24fe8fe346e55
Stephen Toub [Tue, 8 Jan 2019 00:22:14 +0000 (19:22 -0500)]
Check GenerateGuidForType argument for null (dotnet/coreclr#21851)
* Check GenerateGuidForType argument for null
* Also check for RuntimeType
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2ac0f95ae6d453634dbe42159ad1f740cbe0958
Bruce Forstall [Mon, 7 Jan 2019 22:14:33 +0000 (14:14 -0800)]
Collect Windows test run logs into testReports.zip file (dotnet/coreclr#21813)
* Collect Windows test run logs into testReports.zip file
And upload these to Jenkins, so we can see how the tests ran.
* Archive test Reports even if the test run fails
* Need to use "call" when invoking runtest.cmd batch file
Commit migrated from https://github.com/dotnet/coreclr/commit/
59a2e255348ede17f1b57a88abc9fa04eeb2b556
Jeremy Koritzinsky [Mon, 7 Jan 2019 22:11:12 +0000 (14:11 -0800)]
Fix CharSet on StringBuilder hidden null terminator test (dotnet/coreclr#21853)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fee8d6ad6fc27073f88755dbc066d1aea8da5517
Mike McLaughlin [Mon, 7 Jan 2019 21:33:29 +0000 (13:33 -0800)]
Actually fix issue dotnet/coreclr#21484 reported by the customer. (dotnet/coreclr#21850)
GC heap globals like ephemeral_heap_segment and finalize_queue are
null/invalid for a server GC. Add a check to skip the workstation GC
memory enumeration if server. The server memory enumeration already
skips if workstation GC.
Commit migrated from https://github.com/dotnet/coreclr/commit/
101c99fdfe6c0c348fea615f6388d23a6e397fc6
Andy Ayers [Mon, 7 Jan 2019 21:12:39 +0000 (13:12 -0800)]
JIT: encapsulate general checks for optimization (dotnet/coreclr#21822)
* JIT: encapsulate general checks for optimization
Add methods that answer the general question of whether or not
the jit is optimizing the code it produces.
Use this to replace composite checks for minopts and debug
codegen (the two modes where the jit is not optimizing).
* inline keyword cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d54c590315ad682ed74f9491654720d83532ae7
David Mason [Mon, 7 Jan 2019 20:53:52 +0000 (12:53 -0800)]
Respect the instrumented code maps passed by the profiler in a rejit (dotnet/coreclr#21786)
We currently do not respect the rejit provided instrumentation maps in DebuggerJitInfo::SetBoundaries, this change updates it to use the rejit map if one exists.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8b934f0b52ecc019fee8ffaa48e658451a84996
Ben Adams [Mon, 7 Jan 2019 19:53:41 +0000 (20:53 +0100)]
Improve CustomAttribute (dotnet/coreclr#21832)
* Reduce local scopes in AddCustomAttributes
* CustomAttribute.cs tidy up
* Less struct copies
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5cb6c35fc18dcf2221f56ecb6a78f194c7fcd0c
Jan Vorlicek [Mon, 7 Jan 2019 18:21:40 +0000 (19:21 +0100)]
Remove invalid test b21296 (dotnet/coreclr#21507)
This test was doing in-place modification of a managed string using
unsafe code which breaks string interning.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3d8246ed6618dd5b291acc9347b07c0ed3a27da
Sven Boemer [Mon, 7 Jan 2019 16:51:13 +0000 (08:51 -0800)]
Publish symbol packages (dotnet/coreclr#21769)
Commit migrated from https://github.com/dotnet/coreclr/commit/
364ea875bbfb9065b15b1496e710c1baca03c1e8
Marek Safar [Mon, 7 Jan 2019 16:07:37 +0000 (17:07 +0100)]
Moves StackTrace to shared partition (dotnet/coreclr#21757)
* Moves StackTrace to shared partition
* Remove obsolete comment
* StackFrame::GetFileName behaves like property, remove SecurityException
* Adjust CoreRT ifdefs, fix names for consistency
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5c10c97f827354a83ef2915d31ac4e1c212662f
Sven Boemer [Mon, 7 Jan 2019 15:56:04 +0000 (07:56 -0800)]
Fix missing project error in official build (dotnet/coreclr#21767)
In response to https://github.com/dotnet/arcade/pull/1567.
This uses an empty project to work around the new behavior that requires a project file even for restore operations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0d778417449b2e44ba2fedacd3046f1af755744
Tomáš Rylek [Mon, 7 Jan 2019 12:32:04 +0000 (13:32 +0100)]
Fix incorrect assignment of READYTORUN_HELPER_[Dbl|Flt][Rem/Round] (dotnet/coreclr#21836)
Turns out there's a long-standing typo in CoreCLR that reverses
the helper enumeration values for DBL and FLT. This doesn't seem
to be a problem in the CoreCLR repo as such because it solely
uses the legacy identifiers CORINFO_HELP_DBLREM et al. We have
however ported the incorrect helper enumeration values into R2RDump
and ILCompiler. This change immediately fixes R2RDump as it resides
in the same repo, I'll send out the ILCompiler change in
a separate PR.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bcbb84df02d73a89dd13ea7fa2257f542202dd81
Filip Navara [Mon, 7 Jan 2019 03:16:50 +0000 (04:16 +0100)]
Remove CAS era security checks around resource loads (dotnet/coreclr#21825)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee8bc3272391e46862dd8d27d3e086dc3bf953cf
Jan Kotas [Sun, 6 Jan 2019 19:15:43 +0000 (11:15 -0800)]
Revert "Fix ilasm exec on paths with spaces (dotnet/coreclr#21819)" (dotnet/coreclr#21835)
This reverts commit dotnet/coreclr@
b188e9d354e37e512c5b95bec38f0f06efb4161e.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3a4a5b292d516ea214006ca1b00feb04e40ec1d
Jan Kotas [Sun, 6 Jan 2019 16:47:06 +0000 (08:47 -0800)]
Delete redundant S.R.InteropServices.PInvokeMap and S.R.InteropServices.PInvokeMarshal (dotnet/coreclr#21831)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fcf2805fd887857ea727b7dd2658848427daaf9c
Ben Adams [Sun, 6 Jan 2019 04:25:02 +0000 (05:25 +0100)]
Remove redundant casts in TypeBuilder.CreateTypeNoLock (dotnet/coreclr#21824)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c239af7f3cfe1a62137a1c24a4228a69dd2df654
Ben Adams [Sun, 6 Jan 2019 04:24:35 +0000 (05:24 +0100)]
Maintain left.Equals(right) order for equality for compat (dotnet/coreclr#21829)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dda6df6ceaf0785c7bfd52fce3084b7f157c9588
dotnet-maestro-bot [Sun, 6 Jan 2019 02:04:27 +0000 (18:04 -0800)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03603-01, preview-27305-02, preview.19055.1, master-
20190105-0042, respectively (dotnet/coreclr#21749)
Commit migrated from https://github.com/dotnet/coreclr/commit/
da2fe0efcb1f022087108abb9c6000561aee8751
Ben Adams [Sun, 6 Jan 2019 01:49:58 +0000 (02:49 +0100)]
(Cdotnet/coreclr#7) Use pattern matching `is` rather than `as` with null check (dotnet/coreclr#21828)
* Use pattern matching `is` rather than `as` with null check
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0cdf8813ef099deec3b6940e34f20d1bba054b8
Andy Ayers [Sun, 6 Jan 2019 01:28:24 +0000 (17:28 -0800)]
inline keyword cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
a24b7a75d2f0b262564c10d69d0db27e3062c61a
Swaroop Sridhar [Sun, 6 Jan 2019 00:40:59 +0000 (16:40 -0800)]
Move Native Library APIs to NativeLibrary class (dotnet/coreclr#21821)
Move APIs that manipulate native libraries from
System.Runtime.InteropServices.Marshal class to the new
System.Runtime.InteropServices.NativeLibrary class.
In API review: dotnet/coreclr#32015,
The LoadLibrary APIs were originally Approved to live in
System.Runtime.InteropServices.Marshal class.
However, recently the decision was changed such that the APIs are
in a new NativeLibrary class.
Commit migrated from https://github.com/dotnet/coreclr/commit/
110835b1b818b333f27ab76db3f223a03027698a
Ben Adams [Sun, 6 Jan 2019 00:34:25 +0000 (01:34 +0100)]
Remove redundant unsafe contexts (dotnet/coreclr#21826)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dcf9f36c21022b8fce374559ec5fea8d11a0852b
Viktor Hofer [Sat, 5 Jan 2019 07:39:18 +0000 (08:39 +0100)]
Fix ilasm exec on paths with spaces (dotnet/coreclr#21819)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b188e9d354e37e512c5b95bec38f0f06efb4161e
Andy Ayers [Sat, 5 Jan 2019 01:18:18 +0000 (17:18 -0800)]
JIT: encapsulate general checks for optimization
Add methods that answer the general question of whether or not
the jit is optimizing the code it produces.
Use this to replace composite checks for minopts and debug
codegen (the two modes where the jit is not optimizing).
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c68562cbd2f7a33bad60705db9b11e3121d40c2
Matt Galbraith [Fri, 4 Jan 2019 23:38:40 +0000 (15:38 -0800)]
Fix misspelling (dotnet/coreclr#21640)
Commit migrated from https://github.com/dotnet/coreclr/commit/
83bd6ca494971c399b3fbebee4623d9bf294731d
Filip Navara [Fri, 4 Jan 2019 23:31:36 +0000 (00:31 +0100)]
Remove stack marks from GetSatelliteAssembly. (dotnet/coreclr#21812)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e986f5ed76701109f83d50df1da53ddb23624ab
Jan Kotas [Fri, 4 Jan 2019 22:55:56 +0000 (14:55 -0800)]
Delete unused fFullReset argument (dotnet/coreclr#21814)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2301baeda250ecbc557430dca7ea70afdc968d52
Filip Navara [Fri, 4 Jan 2019 22:54:06 +0000 (23:54 +0100)]
Avoid passing stack crawl mark unnecessarily deep in the call stack. (dotnet/coreclr#21783)
* Avoid passing stack crawl mark unnecessarily deep in the call stack.
* Move stack crawl from TypeName::GetTypeManaged to RuntimeTypeHandle::GetTypeByName.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ee2cb3a35fe1fa8d2d3b54c6839368ab8c89b73
Andrew Au [Fri, 4 Jan 2019 22:15:55 +0000 (14:15 -0800)]
If the debugger is stopped on a garbage collection event, resuming the threads during detach should simply be setting the event (dotnet/coreclr#21764)
Commit migrated from https://github.com/dotnet/coreclr/commit/
509419356160fc419a6bbf1b70f5efb8e1dc4d10
Bruce Forstall [Fri, 4 Jan 2019 22:14:47 +0000 (14:14 -0800)]
Merge pull request dotnet/coreclr#21806 from BruceForstall/CheckTestEnvCall
Check result of call to TestEnv script
Commit migrated from https://github.com/dotnet/coreclr/commit/
0234d6bcfe3c7cf98ba6dbd9d23cdbdcdd0d4a04
Ben Adams [Fri, 4 Jan 2019 19:38:22 +0000 (20:38 +0100)]
Support faster null checks (dotnet/coreclr#21765)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e82a5801bd804bff0bf6294d7135bbb63df92f6
Andy Ayers [Fri, 4 Jan 2019 19:05:43 +0000 (11:05 -0800)]
JIT: don't optimize struct copies for call args in debug or minopts (dotnet/coreclr#21792)
The jit will opportunistically optimize away copies for some struct call
arguments, if that argument is a "last use" for the struct (and some other
conditions apply).
In cases like dotnet/coreclr#21544 this leads to confusing debug experiences as inputs
to a call appear to be modified by the call.
Also we really should not be optimizing the code this way in debug or in
minopts codegen modes. So, block this optimization for debug and minopts.
Closes dotnet/coreclr#21544.
Commit migrated from https://github.com/dotnet/coreclr/commit/
df4a1854aa42c1e97874b00fe49339e216e30af9
Bruce Forstall [Fri, 4 Jan 2019 19:03:25 +0000 (11:03 -0800)]
Fix Windows arm32/arm64 testing (dotnet/coreclr#21809)
* Fix Windows arm32/arm64 testing
After the conversion to runtest.py, we were not getting any
JIT or GC stress mode testing:
1. The generated test env batch file didn't have a ".bat" extension,
so Windows wouldn't execute it.
2. The Python generated temp file was locked, so couldn't be read.
Added more logging.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0c969a072c05c0d602d16d68bc6e130fd17be88
Egor Chesakov [Fri, 4 Jan 2019 18:44:00 +0000 (10:44 -0800)]
Specify value of __RuntimeId for non-portable Linux test builds in build-test.sh (dotnet/coreclr#21777)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3eb581cf79f0cf195d6395fafd5a8b355a602242
Stephen Toub [Fri, 4 Jan 2019 02:26:46 +0000 (21:26 -0500)]
Add StringExtensions.Concat to fix Microsoft.IO.Redist assembly
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c90d7ec04e9167cb48d0eb4e49f6b5b6828b2d3a
Pent Ploompuu [Fri, 4 Jan 2019 15:07:46 +0000 (17:07 +0200)]
EventPipePayloadDecoder clean-up (dotnet/coreclr#21716)
* Remove ReadUnalignedGuid
* Make EventPipePayloadDecoder unconditionally little-endian
Commit migrated from https://github.com/dotnet/coreclr/commit/
606e36b862a1fa74c04abdd38b8b19752bd29280
Marek Safar [Fri, 4 Jan 2019 15:06:00 +0000 (16:06 +0100)]
Removes AppDomain dependency from TPLETWProvider (dotnet/coreclr#21709)
which always returns 1, to make code sharing easier
Commit migrated from https://github.com/dotnet/coreclr/commit/
07f1fcce9999990763638d9b545b4c78eb79bd61
Ben Adams [Fri, 4 Jan 2019 14:52:21 +0000 (15:52 +0100)]
Skip additional cast from common EC.Run calls (dotnet/coreclr#21789)
* Skip additional cast from common EC.Run calls
* Unsafe.As
Commit migrated from https://github.com/dotnet/coreclr/commit/
027a9105ae2783a7fffd6038bf07a5cf67ba287b
Jan Kotas [Fri, 4 Jan 2019 09:05:49 +0000 (23:05 -1000)]
Reflection performance tweaks & cleanup (dotnet/coreclr#21737)
- Delete internal "Unsafe" field getters/setters. They performance was very close (within 10%) of the regular getters/setters.
- Made a few performance tweaks in reflection to make reflection faster overall. The regular field getters/setters are faster than what the unsafe ones used to be with this change.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6269391cf04c656e9d472e1101e1ec670ecd605
Stephen Toub [Thu, 3 Jan 2019 16:34:52 +0000 (11:34 -0500)]
Use ValueStringBuilder instead of StringBuilderCache in PathInternal.Windows.cs
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d67f73b7223620b709b2c7e33e0f6e3cef5a7e8
Jeremy Koritzinsky [Fri, 4 Jan 2019 05:35:53 +0000 (21:35 -0800)]
Add test for StringBuilder null terminator implementation detail (dotnet/coreclr#21800)
* Remove some commented out code.
* Add test verifying that we put a null terminator 2-past the end of the native buffer allocated for a StringBuilder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
08019ac94eb8cd57abad4d03c803371290cfe210
Bruce Forstall [Fri, 4 Jan 2019 05:12:50 +0000 (21:12 -0800)]
Merge pull request dotnet/coreclr#21803 from BruceForstall/FixTypo
Fix batch script errors running JitOptimizationSensitive tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f446067444fb0218b4504e2ab6921fd7492d4a2
Bruce Forstall [Fri, 4 Jan 2019 03:39:07 +0000 (19:39 -0800)]
Check result of call to TestEnv script
If you give an illegal, not executable TestEnv script, then this
will not fail silently.
Commit migrated from https://github.com/dotnet/coreclr/commit/
118383661a30bfad6f6c45f2cae034ea05ec3e61
Bruce Forstall [Fri, 4 Jan 2019 03:11:47 +0000 (19:11 -0800)]
Fix batch script errors running JitOptimizationSensitive tests
Simple typo: REN instead of REM, leading to:
"The syntax of the command is incorrect."
Commit migrated from https://github.com/dotnet/coreclr/commit/
b68b45451271c270c643ba4d96acf2a72e331647
Egor Chesakov [Thu, 3 Jan 2019 20:13:13 +0000 (12:13 -0800)]
Use Kernel32 instead of api-ms-win-core-* in DllImports in SafeFileHandle.cs
Commit migrated from https://github.com/dotnet/coreclr/commit/
90a295c24f7f8764ea56670955340e2ddc764b00
Egor Bogatov [Fri, 4 Jan 2019 01:34:39 +0000 (04:34 +0300)]
Eliminate some bounds checks in Path (dotnet/coreclr#21721)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a294abdcff0281da1ad8eeb450b4e812030b269
Marek Safar [Fri, 4 Jan 2019 01:34:03 +0000 (02:34 +0100)]
Adds portable version of EncodingTable (dotnet/coreclr#21735)
* Adds portable version of EncodingTable
Most of the implementation is extracted from CoreRT
* Use string comparer directly
* Remove no longer used COMNlsInfo
* Adds localization support
* Removes FeatureCoreFxGlobalization configuration
* Remove redudant encodings look up from GetEncoding
* Keep Hashtable for nameToCodePage as it does not lock on read
* Replace locked dictionary lookup with short switch
* Include comment with msbuild task link used to generate the data file
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d2f4ed72a9d48164a4c8147fe7911e62a5d9594
Carol Eidt [Fri, 4 Jan 2019 00:28:47 +0000 (16:28 -0800)]
Merge pull request dotnet/coreclr#21619 from CarolEidt/FixDesktopSIMD
Fix desktop SIMD failures
Commit migrated from https://github.com/dotnet/coreclr/commit/
10c3e60c863d01f638daa240af957c3c5791cda5
Carol Eidt [Thu, 3 Jan 2019 22:52:01 +0000 (14:52 -0800)]
Merge pull request dotnet/coreclr#21776 from fiigii/fixAs
Fix Vector128/256 As<U> intrinsic recognition and exception
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f704d172863b50492a4a4254691fe1374a55b62
Stephen Toub [Thu, 3 Jan 2019 21:34:56 +0000 (16:34 -0500)]
Improve performance of Path.ChangeExtension (dotnet/coreclr#21766)
In the common case where it need to replace a non-empty extension with a non-empty extension, it currently incurs a substring without the original extension prior to then concatenating with the new extension. This PR avoids that.
(As the Path implementation is in corelib, this uses string.FastAllocateString and then formats into it with a span; if we wanted to avoid that, string.Create could also be used.)
* Add internal String.Concat overloads for spans
* Use span-based string.Concat overloads in several places
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f91ac8f374d30cd1a1122f78a90c35d7827a64a
Juan Hoyos [Thu, 3 Jan 2019 21:14:23 +0000 (13:14 -0800)]
Merge pull request dotnet/coreclr#21774 from hoyosjs/juhoyosa/event_size
Add payload size case for GC events
Commit migrated from https://github.com/dotnet/coreclr/commit/
48b94195efc8bc607660ec957c481bc7e13ccf62
Fei Peng [Thu, 3 Jan 2019 20:55:35 +0000 (12:55 -0800)]
Fix Vector128/256 As<U> intrinsic recognition and exception
Commit migrated from https://github.com/dotnet/coreclr/commit/
ffce0825f794bd7d849a014ff30d71b0f2388781
Jan Vorlicek [Thu, 3 Jan 2019 20:20:59 +0000 (21:20 +0100)]
Fix GC for collectible array of pure value types (dotnet/coreclr#21782)
For collectible arrays, we enter the mark_object_simple1 method even if
the array contains no pointers so that the reference to LoaderAllocator
can be walked. But we were missing skipping the call to go_through_object
which is both not necessary and it also doesn't work correctly for
objects without pointers (the loop over the fields reports the first 8
bytes of each array element as if it was a pointer).
The fix is to skip the call to go_through_object for objects without
pointers in the mark_object_simple1 and background_mark_simple1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
03ab0ca0f81313319f30cfd75ee56dc59d71390c
Stephen Toub [Thu, 3 Jan 2019 20:07:57 +0000 (15:07 -0500)]
Reduce allocation in Index/Range.ToString (dotnet/coreclr#21755)
* Reduce allocation in Index/Range.ToString
* Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
88eb93abba27e97d5997ad2d6c04b54aeaff5e8f
Egor Chesakov [Thu, 3 Jan 2019 18:06:22 +0000 (10:06 -0800)]
Remove vc-runtime package dependency (dotnet/coreclr#21643)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b20917f552cfc6f502648f9342dbdfd7ac0ad91e
Egor Chesakov [Thu, 3 Jan 2019 17:28:33 +0000 (09:28 -0800)]
Bring Debug CRT DLLs when build IJW tests (dotnet/coreclr#21699)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8cf62cb77230389c4744b91f1c6ddd60331674ad
Marek Safar [Thu, 3 Jan 2019 10:51:17 +0000 (11:51 +0100)]
Removes the code moved to shared partition
Commit migrated from https://github.com/dotnet/coreclr/commit/
6eecaafdeb8d5870f06f99905b57f260b3c09131
Marek Safar [Wed, 2 Jan 2019 15:25:34 +0000 (16:25 +0100)]
Moves Attribute instance bits to shared location (dotnet/corertdotnet/coreclr#6747)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e36b4aba1d63fda1597c365adf9b7b440cf1370
Carol Eidt [Wed, 2 Jan 2019 20:34:57 +0000 (12:34 -0800)]
Disable the [Intrinsic] check for desktop SIMD
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5a4a390e53cb30cc5b42f9dc4fb80c5ca579534
Carol Eidt [Thu, 20 Dec 2018 19:08:10 +0000 (11:08 -0800)]
Fix desktop SIMD failures
Fix ISA checking to work with desktop.
Also fix Value Numbering jitdump to not assert for struct types without a handle.
Commit migrated from https://github.com/dotnet/coreclr/commit/
de287410d790bc93668d4d01a202494087af8885
Jan Kotas [Thu, 3 Jan 2019 13:52:30 +0000 (03:52 -1000)]
Cleanup current culture handling in the unmanaged runtime (dotnet/coreclr#21706)
Large portion of the current culture handling in the unmanaged runtime inherited from desktop has been no-op. The nativeInitCultureAccessors QCall that it used to depend on desktop got (almost) never called in CoreCLR.
- Delete resetting of current culture on threadpool threads. It was needed in desktop because of a very tricky flow of current culture between appdomains. It is superseded by the flowing the current culture via AsyncLocal in CoreCLR.
- Comment out fetch of managed current culture for unmanaged resource lookup. It has number of problems that are not easy to fix. We are not localizing the unmanaged runtime currently anyway, so it is ok to just comment it out.
- Fix the rest to call CultureInfo directly without going through Thread.CurrentThread
Commit migrated from https://github.com/dotnet/coreclr/commit/
eff427c02a89e135c38a96032feb3c9a6a13cf5b
Stephen Toub [Thu, 3 Jan 2019 13:50:00 +0000 (08:50 -0500)]
Remove substring allocation in MethodBase.AppendParameters (dotnet/coreclr#21770)
Commit migrated from https://github.com/dotnet/coreclr/commit/
faf2acefa7d88a446f561b38740a72d8838440a5
Filip Navara [Thu, 3 Jan 2019 13:46:57 +0000 (14:46 +0100)]
Remove unnecessary propagation of stack crawl marks. (dotnet/coreclr#21781)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f9121bf9e51472780e25d7f50b8c9e46898ad50
Bruce Forstall [Thu, 3 Jan 2019 02:30:00 +0000 (18:30 -0800)]
Merge pull request dotnet/coreclr#21669 from kvochko/arm_cfi_code_offsets
[Linux/ARM] Fix CFI code offsets in funclet prolog
Commit migrated from https://github.com/dotnet/coreclr/commit/
acbfc3d9b0729cc5c2957d5536a894c07b1c4af8
Egor Chesakov [Thu, 3 Jan 2019 01:16:44 +0000 (17:16 -0800)]
Refactor Send to Helix step in Azure DevOps (dotnet/coreclr#21700)
* Move all the test job submission logic into separate file eng/send-to-helix-step.yml.
* Pass IsExternal=true and Creator for public submissions.
* Pass IsExternal=false and HelixAccessToken for internal submissions.
* Pass the parameters to MSBuild via environment.
* Make all the properties names passed to MSBuild "from outside" starting with underscore.
* Specify HelixArchitecture and HelixConfiguration properties.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d128bc36e4de05da32aacca017574be812066df
Stephen Toub [Thu, 3 Jan 2019 00:57:49 +0000 (19:57 -0500)]
Avoid some unnecessary allocation in MethodBuilder.ToString (dotnet/coreclr#21758)
This method already allocates a ton, and it's not going to be hot-path, but it's annoying me showing up in queries for string.Concat usage, so I'm fixing it :)
Commit migrated from https://github.com/dotnet/coreclr/commit/
472181f672b21774109f8d3cdcd077556d7393b2
Stephen Toub [Thu, 3 Jan 2019 00:57:17 +0000 (19:57 -0500)]
Replace string.Format(SR. with SR.Format(SR. (dotnet/coreclr#21763)
We use SR.Format in almost all places where we format resource strings (without a format provider), but there were a few stragglers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
369f53ea121798a65b81e6878c739c6bdcaae895
Stephen Toub [Thu, 3 Jan 2019 00:56:46 +0000 (19:56 -0500)]
Change a couple string.Replace("a", "b") to string.Replace('a', 'b') (dotnet/coreclr#21768)
The latter is functionally the same but less overhead.
Commit migrated from https://github.com/dotnet/coreclr/commit/
922971c5e2a0e74841218dbd8e00f6354ab2b98f
Egor Chesakov [Wed, 2 Jan 2019 23:36:05 +0000 (15:36 -0800)]
Use Alpine container with Node.js in Azure DevOps (dotnet/coreclr#21568)
* Use Alpine container with Node.js in azure-pipelines.yml
* Enable the dependsOn build_Linux_musl_x64_release in azure-pipelines.yml
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f108aad51eb94c3a0c3118481e687543989fa59
Stephen Toub [Wed, 2 Jan 2019 23:16:56 +0000 (18:16 -0500)]
Use StringBuilderCache in PathInternal.NormalizeDirectorySeparators (dotnet/coreclr#21760)
When we do need to normalize, we're currently allocating the StringBuilder/char[] for the full path length. As long as the path length is less than the max cacheable size (360), we'll now use a cached builder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d159eceee051b9536a26467adb489a6a5c0fa7a
Marek Safar [Wed, 2 Jan 2019 19:44:49 +0000 (20:44 +0100)]
Additional ifdef changes which are ES_BUILD_STANDALONE specific for System.Diagnostics.Tracing (dotnet/coreclr#21748)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e2a576a7130978dfeca4c100868789eee4adc403
Stephen Toub [Wed, 2 Jan 2019 19:44:24 +0000 (14:44 -0500)]
Replace Array.Copy(src, dst, int) calls with Array.Copy(src, 0, dst, 0, int) (dotnet/coreclr#21756)
The former calls GetLowerBound(0) on both src and dst, which is unnecessary when the arrays are T[] and thus always have a lower bound of 0.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6911791e4614e900fa756ce6fd5348071278229f
Filip Navara [Wed, 2 Jan 2019 15:00:14 +0000 (16:00 +0100)]
Remove dummy globalization implementation. (dotnet/corertdotnet/coreclr#6756)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7ef2ecadc31b1da4196fdb66a5f0485d1bfdf2c
Stephen Toub [Wed, 2 Jan 2019 18:41:48 +0000 (13:41 -0500)]
Avoid boxing allocation and object[] allocation in BuildTraceFileName (dotnet/coreclr#21752)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c5ab47942683e87ddc0997636f427d8bd9eb3ef
Egor Chesakov [Wed, 2 Jan 2019 17:10:05 +0000 (09:10 -0800)]
Temporary remove OSX.1012.Amd64.Open and OSX.1012.Amd64 Helix queues in eng/platform-matrix.yml (dotnet/coreclr#21642)
Related issue: https://github.com/dotnet/core-eng/issues/4856
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b6d990eef152bac4134318940b08b050982c0f0
Jan Kotas [Wed, 2 Jan 2019 14:46:32 +0000 (04:46 -1000)]
Delete lstrlen from Unix PAL (dotnet/coreclr#21745)
strlen/wcslen works just fine.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a082f4702540309e832c2ebdf86b15dc798b136b
Marlon Regenhardt [Wed, 2 Jan 2019 14:02:20 +0000 (15:02 +0100)]
Remove second 'license' word for readability (dotnet/coreclr#21747)
The license name already has 'license' in the end, the second one is unnecessary.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d26e31a51d3a97ac925240c134d08418911c457d
Jan Kotas [Wed, 2 Jan 2019 13:12:27 +0000 (03:12 -1000)]
Simplify and improve integer overflow checks in Interop (dotnet/coreclr#21732)
- Delete unnecessary CheckStringLength calls for result of string.Length. Managed strings are guaranteed to be under 2GB bytes, so these checks were unnecessary.
- Add `checked(...)` around buffer size computations that may hit potential integer overflow. It does not look like any of these would cause a bug that would lead to buffer overrun, but it is better to catch these early.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5b1c68d4bb8a14042e93acb8f1032db4703b943
dotnet-maestro-bot [Wed, 2 Jan 2019 07:42:13 +0000 (23:42 -0800)]
Update CoreClr, CoreFx to preview-27302-01, preview.19051.1, respectively (dotnet/coreclr#21674)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ccaba224b69cc3c334e73226e592dde5864afc14
Jan Kotas [Tue, 1 Jan 2019 20:31:41 +0000 (12:31 -0800)]
AppContext moved to shared partition - CoreRT specific changes
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
0de73d34e08f767b118e95fe88e8e98b1fa31379
Ben Adams [Wed, 2 Jan 2019 02:21:11 +0000 (03:21 +0100)]
strlen to managed code and vectorize (dotnet/coreclr#21729)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a7a2049a1a985b02fe5983e7e2a8d480270a72b
Jan Kotas [Tue, 1 Jan 2019 22:15:49 +0000 (12:15 -1000)]
Cleanup ArgumentNull_Obj references in unmanaged runtime (dotnet/coreclr#21738)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a3f7e1903c503165b1fbf2e82d2e777453ca8e5
Marek Safar [Tue, 1 Jan 2019 22:15:36 +0000 (23:15 +0100)]
Tweaks permissions ifdefs in System.Diagnostics.Tracing (dotnet/coreclr#21733)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6c48260173ab7d22d599e60f7ca98e0cfc06ec4
Marek Safar [Tue, 1 Jan 2019 20:13:31 +0000 (21:13 +0100)]
Moves AppContext to shared location (dotnet/coreclr#21734)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a03aa9b81eeac93a6c6fa238d4123a60009d0f6
Jan Kotas [Tue, 1 Jan 2019 05:37:11 +0000 (19:37 -1000)]
Delete useless ArgumentNullException message (dotnet/coreclr#21728)
"Object cannot be null" does not add anything over the default "Value cannot be null"
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1b757c70f47dbac8a4ca04d2d7861a8a0442e56
Ben Adams [Mon, 31 Dec 2018 17:57:19 +0000 (18:57 +0100)]
Remove EventPipeController static constructor (dotnet/coreclr#21718)
* Remove EventPipeController static constructor
* Don't cache DefaultProviderConfiguration
Commit migrated from https://github.com/dotnet/coreclr/commit/
73d7d224ae6fb9b13bb641440c06606f426215cb
Marek Safar [Mon, 31 Dec 2018 17:56:57 +0000 (18:56 +0100)]
Moves ExceptionDispatchInfo to shared location (dotnet/coreclr#21725)
* Moves ExceptionDispatchInfo to shared location
* Use struct for Exception.DispatchState, avoid TLAs in names, misc cleanup
Commit migrated from https://github.com/dotnet/coreclr/commit/
eab5fafd4369623932badcc5c3635a5d28998e6a
Ben Adams [Mon, 31 Dec 2018 15:16:54 +0000 (16:16 +0100)]
Improve MdUtf8String (dotnet/coreclr#21720)
* Move MdUtf8String::EqualsCaseSensitive to managed code
* Move MdUtf8String.ToString to safe code
* Use Encoding.UTF8.GetString
Commit migrated from https://github.com/dotnet/coreclr/commit/
e52aaee4fd770bfe728d35e10e51cafb257dec92
Jan Kotas [Mon, 31 Dec 2018 07:18:23 +0000 (23:18 -0800)]
Add license, keep more of the CriticalHandle logic in the shared file
Commit migrated from https://github.com/dotnet/coreclr/commit/
18d3d48f1148ff1e4742518916226767e6520cf1
Marek Safar [Sun, 30 Dec 2018 22:29:35 +0000 (23:29 +0100)]
Moves CriticalHandle to shared location
Commit migrated from https://github.com/dotnet/coreclr/commit/
e4959bbc9127d4635a7f38e9aa9dd4a74d0e2703
Jan Kotas [Sun, 30 Dec 2018 09:30:48 +0000 (01:30 -0800)]
Fix CoreRT build breaks
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b2db85a3d6671fd033dc2c690698f6bc6ee1241
Marek Safar [Mon, 31 Dec 2018 05:58:29 +0000 (06:58 +0100)]
Readability improvement in MemoryStream (dotnet/coreclr#21710)
Commit migrated from https://github.com/dotnet/coreclr/commit/
89b9cc3792a20c4657521b337a1bc7c4271e1a88
Koundinya Veluri [Mon, 31 Dec 2018 05:56:54 +0000 (21:56 -0800)]
Don't Sleep(1) in some spin-wait loops (dotnet/coreclr#21722)
- In spin-wait loops that are not expected to last too long, Sleep(1) significantly delays threads from completing the operation
- From eliminating Sleep(1) in such spin-wait loops, there can be a tradeoff, better fairness vs worse throughput, because Sleep(1) removes threads from contention and in some cases fewer threads can make faster progress at the cost of delaying the Sleep(1) threads relatively significantly. Eliminating the Sleep(1) in such spin-wait loops seems to be a good tradeoff.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7bd31ac770062fdcf75ad19dabcd7c8ba60bc29c
Pent Ploompuu [Mon, 31 Dec 2018 05:43:09 +0000 (07:43 +0200)]
Remove parsing from GUID constants (dotnet/coreclr#21717)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bac3ac897c0bfe943ca27fd8ca9188d1c74d1643