Vance Morrison [Tue, 22 May 2018 18:16:05 +0000 (11:16 -0700)]
Fix attribute placement
Vance Morrison [Tue, 22 May 2018 17:55:16 +0000 (10:55 -0700)]
Collapse ChunkEnumerable and ChunkEnumerator.
Vance Morrison [Fri, 18 May 2018 20:40:11 +0000 (13:40 -0700)]
Add another readonly attribute
Vance Morrison [Fri, 18 May 2018 20:38:06 +0000 (13:38 -0700)]
add readonly attributes
Vance Morrison [Fri, 18 May 2018 15:18:48 +0000 (08:18 -0700)]
Improve comments, review feedback.
Vance Morrison [Thu, 17 May 2018 17:46:57 +0000 (10:46 -0700)]
Better comments
Vance Morrison [Thu, 17 May 2018 17:41:29 +0000 (10:41 -0700)]
Fix typo
Vance Morrison [Thu, 17 May 2018 01:55:41 +0000 (18:55 -0700)]
Add Asserts. Fix bug found in testing.
Vance Morrison [Tue, 15 May 2018 21:32:59 +0000 (14:32 -0700)]
Change Span to Memory
Vance Morrison [Wed, 11 Apr 2018 20:46:28 +0000 (13:46 -0700)]
Adding EnumerateChunks which allow efficient scanning of a StringBuilder
Sergey Andreenko [Tue, 15 May 2018 19:48:47 +0000 (12:48 -0700)]
fix jit format after better-wildcards PR (#18008)
Sergey Andreenko [Tue, 15 May 2018 18:17:48 +0000 (11:17 -0700)]
format spmi (#18003)
Carol Eidt [Tue, 15 May 2018 01:06:59 +0000 (18:06 -0700)]
Update first-class-structs.md
fix duplication
Carol Eidt [Tue, 15 May 2018 01:04:46 +0000 (18:04 -0700)]
Update first-class-structs.md
Add some struct-related open issues to the document.
Brian Sullivan [Tue, 15 May 2018 00:45:54 +0000 (17:45 -0700)]
Merge pull request #17970 from briansull/better-wildcards
Better wildcards for COMPLUS_JIT variables
David Wrighton [Mon, 14 May 2018 23:20:12 +0000 (16:20 -0700)]
Fix multicast delegate step from delegate (#17990)
- Replace incorrect FEATURE_STUBS_AS_IL define check with FEATURE_MULTICASTSTUB_AS_IL
- Allows step from one delegate to the next and step out from multicast delegate to function correctly.
- Add null check as the active frame's methoddesc isn't always non-null
- In scenarios such as FuncEval, we also run through this code, and the md may be null.
- Fix unwind from StubHelpers::MulticastDebuggerTraceHelper function on amd64
Brian Robbins [Mon, 14 May 2018 20:44:28 +0000 (13:44 -0700)]
Remove usages of AnsiString and replace them with UnicodeString. (#17989)
Brian Sullivan [Mon, 14 May 2018 20:44:10 +0000 (13:44 -0700)]
jit-format --fix --untidy
Sergey Andreenko [Mon, 14 May 2018 20:29:42 +0000 (13:29 -0700)]
Add tests for arm64 il issues. (#17759)
* Add test for "Shouldn_t_see_an_integer_typed_GT_MOD_node_in_ARM64"
* Add test for "We_should_never_encounter_a_reference_to_a_lclVar_that_has_a_zero_refCnt"
* Add test for 'NYI__Initialize_floating_point_register_to_zero'
* add tests to the arm lists
* exclude tests on:
1. windows arm64 with tests\arm64\tests.lst
2. windows x64 altjit arm with tests\issues.target
3. ubuntu arm64 with tests/testsFailing.arm64.txt
* change issues.targets
Brian Sullivan [Mon, 14 May 2018 19:39:37 +0000 (12:39 -0700)]
Fix Typo
Brian Sullivan [Mon, 14 May 2018 19:28:31 +0000 (12:28 -0700)]
Code review feedback
Egor Chesakov [Mon, 14 May 2018 19:21:30 +0000 (12:21 -0700)]
Enable System.Transactions.Local.Tests on Linux/arm (#17973)
Brian Sullivan [Mon, 14 May 2018 18:58:52 +0000 (11:58 -0700)]
Merge branch 'master' into better-wildcards
Wes Haggard [Mon, 14 May 2018 18:00:35 +0000 (11:00 -0700)]
Merge pull request #17988 from dotnet-maestro-bot/master-UpdateDependencies
Update CoreClr to preview1-26514-05 (master)
Maryam Ariyan [Mon, 14 May 2018 17:50:45 +0000 (10:50 -0700)]
Moving ConcurrentQueue to shared folder (#17956)
* Moving ConcurrentQueue to shared folder
Fixes: #17751
acmyu [Mon, 14 May 2018 17:23:07 +0000 (10:23 -0700)]
R2RDump - Print ReadyToRun image headers (#17942)
* R2RDump - Outputing ReadyToRun header from PE image
* R2RDump - Comments, follow coding guidelines, use enum for section types and flags
* R2RDump - Use utf8 encoding, rva from ManagedNativeHeader, return exit code
Konstantin Baladurin [Mon, 14 May 2018 16:55:18 +0000 (19:55 +0300)]
PEImageLayout: flush instruction cache only for pages with relocs. (#17773)
We need to flush instruction cache only for pages that have relocations
instead of full sections because otherwise application's shared clean
memory is increased in some cases on Linux.
dotnet-maestro-bot [Mon, 14 May 2018 16:13:38 +0000 (09:13 -0700)]
Update CoreClr to preview1-26514-05
stakx [Mon, 14 May 2018 14:20:53 +0000 (16:20 +0200)]
Reflection: Allow ParameterBuilder.SetConstant(nonNullValue) for nullable enum parameters (#17977)
* ParameterBuilder.SetConstant(nonNull) for TEnum?
This change makes it possible to use `ParameterBuilder.SetConstant`
to set a non-null default value for parameters having a nullable enum
type.
* ParameterInfo.DefaultValue for TEnum?
Add a note to `MdConstant.GetValue` (which sits behind `ParameterInfo.
[Raw]DefaultValue`) explaining why changing its behavior to mirror the
change in `TypeBuilder.SetConstantValue` would be a breaking change.
dotnet-maestro-bot [Mon, 14 May 2018 05:23:27 +0000 (00:23 -0500)]
Update CoreClr, CoreFx to preview1-26514-01, preview1-26514-01, respectively (#17982)
dotnet-maestro-bot [Sun, 13 May 2018 22:27:29 +0000 (17:27 -0500)]
Update CoreClr, CoreFx to preview1-26513-04, preview1-26513-04, respectively (#17974)
Sergey Andreenko [Sun, 13 May 2018 16:58:32 +0000 (09:58 -0700)]
Add explicit null check for VSD via tail call stub. (#17960)
* fix
* update test lists for arm and x64
* update failure reason on arm64
* fix comment
* Use NYI_ARM64
It makes it easier to find them.
* exclude arm64 tail call tests
that have prefix tail calls, but jit can't make it.
Carol Eidt [Sun, 13 May 2018 15:28:03 +0000 (08:28 -0700)]
Merge pull request #17971 from CarolEidt/FixCpBlkBug
Don't eliminate a cpblk when offsets are different
Carol Eidt [Fri, 11 May 2018 23:28:51 +0000 (16:28 -0700)]
Merge pull request #17948 from mikedn/delegate-contain-this
Call ContainCheckIndir on the newly created indir
Carol Eidt [Fri, 11 May 2018 22:03:35 +0000 (15:03 -0700)]
PR feedback and fix test.
Brian Sullivan [Thu, 10 May 2018 21:07:49 +0000 (14:07 -0700)]
Improve the JitConfig class and method name matching for wildcards.
With this change we can use a prefix and wildcard match
This allows us to match classes and methods that start with a prefix.
Example:
1. My*:Method would match a method named "Method" inside any class that starts with "My"
2. *:get_* or simple get_* both will match any method that starts with "get_"
This allows us to match some Managed C++ methods that we could not otherwise match:
By using COMPLUS_JitDump=std._Find_if*
we can match this managed C++ method:
<Module>:std._Find_if<class std::_Tree_unchecked_iterator<class std::_Tree_val<struct std::_Tree_simple_types<struct std::pair<struct TIP_MAP_KEY const ,struct TIP_MAP_VALUE> > > >,struct TIP_FIND_ALG>(long,struct,struct,struct)
Carol Eidt [Fri, 11 May 2018 21:08:30 +0000 (14:08 -0700)]
Don't eliminate a cpblk when offsets are different
When `fgMorphCopyBlock()` encounters a cpblk between two different offsets of the same local, if both fields are not recognizable to the JIT (i.e. the FieldSeqNode returned by IsLocalAddrExpr() and/or the gtFieldSeq field of a GT_LCL_FLD is FieldSeqStore::NotAField()), they should not be considered equal (and therefore should not be morphed to a `GT_NOP`).
Fixes #17969
dotnet-maestro-bot [Fri, 11 May 2018 17:32:04 +0000 (12:32 -0500)]
Update CoreClr, CoreFx to preview1-26511-05, preview1-26511-04, respectively (#17961)
Stephen Toub [Fri, 11 May 2018 17:31:46 +0000 (13:31 -0400)]
Move StringBuilderCache to shared (#17964)
Adam Sitnik [Fri, 11 May 2018 15:47:21 +0000 (17:47 +0200)]
Switch to Word2Vec fork (#17945)
* update git repo url, remove the patch file (not needed anymore)
* refactoring: there is no need to have an abstract class if only 1 class derives from it
* use CurrentCulture.NumberFormat.NumberDecimalSeparator instead of hardcoded dot (it's , for polish UI and it fails for me)
* use .NET Standard way of accessing CurrentCulture to fix the build
* updated repor url to our fork + removed dead code
mikedn [Fri, 11 May 2018 04:41:43 +0000 (07:41 +0300)]
Fix Avx.ConvertToSingle flags (#17954)
Stephen Toub [Fri, 11 May 2018 02:27:53 +0000 (22:27 -0400)]
Merge pull request dotnet/corefx#29636 from stephentoub/formatmessage
Improvements to FormatMessage
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Sung Yoon Whang [Fri, 11 May 2018 02:57:47 +0000 (19:57 -0700)]
update profiler API status to reflect that #13153 is resolved (#17953)
Wes Haggard [Fri, 11 May 2018 00:48:08 +0000 (17:48 -0700)]
Merge pull request #17941 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreClr, CoreFx to preview1-02810-02, preview1-26510-06, preview1-26510-05, respectively (master)
Andy Ayers [Fri, 11 May 2018 00:22:10 +0000 (17:22 -0700)]
JIT: fix case with slow generic delegate creation (#17802)
The jit has been using IR pattern matching to find the information needed for
optimizing delegate construction. This missed one case, causing the code to
use a very slow construction path.
to convey this information to the optimization. With this change the jit now
now relies on the token cache for all the other cases too.
This initial commit preserves the pattern match code and verifies that when
it fires it reaches the same conclusion as the token cache does.
This cross-validation revealed one case where the token information was less
specific than the pattern match so we now also update the method handle in
the token from the call info.
A subsequent commit will remove the pattern matching when we are confident the
new token cache logic handles all the cases correctly.
Closes #12264.
Sergey Andreenko [Fri, 11 May 2018 00:10:57 +0000 (17:10 -0700)]
add test with tail call of VSD stub with AV. (#17920)
* add test with tail call of VSD stub with AV.
* exclude new failing test
* fix names/types
* forbid inlining
dotnet-maestro-bot [Thu, 10 May 2018 22:25:59 +0000 (15:25 -0700)]
Update BuildTools, CoreClr, CoreFx to preview1-02810-02, preview1-26510-06, preview1-26510-05, respectively
Andy Ayers [Thu, 10 May 2018 21:43:03 +0000 (14:43 -0700)]
Value number identities for compares and subs (#17919)
Improve value number support for various subtracts and unsigned compares.
For instance for non-float values, x - x == 0.
Closes #15491.
Aditya Mandaleeka [Thu, 10 May 2018 19:01:17 +0000 (12:01 -0700)]
Merge pull request #17784 from adityamandaleeka/add_jit_hfa_passing_test
Add a test case for HFA passing
Sung Yoon Whang [Thu, 10 May 2018 16:04:52 +0000 (09:04 -0700)]
Specify ordering between CrstUniqueStack and CrstReadyToRunEntryPointToMethodDescMap (#17938)
Mike Danes [Thu, 10 May 2018 15:47:51 +0000 (18:47 +0300)]
Call ContainCheckIndir on the newly created indir
Jan Vorlicek [Thu, 10 May 2018 13:33:54 +0000 (15:33 +0200)]
Fix alternate stack for Alpine docker on SELinux (#17936)
For some reason, the Alpine docker container running on a SELinux host maps
heap as RWX. When we allocate alternate stack from the heap, we also
change the protection of the first page to PROT_NONE so that it can
serve as a guard page to catch stack overflow. And when we free the
alternate stack, we restore the protection back to PROT_READ |
PROT_WRITE. The restoration fails in Alpine docker container running on
a SELinux host with EPROT failure and the SELinux log reports that an
attempt to change heap to executable was made. So it looks like the
kernel has added the PERM_EXEC to the permissions we have passed to the
mprotect call. There is a code in the mprotect implementation that can
do that, although I don't fully understand the conditions under which it
happens. This is driven by the VM_MAYEXEC flag in the internal VMA block
structure.
To fix that, I've modified the alternate stack allocation to use mmap /
munmap instead of C heap allocation.
Stephen Toub [Thu, 10 May 2018 01:36:19 +0000 (21:36 -0400)]
Replace easy Substrings with AsSpan/Slices (#17916)
* Replace several Substrings with AsSpan/Slices
* Address PR feedback
Aditya Mandaleeka [Wed, 9 May 2018 21:40:31 +0000 (14:40 -0700)]
Fix lst file for new test additions.
Sergey Andreenko [Thu, 10 May 2018 00:14:24 +0000 (17:14 -0700)]
fix semicolon and priorities for new excluded tests (#17934)
Carol Eidt [Wed, 9 May 2018 22:09:26 +0000 (15:09 -0700)]
Merge pull request #17911 from CarolEidt/Fix16377
Arm64: Pass promoted struct using GT_FIELD_LIST
Aditya Mandaleeka [Wed, 25 Apr 2018 21:46:26 +0000 (14:46 -0700)]
Add regression test for passing HFA params.
Eugene Rozenfeld [Wed, 9 May 2018 20:16:10 +0000 (13:16 -0700)]
Improve checking of GTF_CALL flag. (#17857)
The checker ensures that GTF_CALL is set only where
it's needed: on GT_CALL nodes, on GT_INTRINSIC nodes where
intrinsics are implemented by user calls, and on nodes that
have a child with GT_CALL flag set.
dotnet-maestro-bot [Wed, 9 May 2018 18:35:36 +0000 (13:35 -0500)]
Update CoreClr, CoreFx to preview1-26509-05, preview1-26509-05, respectively (#17930)
Stephen Toub [Wed, 9 May 2018 18:35:14 +0000 (14:35 -0400)]
Reduce allocation in StringBuilder marshaling (#17928)
When marshaling back results for a StringBuilder argument in a P/Invoke:
- for UTF8 it's allocating a new char[], pinning it, and then handing that off to StringBuilder.ReplaceBufferInternal, which itself then allocates a new char[], and all of that happens even if the StringBuilder's char[] is already big enough to handle the results, which is commonly the case due to the StringBuilder having been sized appropriately from the get-go.
- for both Unicode and Ansi, it's similarly allocating a new char[] invariably, even if the existing buffer is already sufficient.
This commit cleans that up.
While ideally we wouldn't use StringBuilders at all in coreclr/corefx for marshaling, we still do in some places, e.g. Dns.GetHostName. While we should separately fix that to avoid using a StringBuilder at all, it's useful to demonstrate the impact of the change here:
```C#
[Benchmark]
public static string GetHostName() => Dns.GetHostName();
```
on my machine results in:
```
Method | Gen 0 | Allocated |
------------ |-------:|----------:|
Before | 0.2668 | 1.09 KB |
After | 0.1392 | 584 B |
```
Michelle McDaniel [Wed, 9 May 2018 16:55:39 +0000 (09:55 -0700)]
Restrict what we archive for perf testing (#17918)
* Restrict what we archive for perf testing
* change all perf legs archival
* Change txt save to *_log.txt
* Reduce number of days to keep artifacts
Sergey Andreenko [Wed, 9 May 2018 04:32:14 +0000 (21:32 -0700)]
Update arm/arm64 test lists (#17855)
* update arm64list
* exclude JIT\HardwareIntrinsics\X86 for arm64
We do not want to spend arm64 machine resourses on them.
JIT\HardwareIntrinsics\X86\Sse\LoadAlignedVector128_ro was left enabled to test the failing path.
* update arm test list
* exclude JIT\HardwareIntrinsics\X86 for arm
* exclude failing tests for arm32
* exclude failing tests for arm64
dotnet-maestro-bot [Wed, 9 May 2018 03:33:20 +0000 (22:33 -0500)]
Update BuildTools, CoreClr, CoreFx to preview1-02808-01, preview1-26509-01, preview1-26509-01, respectively (#17923)
Maryam Ariyan [Wed, 9 May 2018 03:30:54 +0000 (20:30 -0700)]
Rename mscorlib to System.Private.Corelib (#17926)
* diff from just renaming folder mscorlib to System.Private.CoreLib
* Updating build.proj to reflect name change
Fixes: #17905
Carol Eidt [Wed, 9 May 2018 00:20:04 +0000 (17:20 -0700)]
Handle SIMD field of GT_FIELD_LIST in codegen.
Add header to test case.
Michelle McDaniel [Tue, 8 May 2018 22:57:06 +0000 (15:57 -0700)]
Update DotnetCLIVersion.txt (#17925)
The current version is broken for RHEL. This change revs up the version
to 2.1.300-rtm-008820, which is fixed for RHEL.
Jan Kotas [Tue, 8 May 2018 22:50:23 +0000 (15:50 -0700)]
Delete irrelevant comment (#17921)
Jan Kotas [Tue, 8 May 2018 16:52:25 +0000 (09:52 -0700)]
Partial implementation of Thread.GetApartmentState (dotnet/corert#5781)
Related to #5776
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
stakx [Tue, 8 May 2018 17:42:25 +0000 (19:42 +0200)]
Reflection: Fix DefaultValue exception with enums (#17917)
This is related to
dbcfd2f9d1, but about enums instead of `DateTime`.
Given e.g. a generic method with a parameter `T arg = default(T)`
where `T` is the generic type parameter, if that is instantiated with
some enum as the generic type argument, then querying the default
value of `arg` using `ParameterInfo.[Raw]DefaultValue` will throw a
`FormatException`.
(The use of generics means that the C# compiler always records a
`null` constant in metadata, which isn't usually the case for enums.)
dotnet-maestro-bot [Tue, 8 May 2018 17:18:15 +0000 (12:18 -0500)]
Update CoreClr, CoreFx to preview1-26508-05, preview1-26508-04, respectively (#17913)
Carol Eidt [Tue, 8 May 2018 15:50:49 +0000 (08:50 -0700)]
PR feedback
stakx [Tue, 8 May 2018 14:39:17 +0000 (16:39 +0200)]
Fix failing System.Reflection.Emit tests (#17915)
Commit
fceac03e82 removed a test from `TypeBuilder.SetConstantValue`
that is too strict when called from `ParameterBuilder`, but that both
`FieldBuilder` and `EnumBuilder` require. Add the same test back, but
in `FieldBuilder.SetConstant`.
Jan Kotas [Tue, 8 May 2018 11:08:31 +0000 (04:08 -0700)]
Move ConcurrentExclusiveSchedulerPair to shared CoreLib partition (#17914)
Stephen Toub [Tue, 8 May 2018 05:18:44 +0000 (01:18 -0400)]
Remove ConcurrentDictionary from System.Private.CoreLib (#17908)
* Delete stale PRENET45 conditional code
* Remove ConcurrentDictionary dependency from ConcurrentExclusiveSchedulerPair
Levi Broderick [Tue, 8 May 2018 03:50:33 +0000 (20:50 -0700)]
Speed up Array.Reverse by using ref reassignment (#17891)
* Speed up Array.Reverse by using ref reassignment
* Optimize MemoryExtensions.Reverse
David Wrighton [Tue, 8 May 2018 03:48:30 +0000 (20:48 -0700)]
Arm64 debugger step into behavior (#17912)
- Fix #ifdef in StubManagerHelpers::StubGetSecondArg that erroneously referred to TARGET_ARM instead of TARGET_ARM64
- Add condition in StubManagerHelpers::GetTailCallTarget to refer to X12 as is used by the various helpers that can pause in the midst of stepping
- Fix StubDispatchFixupStub to use X12 as tail call register instead of X9 to match the other tail-calling stubs
Carol Eidt [Mon, 7 May 2018 23:27:30 +0000 (16:27 -0700)]
Arm64: Pass promoted struct using GT_FIELD_LIST
Jarret Shook [Mon, 7 May 2018 19:51:52 +0000 (12:51 -0700)]
Merge pull request #17910 from jashook/vc_runtime
Add vcruntime to core_root for arm(64) jobs.
jashook [Mon, 7 May 2018 17:41:29 +0000 (10:41 -0700)]
Add vcruntime to core_root for arm(64) jobs.
dotnet-maestro-bot [Mon, 7 May 2018 17:17:16 +0000 (12:17 -0500)]
Update CoreClr, CoreFx to preview1-26507-05, preview1-26507-04, respectively (#17894)
stakx [Mon, 7 May 2018 16:28:37 +0000 (18:28 +0200)]
Reflection: Fix DefaultValue for optional DateTime (#17877)
Querying the default value of an optional `DateTime` parameter using
`ParameterInfo.DefaultValue` can throw a `FormatException` if that
default value is a null constant in metadata, which is how the C#
compiler encodes a default value of `default(DateTime)`.
This commit fixes that error by adding the proper handling for null
metadata constants with `DateTime` parameters.
stakx [Mon, 7 May 2018 14:15:49 +0000 (16:15 +0200)]
Reflection.Emit: Allow `ParameterBuilder.SetConstant(null)` for value-typed parameters (#17887)
* Add test for dotnet/corefx#26184
The Roslyn C# compiler encodes an optional, value-typed parameter's
default value of `default(TValueType)` as a null reference constant in
metadata. Add a test that verifies that reflection can do the same
using `ParameterBuilder.SetConstant(null)`.
* Always allow ParameterBuilder.SetConstant(null)
* Remove test project as requested in review
These tests move to CoreFX. See dotnet/corefx#29532.
Jan Kotas [Sun, 6 May 2018 13:48:44 +0000 (06:48 -0700)]
Merge pull request #17847 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreClr, CoreFx to preview1-02804-04, preview1-26506-01, preview1-26506-01, respectively (master)
Jan Kotas [Sun, 6 May 2018 05:10:34 +0000 (22:10 -0700)]
Rename netcoreapp2.1 -> netcoreapp2.2
Jan Kotas [Sun, 6 May 2018 02:58:04 +0000 (19:58 -0700)]
Delete unnecessary internal layer of Span globalization helpers (#17890)
This change makes the code both smaller and faster. For example, the following is about 1.4x faster with this change:
```
ReadOnlySpan<char> s1 = "Hello world";
ReadOnlySpan<char> s2 = "world";
for (int i = 0; i <
100000000; i++) s1.EndsWith(s2, StringComparison.OrdinalIgnoreCase);
```
Also, I have ported GetCaseCompareOfComparisonCulture code size optimization from #16434 while I was on it because of it fit well with the rest of the changes.
dotnet-maestro-bot [Sun, 6 May 2018 01:28:57 +0000 (18:28 -0700)]
Update BuildTools, CoreClr, CoreFx to preview1-02804-04, preview1-26506-01, preview1-26506-01, respectively
Levi Broderick [Sat, 5 May 2018 17:18:02 +0000 (10:18 -0700)]
Remove use of ByReference<T> in Memmove ABI (#17889)
Use new ref reassignment feature instead
Sung Yoon Whang [Sat, 5 May 2018 17:14:47 +0000 (10:14 -0700)]
disable dialog box for forced unhandled exception (#17888)
Steve MacLean [Fri, 4 May 2018 19:53:44 +0000 (15:53 -0400)]
Split unix test builds in slices (#17785)
* Split unix test builds in slices
Ports #17161 to linux
* Address review feedback
Jan Kotas [Fri, 4 May 2018 17:40:28 +0000 (10:40 -0700)]
Fix System.String over-allocation (#17876)
BaseSize for System.String was not set correctly. It caused unnecessary extra 8 bytes to be allocated at the end of strings that had `Length % 4 < 2` on 64-bit platforms.
This change makes affected strings proportionally cheaper. For example, `new string('a', 1)` in a long-running loop is 7% faster.
David Wrighton [Fri, 4 May 2018 06:09:33 +0000 (23:09 -0700)]
Step into multicast delegate (#17879)
- Fix call of multicast debugger trace helper to be called before the first delegate invocation instead of after it
Brian Sullivan [Thu, 3 May 2018 23:27:44 +0000 (16:27 -0700)]
Merge pull request #17866 from briansull/byref-fix
[ARM-ARCH] Ensure that any byrefs created in genCodeForIndexAddr cannot point outside of the array
Bruce Forstall [Thu, 3 May 2018 22:41:33 +0000 (15:41 -0700)]
Merge pull request #17781 from BruceForstall/Fix17738
Fix for ARM secure delegate non-standard register arg
Konstantin Baladurin [Thu, 3 May 2018 19:57:26 +0000 (22:57 +0300)]
[Linux/x86] Fix tests in case of 4-byte alignment for 64-bit types (#17829)
JIT/Directed/RVAInit/nested
JIT/Directed/RVAInit/simple
JIT/Regression/CLR-x86-JIT/V1.2-Beta1/b103058/b103058
Jan Kotas [Thu, 3 May 2018 17:36:15 +0000 (10:36 -0700)]
Port Marshal UTF8 fixes from CoreRT (#17868)
Bruce Forstall [Thu, 3 May 2018 16:02:39 +0000 (09:02 -0700)]
Merge pull request #17873 from stakx/documentation-corrections
Some corrections in build documentation
stakx [Thu, 3 May 2018 15:49:32 +0000 (17:49 +0200)]
Some corrections in build documentation
Bernie FitzGerald [Thu, 3 May 2018 02:23:00 +0000 (12:23 +1000)]
typo (#17867)
Serialable should have been Serializable
publically should have been publicly
Dan Moseley [Thu, 3 May 2018 00:20:50 +0000 (17:20 -0700)]
Clarifying comment on overflow (#17865)
* Clarifying comment on overflow
* Nits
Brian Sullivan [Mon, 30 Apr 2018 22:56:42 +0000 (15:56 -0700)]
Fix for Issue 17823
Ensure that any byrefs created in genCodeForIndexAddr cannot point outside of the array
Used the scaled add instructions for more powers of two
Only use the safe byref sequence when generating fully interruptible code.