Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
c4e94df
Simplify vectorized logic; remove unnecessary adjustment
GrabYourPitchforks Apr 8, 2019
b87e634
Block the hoisting of TYP_STRUCT rvalues in loop hoisting
briansull Apr 4, 2019
e8d5798
Merge pull request #23752 from adityamandaleeka/arm64_clrww
adityamandaleeka Apr 8, 2019
0609909
Remove Unix CPU groups emulation
janvorli Apr 5, 2019
cd41863
Merge pull request #23739 from briansull/struct-cse
briansull Apr 9, 2019
cee1a8c
Fix several issues
janvorli Apr 9, 2019
13421bf
Remove exclusion for System.Threading.Tasks.Tests (#23818)
VSadov Apr 9, 2019
5fd24c6
Improve RuntimeHelpers.GetSubArray (#23829)
stephentoub Apr 9, 2019
35ce149
Update dependencies from https://github.com/dotnet/core-setup build 2…
dotnet-maestro[bot] Apr 9, 2019
b1042c7
Update CoreClr to preview5-27609-71 (#23809)
dotnet-maestro-bot Apr 9, 2019
5ce35bf
Nullable: System.IO (#23732)
stephentoub Apr 9, 2019
0006d20
Nullable: Attributes, SafeHandles, and misc (#23810)
stephentoub Apr 9, 2019
f1cd1b6
Group XUnitWrapper.dll into the same Payloads when submit to Helix (#…
echesakov Apr 9, 2019
5e20dd4
Unconditionally set CrossGenTest to false for readytorun/tests/mainv1…
echesakov Apr 9, 2019
5608b4f
Exclude PInvokes declared on other modules. We don't yet encode cross…
Apr 9, 2019
b07b726
Delete condition that was previously checked with noway_assert.
Mar 26, 2019
04c7fa6
Destroy the old tree in `optAssertionProp_Update`.
Mar 27, 2019
5db40d7
Merge remote-tracking branch 'origin/master' into utf8_validation_apis_3
GrabYourPitchforks Apr 9, 2019
f4519f5
PR feedback: GetElement(0) -> Sse2.StoreLow
GrabYourPitchforks Apr 9, 2019
a6b0eef
Alter CCW wrapping semantics (#23709)
AaronRobinsonMSFT Apr 9, 2019
29fabe7
Don't denormalize enum return values on instance methods on x86. (#23…
jkoritzinsky Apr 9, 2019
9baf5be
PR feedback
GrabYourPitchforks Apr 9, 2019
c6dbbf0
Clean optVNConstantPropOnTree.
Mar 27, 2019
325bfa4
Clarify some unsupported cases in `optVNConstantPropOnTree`.
Mar 28, 2019
c1b36e9
Delete the asignment that was added as a workaround.
Mar 28, 2019
2a3fe36
PR feedback: Enable SSE2 in Utf16Utility code
GrabYourPitchforks Apr 10, 2019
9ddc4cf
Add 'SetNotificationForWaitCompletion' to ILLinkTrim.xml (#23822)
gregg-miskelly Apr 10, 2019
2d47f1b
Expand masks in Utf8Utility, fix const in fallback path
GrabYourPitchforks Apr 10, 2019
50f8ab7
Update CoreRT for changes in shared partition
jkotas Apr 5, 2019
0d427ca
Add back using to EventSourceException
safern Apr 5, 2019
448e39d
Remove dlclose call to unload CoreCLR (#23863)
nxtn Apr 10, 2019
61737be
Nullable: System.Resources (#23830)
krwq Apr 10, 2019
356ae17
Temporarily disable failing CoreFX tests
GrabYourPitchforks Apr 10, 2019
5257614
Fix incorrect Debug.Assert statements
GrabYourPitchforks Apr 10, 2019
95d37e0
Expose new EventCounter APIs (#23808)
sywhang Apr 10, 2019
fe2a2e7
Fix newlines for ilegal trees in `gtDispTree`.
Apr 10, 2019
0ee00c3
Change optExtractSideEffList to optExtractSideEffList.
Apr 10, 2019
3c07feb
Fix RecycledLists size on Unix
janvorli Apr 10, 2019
43e0ab4
Update profiling-api-status.md
noahfalk Apr 10, 2019
fe355a6
Fix few issues discovered by testing
janvorli Apr 10, 2019
289b703
Update Windows instructions (#23841)
jaredpar Apr 10, 2019
e4cd6ca
Update CoreClr to preview5-27610-71 (#23859)
dotnet-maestro-bot Apr 10, 2019
f63bb80
Update dependencies from https://github.com/dotnet/core-setup build 2…
dotnet-maestro[bot] Apr 10, 2019
9847278
Tweaking some APIs according to user feedback. (#23857)
tannergooding Apr 10, 2019
6398853
Update Range.GetOffsetAndLength (#23855)
tarekgh Apr 10, 2019
4cdb063
Nullable Internal.Win32.RegistryKey (#23856)
Anipik Apr 10, 2019
696a3ed
Update the comment.
Apr 10, 2019
c7855d8
Improved JitDump
briansull Apr 10, 2019
9a715fe
Nullable: System (most of it) (#23774)
stephentoub Apr 10, 2019
3cd62e2
jit-format
briansull Apr 10, 2019
38b7770
Check for a null import descriptor when fixing up vtables. (#23825)
jkoritzinsky Apr 10, 2019
37ab0d5
Merge pull request #23858 from sandreenko/fixOptPrepareTreeToReplacement
Apr 10, 2019
34aa89e
Merge pull request #23876 from briansull/jit-dump
briansull Apr 10, 2019
a8d440c
Make GC.GetGCMemoryInfo public (#23779)
luhenry Apr 10, 2019
a6b1e97
Move TimerQueue.TickCount Windows implementation to shared CoreLib (#…
filipnavara Apr 10, 2019
1998523
Address follow-up PR feedback on System nullability annotations (#23878)
stephentoub Apr 10, 2019
45e04dd
Move AssemblyName to shared (#23737)
EgorBo Apr 10, 2019
6cc74a9
Add comments tracking JIT workarounds.
GrabYourPitchforks Apr 10, 2019
60b8c4f
Rename DWORD -> UInt32 throughout API surface
GrabYourPitchforks Apr 10, 2019
bae40fa
Re-flow Utf8Utility.Helpers
GrabYourPitchforks Apr 10, 2019
cb22707
Merge pull request #23824 from janvorli/remove_unix_cpu_groups_emulation
janvorli Apr 11, 2019
206f968
Contextual reflection (#23740)
sdmaclea Apr 11, 2019
232ba42
Remove overrelease in test (#23887)
AaronRobinsonMSFT Apr 11, 2019
eda0c04
Merge remote-tracking branch 'origin/master' into utf8_validation_apis_3
GrabYourPitchforks Apr 11, 2019
3271f50
If a delegate type is a WinRT delegate or a WinRT-projected delegate,…
jkoritzinsky Apr 11, 2019
b574fac
Renaming 'failure' in counter tests (#23891)
sywhang Apr 11, 2019
449285b
[master] Update dependencies from dotnet/arcade (#23834)
dotnet-maestro[bot] Apr 11, 2019
2581b44
Fix CMake warning about clrjit.exports.in file when using Ninja gener…
jkoritzinsky Apr 9, 2019
7c85132
PR Feedback.
jkoritzinsky Apr 10, 2019
736239d
Generate ClrJit.exports.def at compile time on Windows.
jkoritzinsky Apr 10, 2019
ff5e2a3
Follow other projects in coreclr and have separate files for Win32/Un…
jkoritzinsky Apr 10, 2019
c2955d0
Work around https://gitlab.kitware.com/cmake/cmake/issues/18399 by sp…
jkoritzinsky Apr 10, 2019
c7c1d59
Update dependencies from https://github.com/dotnet/core-setup build 2…
dotnet-maestro[bot] Apr 11, 2019
3e09d17
PR feedback: Fix typos
GrabYourPitchforks Apr 11, 2019
56fa69d
PR feedback: CountNumberOfLeadingAsciiBytesFrom24BitInteger
GrabYourPitchforks Apr 11, 2019
8f2860d
PR feedback: Remove redundant endianess checks
GrabYourPitchforks Apr 11, 2019
ce13100
PR feedback: Validate nint definitions
GrabYourPitchforks Apr 11, 2019
c3aa431
PR feedback: Clarify charIsNonAscii vector usage
GrabYourPitchforks Apr 11, 2019
d8e2589
PR feedback: document tempUtf8CodeUnitCountAdjustment usage
GrabYourPitchforks Apr 11, 2019
28c209d
Nullable: Interop: Kernel32 and few others (#23880)
krwq Apr 11, 2019
7558272
Fix compilation failure in Utf16Utility
GrabYourPitchforks Apr 11, 2019
bf20ae7
Disable nullability-related warnings
jkotas Apr 10, 2019
affc24a
PR feedback: Clarify 3-byte sequence processing
GrabYourPitchforks Apr 11, 2019
0adca8b
Add missing check to 3-byte processing logic
GrabYourPitchforks Apr 11, 2019
e307d14
Clarify comment in 3-byte processing
GrabYourPitchforks Apr 11, 2019
3bebe93
Merge remote-tracking branch 'dotnet/master' into merge-master-nullable
safern Apr 11, 2019
e65ab1c
Fix build errors due to merge conflicts
safern Apr 11, 2019
759e377
JIT: fix assert when there are mixed types in Enum.HasFlags optimizat…
AndyAyersMS Apr 11, 2019
cfffad2
Fix 23740 (#23906)
sdmaclea Apr 12, 2019
35d7e15
Fix Version's comparer operators to allow null (#23898)
stephentoub Apr 12, 2019
2a46c25
Update CoreClr to preview5-27611-71 (#23884)
dotnet-maestro-bot Apr 12, 2019
a648c2d
Nullable: Interop.Adavapi32 (#23875)
Anipik Apr 12, 2019
9eace65
Nullable System.Diagnostics.Store (#23874)
Anipik Apr 12, 2019
50c7773
Nullable: System.Diagnostics (#23753)
Anipik Apr 12, 2019
5d420c4
Update Version annotations to match changes in master (#23917)
stephentoub Apr 12, 2019
daa688d
Fix Assembly.LoadFromPartialName(string) (#23912)
sdmaclea Apr 12, 2019
77a09eb
Add optimized UTF-8 validation and transcoding apis, hook them up to …
GrabYourPitchforks Apr 12, 2019
77bd2c4
Remove duplicates. (#23922)
Apr 12, 2019
1660956
Enable default Ready2Run testing in pull requests. Workaround an issu…
echesakov Apr 12, 2019
30a7c53
Enable precompiling CoreRoot overlay with crossgen for Linux arm/arm64
sergiy-k Apr 11, 2019
72d4912
JIT: update byref null check logic to handle field chains (#23850)
AndyAyersMS Apr 12, 2019
adf0a40
Add several links to deep-dive blog posts
stephentoub Apr 12, 2019
bc69ecd
Nullable: Globalization native interop + some missing files (#23914)
krwq Apr 12, 2019
a65921c
Nullable: System.Runtime.CompilerServices (#23886)
stephentoub Apr 12, 2019
f4e7424
Nullable: Runtime serialization, COM, Vector, remaining IO, and other…
stephentoub Apr 12, 2019
3968451
Nullable System.ComponentModel, System.Diagnostics.CodeAnalysis, Syst…
Anipik Apr 12, 2019
88347ff
Merge pull request #23900 from sergiy-k/fixcrossarchr2r1
sergiy-k Apr 12, 2019
85f584b
Consolidate duplicate assignment (#23923)
Apr 12, 2019
2688d6b
Fix arm64 localloc with large outgoing argument space
BruceForstall Apr 12, 2019
855491b
Don't Free UpperVector (#23889)
CarolEidt Apr 12, 2019
a559313
Reenable System.ComponentModel.Composition.Tests arm64 Windows.
Apr 12, 2019
f98564c
Update maximum allowed arm prolog size
BruceForstall Apr 12, 2019
a9c0396
Display the arm instruction size
BruceForstall Apr 12, 2019
9749601
Fix DIM Test to run on mono (#23870)
thaystg Apr 12, 2019
2573e4e
Fix OSX debugging (#23924)
janvorli Apr 12, 2019
c55ffed
PR Feedback
safern Apr 12, 2019
0120db5
Merge pull request #23911 from safern/merge-master-nullable
safern Apr 12, 2019
e347c0e
Add R2R prefix to TestRunNamePrefix when running ReadyToRun jobs (#23…
echesakov Apr 12, 2019
ecbf6bf
[master] Update dependencies from dotnet/corefx (#23893)
dotnet-maestro[bot] Apr 12, 2019
d586523
Fix x86 stack probing (#23881)
BruceForstall Apr 12, 2019
92389f2
Nullable: Enums, Structures from Reflection folder (#23933)
buyaa-n Apr 13, 2019
411fb39
Fix EventPipe IPC streaming (#23768)
sywhang Apr 13, 2019
23b62bb
Merge pull request #23935 from BruceForstall/FixArm64LargeOutgoingWit…
BruceForstall Apr 13, 2019
0fed62e
Exclude ResolveEventTests.cmd and CallbackTests.cmd on Windows_NT x86…
echesakov Apr 13, 2019
b10b8bb
Nullable: src\System\Runtime\InteropServices (#23936)
stephentoub Apr 13, 2019
8913aaa
Delete COMPlus_FinalizeOnShutdown (#23595)
jkotas Apr 13, 2019
58d9cf1
Update dependencies from https://github.com/dotnet/corefx build 20190…
dotnet-maestro[bot] Apr 13, 2019
6430f63
Delete outdated comment
jkotas Apr 13, 2019
3b2715e
Move DateTime Windows implementation to shared CoreLib (#23888)
filipnavara Apr 13, 2019
3bb5843
Merge pull request #23948 from BruceForstall/Fix23920
BruceForstall Apr 13, 2019
8ce1e71
Fix ARM's genPutArgStk codegen (#23867)
mikedn Apr 13, 2019
fee844c
[master] Update dependencies from dotnet/arcade (#23926)
dotnet-maestro[bot] Apr 13, 2019
8ef60d7
Remove unnecessary ThrowIfCreated call (#23839)
nxtn Apr 13, 2019
8c269c8
Delete outdated comment (#23967)
jkotas Apr 13, 2019
aab61f1
Use xUnit TestOutputHelper to get proper test output in Azure DevOps …
echesakov Apr 13, 2019
f08c5c3
EnterContextualReflection handle null (#23953)
sdmaclea Apr 13, 2019
f704d7a
Delete unused AssemblyName._hashForControl and related code (#23972)
jkotas Apr 14, 2019
ce952e7
Update BuildTools, CoreClr to preview4-03913-01, preview5-27612-73, r…
dotnet-maestro-bot Apr 14, 2019
2e00881
Move GCMemoryInfo to shared partition
jkotas Apr 13, 2019
2dbfe2d
Fix AssemblyName regression
jkotas Apr 13, 2019
d5ac4f6
Move GCMemoryInfo to shared partition
jkotas Apr 14, 2019
bbf4bea
Fix broken new lines (#23979)
gregkalapos Apr 14, 2019
b56d39c
Adjust plug_size_to_fit to consider large alignment om ARM32
VSadov Apr 14, 2019
6c9438d
Update CoreClr to preview5-27614-71 (#23978)
dotnet-maestro-bot Apr 14, 2019
473993d
Removed support for short plug padding in `fit`.
VSadov Apr 14, 2019
16aad35
Remove old method names from Rune (#23938)
GrabYourPitchforks Apr 15, 2019
4514009
Remove unused offset calculation (#23793)
razfriman Apr 15, 2019
7e59345
Nullable: System.Runtime.InteropServices.CustomMarshalers/WindowsRunt…
stephentoub Apr 15, 2019
e54a030
Fix typo in environment variable name - profiler loading doc (#23983)
gregkalapos Apr 15, 2019
304be84
Fix a few internal nullable annotations and comments (#23987)
stephentoub Apr 15, 2019
d8efb7d
Update CoreClr to preview5-27614-72 (#23985)
dotnet-maestro-bot Apr 15, 2019
8441657
improve entropy (#23591)
MarcoRossignoli Apr 15, 2019
88d7bf5
Update dependencies from https://github.com/dotnet/corefx build 20190…
dotnet-maestro[bot] Apr 15, 2019
345b154
Update CoreClr to preview5-27615-71 (#23991)
dotnet-maestro-bot Apr 15, 2019
c4ff48e
Merge remote-tracking branch 'dotnet/master' into merge-master-nullable
safern Apr 15, 2019
086082f
Update dependencies from https://github.com/dotnet/core-setup build 2…
dotnet-maestro[bot] Apr 15, 2019
57e4cc1
[master] Update dependencies from dotnet/arcade (#23977)
dotnet-maestro[bot] Apr 15, 2019
c539d01
Fix test for 64-bit platforms
BruceForstall Apr 15, 2019
3ddeb46
Merge pull request #23996 from BruceForstall/Fix64BitAlignment
BruceForstall Apr 15, 2019
5155a67
Merge pull request #23981 from VSadov/arm32fix22422
VSadov Apr 15, 2019
1e7f898
Another surgery fix for genPutArgStk to fix desktop build.
Apr 15, 2019
f26ac56
Get rid of varNumInp.
Apr 15, 2019
f221445
Fix build errors from merge conflicts and compiler update
safern Apr 15, 2019
996a260
Merge pull request #23997 from safern/merge-master-nullable
safern Apr 15, 2019
77a5f9c
Improved performance of System.Reflection.Emit API (#23833)
bbartels Apr 15, 2019
9f9dcdd
Opt COM methods out of the new Windows instance-method handling. (#23…
jkoritzinsky Apr 15, 2019
a49cc4a
Fix precompiling CoreRoot overlay with crossgen for Windows arm/arm64…
sergiy-k Apr 15, 2019
ee41ee4
Check for null methodhandle before checking if the method is in the s…
Apr 15, 2019
a632640
Remove redundant UnderlyingSystemType calls (#24000)
jkotas Apr 15, 2019
577f8b8
Delete unused YieldProcessorScalingFactor from GC (#23994)
jkotas Apr 15, 2019
47c6539
Add "partial" to MarshalAsAttribute (#24014)
EgorBo Apr 15, 2019
b97f068
Initialize IsolatedComponentLoadContext.Name (#24001)
sdmaclea Apr 15, 2019
4905d63
Fix lsraBlockEpoch check.
Apr 15, 2019
4aeedc1
Fold ResourceSet::CommonInit into constructor (#23993)
jkotas Apr 16, 2019
fcc4beb
Fix incorrect bit match pattern in UTF-16 validation (#24015)
GrabYourPitchforks Apr 16, 2019
ee2c5d6
Update clr-configuration-knobs and cleanups (#24016)
am11 Apr 16, 2019
f6938e2
Fix an issue with literal 0xFFFFFFFFFFFFF000LL being treated as unsig…
echesakov Apr 16, 2019
034c81b
Conversion issues
franksinankaya Apr 12, 2019
0f838a7
Use NewArrayHolder for array types (#24017)
omajid Apr 16, 2019
08318af
Use NewArrayHolder for array types in src/debug (#24013)
omajid Apr 16, 2019
994a50e
Merge pull request #24009 from sandreenko/fixLsraBlockEpochCheck
Apr 16, 2019
f7020d9
Move EventSource to shared CoreLib partition (#23925)
filipnavara Apr 16, 2019
bef5dd6
Use delete [] on array types (#24027)
omajid Apr 16, 2019
b1fac63
Update ContextualReflection doc (#24018)
sdmaclea Apr 16, 2019
11a3859
Test remove ContextualReflectionProxy (#24006)
sdmaclea Apr 16, 2019
5be6b66
Arm64 vector ABI (#23675)
CarolEidt Apr 16, 2019
8252365
Downgrade xUnit package version (#23944)
echesakov Apr 16, 2019
38b1ff9
Merge remote-tracking branch 'dotnet/master' into NullableFeature
safern Apr 16, 2019
b6907db
Nullable: Addition COM types (#24032)
stephentoub Apr 16, 2019
ba152cf
Use lvaGetDesc.
Apr 16, 2019
40d4d52
Reduce stack requirements of test
BruceForstall Apr 16, 2019
87ef27b
Merge pull request #23947 from sandreenko/reenableSystem.ComponentMod…
Apr 16, 2019
fc1cea7
Fix if condition in AssemblyLoadContext
safern Apr 16, 2019
b992648
Merge pull request #24002 from sandreenko/fixDesktopFailure
Apr 16, 2019
f360bbc
Merge pull request #24037 from BruceForstall/ReduceStackRequirement
BruceForstall Apr 16, 2019
b388f6c
[EventPipe] Minor bug fixes, and remove redundant/unused code. (#23956)
Apr 17, 2019
2a6ca5c
Fix incorrect thread affinitization (#24045)
janvorli Apr 17, 2019
aa9825a
Fix incorrect EHCount calculation (#24048)
GrabYourPitchforks Apr 17, 2019
c5b2e71
Changing Math.Max, Math.Min, Math.MaxMagnitude, and Math.MinMagnitude…
tannergooding Apr 17, 2019
61d84b9
Remove limits on IVT public key lengths. (#24042)
jkoritzinsky Apr 17, 2019
c60563a
Update dependencies from https://github.com/dotnet/arcade build 20190…
dotnet-maestro[bot] Apr 17, 2019
efb013d
Update dependencies from https://github.com/dotnet/corefx build 20190…
dotnet-maestro[bot] Apr 17, 2019
4023354
Update CoreClr to preview5-27616-71 (#24020)
dotnet-maestro-bot Apr 17, 2019
97da605
Nit: Update comment (#23896)
nxtn Apr 17, 2019
df2f4c4
Fix a ZeroMemory call in methodcontext.cpp (#23843)
omajid Apr 17, 2019
8db25ad
Exclude ToString_NullFrame_ThrowsNullReferenceException test from nul…
safern Apr 17, 2019
35172e1
Update the types consumers of Index and Range (#24036)
tarekgh Apr 17, 2019
f7b245c
Add --runtime-path to CoreFX test runner.
Apr 17, 2019
0d9114b
Put back the CPU limiting in GC
janvorli Apr 17, 2019
adf6d46
Add lvIsImplicitByRef information to lvaSetStruct (#19223)
Apr 17, 2019
5cd3582
Fix for Desktop build break
briansull Apr 17, 2019
176d0e1
Merge pull request #24065 from sandreenko/fixCoreFXScripts
Apr 17, 2019
b0d17dc
Restrict morph add rearrangement. (#23984)
erozenfeld Apr 17, 2019
4f00e74
Runtime counters naming change and setting default rates. (#24052)
sywhang Apr 17, 2019
e73ad9c
Fix StringBuilder annotations and debug.asserts (#24069)
safern Apr 17, 2019
ea12523
JIT: ignore pinning of non-gc types (#24010)
AndyAyersMS Apr 17, 2019
496d1b4
JIT: fix arm64 crossgen simd issue
AndyAyersMS Apr 17, 2019
dc4d6d7
Added comment on #endif
briansull Apr 17, 2019
3c9d270
Merge pull request #24067 from briansull/desktop-fix2
briansull Apr 17, 2019
0c1f6b9
Removing the unnecessary friend relationship
cshung Apr 17, 2019
7876c66
another similar fix
AndyAyersMS Apr 18, 2019
52aff20
Merge pull request #23762 from dotnet/NullableFeature
safern Apr 18, 2019
837ac49
Merge pull request #23934 from franksinankaya/gcc_cleanup_18
janvorli Apr 18, 2019
4111fae
Fixed ChunkEnumerator.Current NRE (#24076)
bbartels Apr 18, 2019
3188635
Skip type sanity checks for CoreLib (#24074)
jkotas Apr 18, 2019
576ac07
Merge pull request #24066 from janvorli/put-back-cpu-limits
janvorli Apr 18, 2019
42b5509
Merge pull request #23853 from jkoritzinsky/cmake-ninja-fix
janvorli Apr 18, 2019
12d7055
Add a destructor for sos::GCHeap (#24072)
omajid Apr 18, 2019
af83b8a
Merge pull request #24071 from AndyAyersMS/Fix24055
RussKeldorph Apr 18, 2019
b874895
If IPC connections fails, then remove active session. (#24082)
Apr 18, 2019
cae14d0
Disable native-client tests on IL round-trip (#24041)
jkoritzinsky Apr 18, 2019
1a2bc6c
Fix RVA field placement order (#24047)
Apr 18, 2019
8d4fccb
Reduce the number of Linux arm32 periodic jobs triggered
BruceForstall Apr 18, 2019
7e8c5b6
Allow UpperVector Save and Restore without base type (#24080)
CarolEidt Apr 18, 2019
65f74d4
Merge pull request #24105 from BruceForstall/ReduceLinuxArm32Periodic…
BruceForstall Apr 18, 2019
e4e261f
Don't return value types as const (#24103)
omajid Apr 19, 2019
4686029
Adding Sse2.StoreScalar(long*, V128) which will replace Sse2.StoreLow…
tannergooding Apr 19, 2019
b716788
Move R2R-specific code to be outside FEATURE_PREJIT (#24075)
jkotas Apr 19, 2019
0ca6b89
Fix performance regression on glibc on Linux (#24099)
filipnavara Apr 19, 2019
c05d03c
Nullable: System.Collections.Concurrent (#24054)
stephentoub Apr 19, 2019
ea70542
Nullable: couple of missing #nullable enable (#24094)
krwq Apr 19, 2019
4049a3e
Look for IBC data outside Windows (#24062)
MichalStrehovsky Apr 19, 2019
df6b6f6
Block usage of default interfaces feature in COM scenarios (#23970)
AaronRobinsonMSFT Apr 19, 2019
3459f81
Disable warning in ValueStringBuilder.ToString
safern Apr 19, 2019
9275010
Fix build errors in Interop.Errors
safern Apr 19, 2019
9c81799
Move CLR_ADDITIONAL_COMPILER_OPTIONS to be set after default options …
WardenGnaw Apr 19, 2019
d5acaf0
[master] Update dependencies from dotnet/core-setup (#24059)
dotnet-maestro[bot] Apr 19, 2019
f47de43
Remove commit triggered linux_arm ReadyToRun jobs
RussKeldorph Apr 19, 2019
85c3576
Merge branch 'release/3.0' into merge/master-to-release/3.0
wtgodbe Apr 19, 2019
b1d22a4
Fix DAC PAL exports for preview 5
hoyosjs Apr 19, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion BuildToolsVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.0-preview4-03906-01
3.0.0-preview4-03913-01
2 changes: 1 addition & 1 deletion Documentation/Profiling/Profiler Loading.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ If any of these environment variable are present, we skip the registry look up a

A couple things to note about this:
- If you specify `CORECLR_PROFILER_PATH` _and_ register your profiler, then `CORECLR_PROFILER_PATH` always wins. Even if `CORECLR_PROFILER_PATH` points to an invalid path, we will still use `CORECLR_PROFILER_PATH`, and just fail to load your profiler.
- `CORECLR_R_PROFILER` is _always required_. If you specify `CORECLR_PROFILER_PATH`, we skip the registry look up. We still need to know your profiler's CLSID, so we can pass it to your class factory's CreateInstance call.
- `CORECLR_PROFILER` is _always required_. If you specify `CORECLR_PROFILER_PATH`, we skip the registry look up. We still need to know your profiler's CLSID, so we can pass it to your class factory's CreateInstance call.


## Through the registry (Windows Only)
Expand Down

Large diffs are not rendered by default.

1,052 changes: 1,051 additions & 1 deletion Documentation/Profiling/davbr-blog-archive/samples/sigparse.cpp

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions Documentation/building/windows-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Visual Studio Express is not supported.

## CMake

The CoreCLR repo build has been validated using CMake 3.9.3.
The CoreCLR repo build has been validated using CMake 3.9.3. When using Visual Studio 2019 at least version 3.14.1 is required.

- Install [CMake](http://www.cmake.org/download) for Windows.
- Add its location (e.g. C:\Program Files (x86)\CMake\bin) to the PATH environment variable.
Expand All @@ -60,7 +60,7 @@ The CoreCLR repo build has been validated using CMake 3.9.3.

## Python

Python is used in the build system. We are currently using python 2.7.9, although
Python is used in the build system. We are currently using Python 2.7.9, although
any recent (2.4+) version of Python should work, including Python 3.
- Install [Python](https://www.python.org/downloads/) for Windows.
- Add its location (e.g. C:\Python*\) to the PATH environment variable.
Expand Down
2 changes: 2 additions & 0 deletions Documentation/deep-dive-blog-posts.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
### Posts that take a high-level overview of releases

- [Corestart 2.0: What's new for performance in .NET Core 2.0](https://www.ageofascent.com/2017/11/05/perfromance-dotnet-core-2-corestart-conference/)
- [Performance improvements in .NET Core 2.0](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core/)
- [Performance improvements in .NET Core 2.1](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-core-2-1/)


### Posts that take a high-level look at the entire source:
Expand Down
140 changes: 91 additions & 49 deletions Documentation/design-docs/AssemblyLoadContext.ContextualReflection.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ namespace System.Reflection
{
public static Assembly Load(string assemblyString);
public static Assembly Load(AssemblyName assemblyRef);
public static Assembly LoadWithPartialName (string partialName);
}
}
```
Expand All @@ -65,8 +66,18 @@ namespace System
public static Type GetType(string typeName);
}
}

namespace System.Reflection
{
public abstract partial class Assembly : ICustomAttributeProvider, ISerializable
{
public Type GetType(string typeName, bool throwOnError, bool ignoreCase);
public Type GetType(string typeName, bool throwOnError);
public Type GetType(string typeName);
}
}
```
#### Unamiguous APIs related to affected APIs
#### Normally unamiguous APIs related to affected APIs
```C#
namespace System
{
Expand All @@ -78,9 +89,9 @@ namespace System
}
}
```
In this case, `assemblyResolver` functionally specifies the explicit mechanism to load. This indicates the current assembly's `AssmblyLoadContext` is not being used. If the `assemblyResolver` is only serving as a first or last chance resolver, then these would also be in the set of affected APIs.
#### Should be affected APIs
Issue https://github.com/dotnet/coreclr/issues/22213, discusses scenarios in which various flavors of the API `GetType()` is not functioning correctly. As part of the analysis and fix of that issue, the set of affected APIs may increase.
In this case, `assemblyResolver` functionally specifies the explicit mechanism to load.

If the `assemblyResolver` is `null`, assembly loads for these occur when `typeName` includes a assembly-qualified type reference.
### Root cause analysis
In .NET Framework, plugin isolation was provided by creating multiple `AppDomain` instances. .NET Core dropped support for multiple `AppDomain` instances. Instead we introduced `AssemblyLoadContext`.

Expand Down Expand Up @@ -112,10 +123,10 @@ namespace System.Runtime.Loader
{
public partial class AssemblyLoadContext
{
private static readonly AsyncLocal<AssemblyLoadContext> asyncLocalActiveContext = new AsyncLocal<AssemblyLoadContext>(null);
private static readonly AsyncLocal<AssemblyLoadContext> _asyncLocalActiveContext;
public static AssemblyLoadContext CurrentContextualReflectionContext
{
get { return _asyncLocalCurrentContextualReflectionContext.Value; }
get { return _asyncLocalCurrentContextualReflectionContext?.Value; }
}
}
}
Expand Down Expand Up @@ -203,7 +214,7 @@ namespace System.Runtime.Loader
{
public partial class AssemblyLoadContext
{
public static AssemblyLoadContext CurrentContextualReflectionContext { get { return _asyncLocalCurrentContextualReflectionContext.Value; }}
public static AssemblyLoadContext CurrentContextualReflectionContext { get { return _asyncLocalCurrentContextualReflectionContext?.Value; }}

public ContextualReflectionScope EnterContextualReflection();

Expand All @@ -218,62 +229,93 @@ namespace System.Runtime.Loader
```
## Design doc

Mostly TBD.

### Performance Consideration
#### Avoiding native / managed transitions
### Affected runtime native calls

My natural inclination would be to replace most native calls taking a `StackCrawlMark` with callS taking the `CurrentContextualReflectionContext`. When `CurrentContextualReflectionContext` is `null`, resolve the `StackCrawlMark` first, passing the result as the inferred context.
The affected runtime native calls correspond to the runtime's mechanism to load an assembly, and to get a type. Each affected native call is passed a managed reference to the CurrentContextualReflectionContext. This prevents GC holes, while running the native code. The `CurrentContextualReflectionContext` acts as the mechanism for resolving assembly names to assemblies.

However this may require mutiple native/managed transitions. Performance considerations may require Native calls which currently take a `StackCrawlMark` will need to be modified to also take `CurrentContextualReflectionContext`.
### Unloadability

### Hypothetical Advanced/Problematic use cases
`CurrentContextualReflectionContext` will hold an `AssemblyLoadContext` reference. This will prevent the context from being unloaded while it could be used. As an `AsyncLocal<AssemblyLoadContext>`, the setting will propagate to child threads and asynchronous tasks.
After a thread or asynchronous task completes, the `AsyncLocal<AssemblyLoadContext>` will eventually be cleared, this will unblock the `AssemblyLoadContext` unload. The timing of this unload depends on the ThreadPool implementation.

One could imagine complicated scenarios in which we need to handle ALCs on event callback boundaries. These are expected to be rare. The following are representative patterns that demonstrate the possibility to be support these more complicated usages.
### ContextualReflectionScope

#### An incoming event handler into an AssemblyLoadContext
```C#
void OnEvent()
/// <summary>Opaque disposable struct used to restore CurrentContextualReflectionContext</summary>
/// <remarks>
/// This is an implmentation detail of the AssemblyLoadContext.EnterContextualReflection APIs.
/// It is a struct, to avoid heap allocation.
/// It is required to be public to avoid boxing.
/// <see cref="System.Runtime.Loader.AssemblyLoadContext.EnterContextualReflection"/>
/// </remarks>
[EditorBrowsable(EditorBrowsableState.Never)]
public struct ContextualReflectionScope : IDisposable
{
using (alc.Activate())
{
...
}
}
```
#### An incoming event handler into a collectible AssemblyLoadContext
```C#
class WeakAssemblyLoadContextEventHandler
{
WeakReference<AssemblyLoadContext> weakAlc;
private readonly AssemblyLoadContext _activated;
private readonly AssemblyLoadContext _predecessor;
private readonly bool _initialized;

void OnEvent()
{
AssemblyLoadContext alc;
if(weakAlc.TryGetTarget(out alc))
internal ContextualReflectionScope(AssemblyLoadContext activating)
{
using (alc.Activate())
{
...
}
_predecessor = AssemblyLoadContext.CurrentContextualReflectionContext;
AssemblyLoadContext.SetCurrentContextualReflectionContext(activating);
_activated = activating;
_initialized = true;
}

public void Dispose()
{
if (_initialized)
{
// Do not clear initialized. Always restore the _predecessor in Dispose()
// _initialized = false;
AssemblyLoadContext.SetCurrentContextualReflectionContext(_predecessor);
}
}
}
}
```
#### A outgoing callback

`_initialized` is included to prevent useful default construction. It prevents the `default(ContextualReflectionScope).Dispose()` case.

`_predecessor` represents the previous value of `CurrentContextualReflectionContext`. It is used by `Dispose()` to restore the previous state.

`_activated` is included as a potential aid to debugging. It serves no other useful purpose.

This struct is implemented as a readonly struct. No state is modified after construction. This means `Dispose()` can be called multiple times. This means `using` blocks will always restore the previous `CurrentContextualReflectionContext` as exiting.

### Unusual usage patterns

There are some unusual usage patterns which are not recommended, but not prohibited. They all have reasonable behaviors.

* Clear but never restore the CurrentContextualReflectionContext
```C#
myAssemblyLoadContext.EnterContextualReflection(null);
```

* Set but never clear the CurrentContextualReflectionContext
```C#
using (AssemblyLoadContext.Activate(null))
{
Callback();
}
myAssemblyLoadContext.EnterContextualReflection();
```
#### An outgoing event handler

* Manual dispose
```C#
void OnEvent()
myAssemblyLoadContext.EnterContextualReflection();

scope.Dispose();
```

* Multiple dispose
```C#
ContextualReflectionScope scope = myAssemblyLoadContext.EnterContextualReflection();

scope.Dispose(); // Will restore the context as set during `EnterContextualReflection()`
scope.Dispose(); // Will restore the context as set during `EnterContextualReflection()` (again)
```

* Early dispose
```C#
using (ContextualReflectionScope scope = myAssemblyLoadContext.EnterContextualReflection())
{
using (AssemblyLoadContext.Activate(null))
{
...
}
}
scope.Dispose(); // Will restore the context as set during `EnterContextualReflection()`
} // `using` will restore the context as set during `EnterContextualReflection()` (again)
```
12 changes: 6 additions & 6 deletions Documentation/project-docs/clr-configuration-knobs.csx
Original file line number Diff line number Diff line change
Expand Up @@ -350,13 +350,13 @@ public static class ConfigKnobsDoc
"## Environment/Registry Configuration Knobs\n";

public static string ClrConfigSectionInfo =
"This table was machine-generated using `clr-configuration-knobs.csx` script from repository commit [GIT_SHORT_HASH](https://github.com/dotnet/coreclr/commit/GIT_LONG_HASH) on DATE_CREATED. It might be out of date. To generate latest documentation run `{dotnet} csi clr-configuration-knobs.csx` from this file directory.\n";
"This table was machine-generated using `clr-configuration-knobs.csx` script from repository commit [GIT_SHORT_HASH](https://github.com/dotnet/coreclr/commit/GIT_LONG_HASH) on DATE_CREATED. It might be out of date. To generate latest documentation run `dotnet-script clr-configuration-knobs.csx` from this file directory.\n";

public static string ClrConfigSectionUsage =
"When using these configurations from environment variables, the variables need to have the `COMPlus_` prefix in their names. e.g. To set DumpJittedMethods to 1, add the environment variable `COMPlus_DumpJittedMethods=1`.\n\nSee also [Setting configuration variables](../building/viewing-jit-dumps.md#setting-configuration-variables) for more information.\n";

public static string ClrConfigTableHeader =
"\nName | Description | Type | Class | Default Value | Flags \n" +
"\nName | Description | Type | Class | Default Value | Flags\n" +
"-----|-------------|------|-------|---------------|-------\n";

public static string PalConfigurationKnobs =
Expand Down Expand Up @@ -421,10 +421,10 @@ public static class ConfigKnobsDoc
foreach (string key in catKnobs.Keys)
{
var knob = catKnobs[key];
writer.Write($"`{knob.Name}` | {knob.Description} | `{knob.Type}` | ");
writer.Write(knob.Class.Length > 0 ? $"`{knob.Class}` | " : " | ");
writer.Write(knob.DefaultValue.Length > 0 ? $"`{knob.DefaultValue}` | " : " | ");
writer.WriteLine($"{ knob.Flags}");
writer.Write($"`{knob.Name}` | {knob.Description} | `{knob.Type}` |");
writer.Write(knob.Class.Length > 0 ? $" `{knob.Class}` |" : " |");
writer.Write(knob.DefaultValue.Length > 0 ? $" `{knob.DefaultValue}` |" : " |");
writer.WriteLine(knob.Flags.Length > 0 ? $" {knob.Flags}" : string.Empty);
count++;
}

Expand Down
Loading