Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
391 commits
Select commit Hold shift + click to select a range
fb6cf5c
Loop refactoring and commenting improvements (#61496)
BruceForstall Nov 15, 2021
9fceaa0
Give write access to backport action explicitly (#61626)
hoyosjs Nov 15, 2021
a93e0d2
Create runtime staging clone to manually kick off full test runs (#61…
steveisok Nov 15, 2021
fdafc7c
Adding support for X86Base.Pause() and ArmBase.Yield() (#61065)
tannergooding Nov 15, 2021
5d3e70a
[wasm] parallel asset loading (#61610)
pavelsavara Nov 15, 2021
2e97ac4
Delete impCheckForNullPointer (#61576)
SingleAccretion Nov 15, 2021
3b71d3b
Enable SymbolicRegexNode.IsNullableFor fast path to inline (#61605)
stephentoub Nov 15, 2021
d471a03
Use GeneratedDllImport in Microsoft.Win32.SystemEvents (#61609)
elinor-fung Nov 15, 2021
6401f33
Restrict GITHUB_TOKEN in markdownlint action (#61622)
vcsjones Nov 15, 2021
1c76754
Allow for backport to report progress to PR (#61637)
hoyosjs Nov 15, 2021
25da88c
Only run JIT formatting job if there are JIT changes (#61632)
BruceForstall Nov 16, 2021
e10532a
Obsolete thumbtacked AssemblyName properties (#59522)
i3arnon Nov 16, 2021
56acd2e
Add tests for CNG symmetric key algorithm mismatches
vcsjones Nov 16, 2021
4d82463
XArch: Trim the code block to match the actual code length (#61523)
kunalspathak Nov 16, 2021
a89debf
Provide locations for src-gen diagnostic output (#61430)
layomia Nov 16, 2021
0d11ae8
Fix SuperPMI Python script Azure usage (#61650)
BruceForstall Nov 16, 2021
c566e25
Give create codespaces prebuild action right permissions (#61651)
safern Nov 16, 2021
c397327
[arm64] JIT: Make 0.0 containable for fcmp (#61617)
EgorBo Nov 16, 2021
bd0c543
Disable fgMorphCastedBitwiseOp opt for floats (#61657)
EgorBo Nov 16, 2021
9a9a4f3
Fix poisoning for very large structs (#61521)
jakobbotsch Nov 16, 2021
2b1f420
[wasm] Rework fetch (#61639)
lewing Nov 16, 2021
7b74a7e
[wasm][debugger] Improvement of memory consumption while Evaluating E…
thaystg Nov 16, 2021
293e5ed
[wasm][debugger] View multidimensional array when debugging (#60983)
thaystg Nov 16, 2021
0749730
Update WASM README.md (#61681)
AaronRobinsonMSFT Nov 16, 2021
3806e15
Use GeneratedDllImport for blittable p/invokes in System.IO.Compressi…
elinor-fung Nov 16, 2021
9e11006
Localized file check-in by OneLocBuild Task: Build definition ID 679:…
dotnet-bot Nov 16, 2021
8076522
[DllImportGenerator] Stop ignoring QCalls when looking for methods to…
elinor-fung Nov 16, 2021
c66fa99
Add .runsettings file to be able to run and debug tests on vscode in …
safern Nov 16, 2021
d459c65
Add [Fact] attributes to all remaining ilproj tests (#61625)
trylek Nov 17, 2021
628a084
JIT: don't import IL for partial compilation blocks (#61572)
AndyAyersMS Nov 17, 2021
a1b391b
Update SPCL to use GeneratedDllImport where possible. (#61640)
AaronRobinsonMSFT Nov 17, 2021
da0e0f7
[wasm] renames and cleanup before modularization (#61596)
pavelsavara Nov 17, 2021
0666ebc
[mono][aot] Fix the inclusion of generic instances when doing profile…
vargaz Nov 17, 2021
10e107d
[wasm][debugger] Fix evaluation of a static class attribute; using cu…
ilonatommy Nov 17, 2021
d1b3816
Minor File.ReadAllBytes* improvements (#61519)
adamsitnik Nov 17, 2021
44d28bf
Extend RegexCharClass.Canonicalize range inversion optimization (#61562)
stephentoub Nov 17, 2021
83661ff
Remove some unnecessary slicing from generated Regex code (#61701)
stephentoub Nov 17, 2021
5331f21
Ignore missing data result from superpmi-replay run (#61699)
kunalspathak Nov 17, 2021
c03f4ec
refactoring (#60074)
kronic Nov 17, 2021
de883e3
Remove XUnit reference metadata from tests I switched over last week …
trylek Nov 17, 2021
a508fb5
[DllImportGenerator] Enable on projects without System.Memory and Sys…
elinor-fung Nov 17, 2021
25237fa
Factor out and improve the vectorization of RegexInterpreter.FindFirs…
stephentoub Nov 17, 2021
8cf0b19
A few follow up changes to LookupTypeKey change (#61718)
VSadov Nov 17, 2021
13024af
HostFactoryResolver - Increase default timeout to thirty seconds (#61…
maryamariyan Nov 17, 2021
899bf97
Merge System.Security.Cryptography.Algorithms to System.Security.Cryp…
bartonjs Nov 17, 2021
16300e0
Skip HardwareIntrinsics/x86base/Pause tests on Mono (#61743)
agocke Nov 17, 2021
f9e3e28
Update docker image (#61217)
DrewScoggins Nov 17, 2021
9962c10
src/tests tree test xunit-based source generated runner (#60846)
jkoritzinsky Nov 17, 2021
30550d6
Remove `DisableImplicitNamespaceImports_DotNet` (#61656)
MichalStrehovsky Nov 18, 2021
66b31ca
Upload dasm files as artifacts for "asmdiffs pipeline" (#61700)
kunalspathak Nov 18, 2021
0d25969
[wasm][debugger] Tie sdb agent lifetime to the ExecutionContext and s…
lewing Nov 18, 2021
7f874ee
Remove race condition from DllImportGenerator build (#61695)
jkoritzinsky Nov 18, 2021
581d4d2
Hide 'align' instruction behind jmp (#60787)
kunalspathak Nov 18, 2021
95e3144
Create runtime clone to manually kick off full test runs (#61641)
steveisok Nov 18, 2021
8275c37
Update DNNE version (#61738)
elinor-fung Nov 18, 2021
f6e2377
Convert Crypto P/Invokes to GeneratedDllImport. (#61742)
AaronRobinsonMSFT Nov 18, 2021
23c386a
Use GeneratedDllImport in System.Data.Odbc, System.IO.Ports, System.S…
elinor-fung Nov 18, 2021
d9afc1e
Reduce the output from tests. (#61593)
maraf Nov 18, 2021
37bf145
CreateDirectory: eliminate some syscalls. (#58799)
tmds Nov 18, 2021
5181d12
FileSystemEntry.Unix: ensure properties are available when file is de…
tmds Nov 18, 2021
80ca504
FileStatus.Unix/Process.Unix: align caching of user identity. (#60160)
tmds Nov 18, 2021
4db3531
Add support for dumping and using precise debug info (#61735)
jakobbotsch Nov 18, 2021
9e986b5
Add single char lazy loop support to simplified Regex code gen (#61698)
stephentoub Nov 18, 2021
513d38c
Update Area Owners for System.Data (#61748)
cheenamalhotra Nov 18, 2021
2b23bfa
Remove duplicate checks (#61766)
kant2002 Nov 18, 2021
62c29ff
[iOS] Follow up changes for 61590 (#61670)
MaximLipnin Nov 18, 2021
c0dabb5
[Group 4] Enable nullable annotations for `Microsoft.Extensions.Confi…
maxkoshevoi Nov 18, 2021
6ff57f1
Actually use TargetOS=AnyOS in the build-test-job. (#61745)
jkoritzinsky Nov 18, 2021
b11bda2
Add ThrowIfNull overload for pointers (#61633)
stephentoub Nov 18, 2021
ecdb7d2
Add tests verifying fast-path semantics for nullable structs (#61711)
layomia Nov 18, 2021
ca24ab0
Revert "Actually use TargetOS=AnyOS in the build-test-job. (#61745)" …
jkoritzinsky Nov 18, 2021
9d81462
Fix the only ilproj test that uses multiple command-line variants (#6…
trylek Nov 18, 2021
bd63cfc
Fix building DllImportGeneratorSample (#61806)
elinor-fung Nov 18, 2021
cc44d43
Convert System.Net.* over to GeneratedDllImport (#61765)
AaronRobinsonMSFT Nov 18, 2021
dc43e19
JIT: support OSR for synchronized methods (#61712)
AndyAyersMS Nov 18, 2021
8ae135a
Apply BuiltInComInterop feature switch to managed code (#54056)
marek-safar Nov 18, 2021
4269db9
[Group 4] Enable nullable annotations for `Microsoft.Extensions.Confi…
maxkoshevoi Nov 19, 2021
c159108
Add JitDisasmWithDebugInfo (#61780)
jakobbotsch Nov 19, 2021
4254fa3
[DllImportGenerator] Don't flag methods with known unsupported Unmana…
elinor-fung Nov 19, 2021
8cf8872
Improve superpmi-asmdiffs AzDO pipeline robustness (#61819)
BruceForstall Nov 19, 2021
779c498
Skip System.Diagnostics.TextWriterTraceListenerTests.XmlWriterTraceLi…
MaximLipnin Nov 19, 2021
dc0a7f9
Try to skip pause_* tests again (#61793)
agocke Nov 19, 2021
de1f070
Include arch specific headers in standalone JITs (#61800)
jakobbotsch Nov 19, 2021
b4d16b7
Disable several failing tests on iOSSimulator arm64 (#61826)
steveisok Nov 19, 2021
ba4eae0
Reduce allocations for CreateDirectory (#61777)
adamsitnik Nov 19, 2021
28dd6aa
Expand One/Notone/Setlazy support to Lazy (#61784)
stephentoub Nov 19, 2021
468a495
Switch IP mapping lists to use jitstd::list (#61822)
jakobbotsch Nov 19, 2021
4e4b27f
Integration of changes in shared files from runtimelab/NativeAOT (#61…
MichalStrehovsky Nov 19, 2021
649e14b
Enable DD117522 test (#61585)
MichalStrehovsky Nov 19, 2021
6d9edd4
Allow runtimeconfig StartupHooks and Environment StartupHooks to both…
tomdegoede Nov 19, 2021
4e2d3a6
Create empty zip files (#61828)
kunalspathak Nov 19, 2021
8b1a0c8
[Group 4] Enable nullable annotations for `Microsoft.Extensions.Confi…
maxkoshevoi Nov 19, 2021
4d6a662
Update area-owners to reflect Libraries Area Pod changes (#61642)
jeffhandley Nov 19, 2021
e975403
[wasm] Disable System.Text.RegularExpressions.Tests for AOT (#61803)
radical Nov 20, 2021
ce93c29
[wasm] Run AOT, and Wasm.Build.Tests on windows (#59479)
radical Nov 20, 2021
87b92fd
Make intrinsic nodes multi op (aka delete `GT_LIST`) (#59912)
SingleAccretion Nov 20, 2021
06a0c76
Update `GetPinnableReference()` usage in multi-step custom type marsh…
jkoritzinsky Nov 20, 2021
7099f4b
Use reflection or a compile-time only shim assembly to reference unex…
jkoritzinsky Nov 20, 2021
69b5d67
Do not devirtualize if optimizations disabled (#61868)
MichalStrehovsky Nov 20, 2021
752d396
Actually use TargetOS=AnyOS in the build-test-job (Try 2) (#61801)
jkoritzinsky Nov 22, 2021
77165a0
Fix a few special cases of projects with command line arguments (#61758)
trylek Nov 22, 2021
8daae66
Mark PLINQ as enabled in WASM and make browser compat changes (#58227)
kg Nov 22, 2021
f1edeed
Fix XXHash for stripe size (#61881)
Tornhoof Nov 22, 2021
c2b7638
[HTTP] Scavange fix (#61530)
ManickaP Nov 22, 2021
f45dfdc
Rename CORINFO_FLG_CONTAINS_STACK_PTR to CORINFO_FLG_BYREF_LIKE (#61907)
jkotas Nov 22, 2021
ec7b11d
Make System.DirectoryServices.AccountManagement use GeneratedDllImpor…
elinor-fung Nov 22, 2021
07143d4
Default BuildTargetFramework to NetCoreAppCurrent so that the ref is …
safern Nov 22, 2021
ce688fd
JIT: refactor to allow OSR to switch to optimized (#61851)
AndyAyersMS Nov 22, 2021
02c3dfb
Skip eventpipe_readevents for arm32 (#58545)
gbalykov Nov 22, 2021
0e9ce96
Revert "[Mono] Skip flaky android tests (#61460)" (#61771)
simonrozsival Nov 22, 2021
c334e55
Make S.S.C.X509Certificates compliant with interop guidelines - part 3
pedrobsaila Nov 22, 2021
a6e0f25
Do not explicitly pass type to `VNForMapStore` (#61882)
SingleAccretion Nov 22, 2021
3745e38
Vectorize SpanHelpers<T>.IndexOf (#60974)
alexcovington Nov 22, 2021
259b561
Delete Regex timeout tests with RegexOptions.Debug (#61888)
stephentoub Nov 22, 2021
106afdc
Use correct VN relation kind for redundant relop opts (#61912)
jakobbotsch Nov 22, 2021
ee7f142
Don't special case "Experimental" projects (#60641)
ericstj Nov 22, 2021
4892e4f
Add a JsonWriterOptions.MaxDepth property (#61608)
eiriktsarpalis Nov 22, 2021
38ccd84
Extract ECAlgorithm from ECDsa and ECDiffieHellman
vcsjones Nov 22, 2021
7a2fac8
Update list of analyzer diagnostics with JSON entries (#61809)
layomia Nov 22, 2021
1997bee
Adding support for the X86Base.Pause intrinsic on Mono (#61707)
tannergooding Nov 22, 2021
48fe637
Fix regression in IsPrefix / IsSuffix benchmarks (#61935)
elinor-fung Nov 22, 2021
fc48852
Add backtracking loops, backreferences, and if-then-else constructs t…
stephentoub Nov 23, 2021
141dae4
Localized file check-in by OneLocBuild Task: Build definition ID 679:…
dotnet-bot Nov 23, 2021
c186b28
Disable changing align nop padding to breakpoints for arm64 under jit…
AndyAyersMS Nov 23, 2021
8193214
Use GeneratedDllImport in Microsoft.Extensions.Hosting.WindowsService…
elinor-fung Nov 23, 2021
092c2ab
Add Clear() to MemoryCache (#57631)
adamsitnik Nov 23, 2021
00e9312
Added AsReadOnly extension methods for IDictionary<T, U> and IList<T>…
Mrxx99 Nov 23, 2021
721e9fc
Update Proxy-Support check to be case insensitive (#61446)
ChrisFWood Nov 23, 2021
c03a89f
[wasm] workaround test results corruption (#61841)
pavelsavara Nov 23, 2021
56b5df4
[System.Text.Json] Move inline throw statements to `ThrowHelper` (#61…
eiriktsarpalis Nov 23, 2021
a0fdc25
FileSystem.Unix: Directory.Delete: remove per item syscall. (#59520)
tmds Nov 23, 2021
25ebdcf
Environment variable should override property for gcServer. (#61950)
AaronRobinsonMSFT Nov 23, 2021
0f40573
Disable several GenericMath tests on iOS/tvOS (#61922)
steveisok Nov 23, 2021
b35c0ad
[mono] Don't use recursion in mono_ssa_rename_vars (#61677)
radekdoulik Nov 23, 2021
8b67772
removed argument requestId from loopbackserver.cs (#58678)
AnudeepGunukula Nov 23, 2021
f24b363
Stabilize host's UpgradeCode and ProviderKey (#61810)
NikolaMilosavljevic Nov 23, 2021
c158cb2
Check for time-sensitive work when worker thread starvation is ongoin…
kouvel Nov 23, 2021
d2fb0f3
Delete dead code from InferStructOpSizeAlign (#61880)
SingleAccretion Nov 24, 2021
b259f68
[mono] Remove support for Classic Xamarin for the Selector.GetHandle …
rolfbjarne Nov 24, 2021
f9dfd41
[wasm] Misc CI/test run improvements (#61937)
radical Nov 24, 2021
ef5ddf5
prevent concurrent access to IO buffers on macOS (#61723)
wfurt Nov 24, 2021
2c55431
Make more extensive use of lvaGetDesc() (#61494)
BruceForstall Nov 24, 2021
bf1797a
Clean up test intermediates when clean test rebuild is requested (#62…
trylek Nov 24, 2021
8997e86
Use separate partials for iOS&tvOS instead of UnknowUnix in System.Di…
MaximLipnin Nov 24, 2021
773766f
Fix Android crypto asserts (#61827)
vcsjones Nov 24, 2021
90773ac
Add RequiresDynamicCodeAttribute to runtime (#61956)
tlakollo Nov 24, 2021
a46358c
Add some tests that validate debug info through ETW events (#61962)
jakobbotsch Nov 24, 2021
35815de
[wasm] [debugger] Eval fixes for static class eval (#61660)
ilonatommy Nov 24, 2021
89e3040
Nullable annotation for System.Windows.Extensions (#57896)
huoyaoyuan Nov 24, 2021
292632f
Added null checks to prevent null pointer exception (#62013)
Haarmees Nov 24, 2021
4da6b9a
Unify ARRAY_SIZE/STRING_LENGTH-like macros (#61537)
am11 Nov 24, 2021
5a3070c
Fix calling NLS with Cultures has alternative sort names (#61992)
tarekgh Nov 24, 2021
7cfcbb0
The DestroyStructure API passes null to the IL marshaller for (#61985)
AaronRobinsonMSFT Nov 24, 2021
97f7e68
Use GeneratedDllImport in System.Diagnostics.EventLog (#61990)
elinor-fung Nov 24, 2021
edf67aa
Splitting the hardware intrinsic tests into more test groupings (#61973)
tannergooding Nov 24, 2021
40dc863
Remove SupportedOSPlatformAttribute("windows") from LdapSessionOption…
macsux Nov 24, 2021
3bfce3b
Handle empty string parameter value in MetadataLoadContext (#61457)
svick Nov 24, 2021
2307418
Use GeneratedDllImport for blittable p/invokes in System.Console, Sys…
elinor-fung Nov 24, 2021
7414af2
Reorganize libs.native (#61958)
am11 Nov 24, 2021
337cb2f
Update path of disabled test that was moved (#62051)
jakobbotsch Nov 25, 2021
c9ea14c
[wasm] debug with modularized runtime(s) (#61848)
pavelsavara Nov 25, 2021
edec2f0
[mono][interp] Fix handing of native types (#61612)
BrzVlad Nov 25, 2021
ab18c01
Add a github action to sync shared source from aspnetcore (#61999)
Tratcher Nov 25, 2021
db6f5ce
Integration of changes in shared files from runtimelab/NativeAOT (#62…
MichalStrehovsky Nov 25, 2021
a2af8ae
Re-enable Windows test that verifies DriveInfo.VolumeLabel setter fai…
carlossanlop Nov 25, 2021
b256b43
Add endHeader flag to QPACK decode (#62059)
github-actions[bot] Nov 26, 2021
49c5643
[wasm][debugger] Stepping into hidden function. (#61312)
ilonatommy Nov 26, 2021
27a39e0
Exclude a newly added test on Mono (#62056)
jakobbotsch Nov 26, 2021
90b8c70
Suppress trim warning caused by recent attribute removal changes (#62…
vitek-karas Nov 26, 2021
c00b068
Fix setting pipe as nonblocking (#61126)
vtikoo Nov 26, 2021
15649df
Avoid switching GC mode in COM's HasValidTarget (#62066)
am11 Nov 26, 2021
574b2d4
Refactor writing QPACK status (#62069)
github-actions[bot] Nov 26, 2021
9ede9a2
fix for excessive gen0 in high memory load situation (#61884)
Maoni0 Nov 26, 2021
6f44dbe
[main] Update dependencies from 8 repositories (#61668)
dotnet-maestro[bot] Nov 26, 2021
03e0187
Fix miscellaneous typos (#62062)
am11 Nov 27, 2021
12a8819
Flip IL offset check (#62049)
jakobbotsch Nov 27, 2021
a4cab7d
[mono]mono_runtime_delegate_invoke change to gc unsafe state (#62003)
srxqds Nov 29, 2021
d9a5789
Update hash of the new CSE when resizing (#61984)
SingleAccretion Nov 29, 2021
6069861
Fix `optComputeLoopSideEffects` to account for HWI stores (#61911)
SingleAccretion Nov 29, 2021
efc8adb
CI matrix change: add Windows.Server.Core.20H2 - Second attempt (#60054)
Nov 29, 2021
95a9c72
[wasm] Use cross origin policy headers (#62016)
maraf Nov 29, 2021
39b4f26
[main] Update dependencies from 3 repositories (#62098)
dotnet-maestro[bot] Nov 29, 2021
ca85979
Implement PEM exports for RSA PKCS#1 and ECPrivateKey
vcsjones Nov 29, 2021
027d755
Cleanup some code using ECAlgorithm
vcsjones Nov 29, 2021
d7f3f58
Support zero-byte reads on HTTP response streams (#61913)
MihaZupan Nov 29, 2021
4e9ea99
Revert "Adding support for the X86Base.Pause intrinsic on Mono (#6170…
agocke Nov 30, 2021
b5bb3c9
Mono hot reload reorg and beginning (disabled) add method support (#6…
lambdageek Nov 30, 2021
13c8988
Remove extraneous support in the test runner generator for referencin…
jkoritzinsky Nov 30, 2021
e1ea1a6
Run Codespaces prebuild only in upstream repo (#62162)
eerhardt Nov 30, 2021
1281b91
[wasm][debugger] A draft of doc for describing debugger behavior. (#6…
ilonatommy Nov 30, 2021
a47e5d1
Fix clang 13 induced runtime issues (#62170)
janvorli Nov 30, 2021
663e7b4
Avoid printing debug info on 0 byte instructions (#62077)
jakobbotsch Nov 30, 2021
cdf7bcf
Fix set value. Implement Runtime.evaluate. (#62142)
thaystg Nov 30, 2021
1962c6c
Fix TimeSpan support in sourcegen (#62130)
eiriktsarpalis Nov 30, 2021
cc7b99b
Fix mono alc from gchandle (#62120)
srxqds Nov 30, 2021
fe68bf8
Fix System.Object serialization with custom number handling (#62020)
eiriktsarpalis Nov 30, 2021
8f87ac7
avoid code duplication for disabling parallelization with xUnit (#62132)
adamsitnik Nov 30, 2021
9857fe0
No-op ConcurrentStack.PushRange(T[]) if empty (#62126)
martincostello Nov 30, 2021
aa03df0
Fix method HttpHeadersNonValidated uses to get HeaderDescriptor (#62150)
stephentoub Nov 30, 2021
b1b7ad4
area-PAL-Libraries merged into area-System.Runtime.InteropServices (#…
jeffhandley Nov 30, 2021
eeb60e8
[TODO-List-Cleanup] Delete `NumChildren`, `GetChild` and `gtGetChildP…
SingleAccretion Nov 30, 2021
439ffd2
Fix parsing of ping error replies on raw sockets (#61592)
filipnavara Nov 30, 2021
85642f8
Build HttpStress and SslStress with live-built runtime using current …
antonfirsov Nov 30, 2021
3efb476
RuntimeHelpers.CreateSpan<T> (#61079)
davidwrighton Nov 30, 2021
35f01d7
Protecting send message to debugger if it's disables (#61927)
thaystg Nov 30, 2021
5ff8070
Validate end when reading QPACK headers (#62164)
github-actions[bot] Nov 30, 2021
bb597e2
[JIT] [Issue: 61620] Optimizing ARM64 for *x = dblCns; (#61847)
SeanWoo Nov 30, 2021
9f4486e
Update DI external tests for Stashbox (#61928)
z4kn4fein Nov 30, 2021
f53075c
Update creating codespace instructions (#62213)
eerhardt Nov 30, 2021
84b55d9
Remove workarounds for referencing the DllImport source generator now…
jkoritzinsky Nov 30, 2021
7eb5d98
Use the right format of bkpt/brk for align that falls after jump (#62…
kunalspathak Nov 30, 2021
6cc2d2e
Fix a few syntax issues in shell scripts (#62102)
am11 Nov 30, 2021
4cf4661
Improve SuperPMI temp filename creation (#62169)
BruceForstall Dec 1, 2021
395e7a5
Track a missing place to reset alignment flag from BasicBlock (#62163)
kunalspathak Dec 1, 2021
6af8b24
Have RegexInterpreter work over ReadOnlySpan<char> instead of strings…
joperezr Dec 1, 2021
09cd9c2
Start building a universal System.Linq.Expressions library (#61952)
MichalStrehovsky Dec 1, 2021
934aa7d
re-enable and fix the SetOutReadToEnd test (#62200)
adamsitnik Dec 1, 2021
4aa8167
don't run the System.IO.FileSystem.DriveInfo tests in parallel (#62134)
adamsitnik Dec 1, 2021
e51c22a
Console.Unix: fix OpenStandardInput Stream sometimes throwing for Rea…
tmds Dec 1, 2021
ee3b77d
Fix some missing debug info (#62018)
jakobbotsch Dec 1, 2021
9fae29d
Fix GT_ADD trees with mismatched operands (#62177)
MichalStrehovsky Dec 1, 2021
d5f85c7
Type memory maps with placeholders (#61933)
SingleAccretion Dec 1, 2021
562e7d1
JIT/EE interface cleanups (#62214)
jkotas Dec 1, 2021
e9c6c04
fix issue where HTTP2 connection could be scavenged but not disposed …
geoffkizer Dec 1, 2021
42777cc
Optimize FMA codegen base on the overwritten (#58196)
weilinwa Dec 1, 2021
e6174ba
[main] Update dependencies from 5 repositories (#62187)
dotnet-maestro[bot] Dec 1, 2021
985f477
Fix use of StringBuilder.AppendFormat in ILCompiler (#62147)
stephentoub Dec 1, 2021
7ffc96e
needLabel assert (#62025)
kunalspathak Dec 1, 2021
cc2cb04
Couple of debug info test fixes (#62199)
jakobbotsch Dec 1, 2021
5528e84
Feature/get debug view value processing (#60391)
Dec 1, 2021
51cf536
[main] Update dependencies from dotnet/linker (#61669)
dotnet-maestro[bot] Dec 1, 2021
4f244b3
[mono][llvm] Mark the gc poll function as used so llvm doesn't optimi…
vargaz Dec 1, 2021
c370c2d
[SuperPMI] Added a new optional -compile argument (#62217)
SeanWoo Dec 1, 2021
7a62468
throw exception when creating an entry name that already exists in Zi…
pedrobsaila Dec 1, 2021
2d6cc77
Add NetCoreAppCurrent configurations to Microsoft.Extensions librarie…
eerhardt Dec 1, 2021
b1fcbb6
Cache LastAccessed during MemoryCache compaction (#61187)
eerhardt Dec 2, 2021
da3a933
Use ReadOnlySpan<char> instead of strings on SourceGenerator engine (…
joperezr Dec 2, 2021
7b0a6b5
Fix mono debugger thread block when wait for attach (#62175)
srxqds Dec 2, 2021
2a80066
JIT: don't forward sub a volatile read tree via copy (#62224)
AndyAyersMS Dec 2, 2021
87d156b
Revert "CI matrix change: add Windows.Server.Core.20H2 - Second attem…
agocke Dec 2, 2021
7a8ed77
Fix some typo in test (#62257)
tarekgh Dec 2, 2021
a61c1a3
Use GeneratedDllImport in System.DirectoryServices (#61975)
elinor-fung Dec 2, 2021
1bd3630
[Wasm] JS modularization (#61313)
pavelsavara Dec 2, 2021
ab9ee76
[mono] Fix warnings with recent clang/gcc (#62244)
akoeplinger Dec 2, 2021
e4746f3
Add test that ensures that it's possible to zip a named pipe on Unix …
adamsitnik Dec 2, 2021
64d1276
[Mono] Fix support for nested structs with explicit layout (#61467)
simonrozsival Dec 2, 2021
252b7c2
Use ReadOnlySpan<char> on RegexCompiled engine. (#62245)
joperezr Dec 2, 2021
5789792
[mono] Fix StackTrace from a dim and Vtable offsets for static interf…
thaystg Dec 2, 2021
3e704ae
[main] Update dependencies from dotnet/emsdk dotnet/xharness (#62279)
dotnet-maestro[bot] Dec 2, 2021
d919fc0
Merge with main from upstream
Dec 2, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Start building a universal System.Linq.Expressions library (dotnet#61952
)

System.Linq.Expressions currently offers multiple build time definitions to build different flavors of the library:

* `FEATURE_COMPILE` (defined everywhere except iOS/tvOS/Catalyst, and NativeAOT) - enables Reflection.Emit-based expression tree compiler.
* `FEATURE_INTERPRET` (always defined and not actually possible to build without) - enables the expression interpreter
* `FEATURE_DLG_INVOKE` (defined everywhere except NativeAOT, but we likely need to be able to run without it on iOS too because there's uninvestigated bugs around it ActiveIssue'd in dotnet#54970) - in the interpreter, use a delegate to invoke `CallInstructions` instead of `MethodInfo.Invoke`. The delegate might have to be Reflection.Emitted if it's not supportable with `Func`/`Action` (that's the uninvestigated iOS/tvOS/Catalyst bug).

For dotnet#61231, we need to be able to build a single System.Linq.Expression library that can switch between these build-time configurations _at publish time_ since we don't want to build a separate S.L.Expressions library for NativeAOT. There are advantages in having this setup for non-NativeAOT scenarios too. This pull request accomplishes that by mechanically changing the `#define`s into feature switches.

The feature switch is placed in the last proposed location for dotnet#17973. I expect we'll want such API to be public at some point; now that Xamarin and NativeAOT use this formerly .NET Native-only thing the API request became relevant again.

This pull request is focused on the mechanical replacement of `#defines` with feature switches and it's already a lot bigger than I'm comfortable with.

There's some obvious "`!FEATURE_COMPILE` means this is .NET Native with everything what that meant" that I did not touch because this is meant to be a mechanical change. Some cleanup will be needed at some point. Right now this just mostly means we're running fewer tests than we could.

Validation:
* Verified that we're still running the same number of tests with CoreCLR as we previously were and they're all passing.
* Verified we're getting mostly the same size of the S.L.Expressions library on iOS (433 kB grew to 436 kB, the diffs are expected).
* Verified things work on the NativeAOT side as well.
  • Loading branch information
MichalStrehovsky authored Dec 1, 2021
commit 09cd9c2cfd21f7e830269ee7cd64ea11cbe47a1d
2 changes: 2 additions & 0 deletions eng/illink.targets
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@
<ILLinkArgs Condition="'$(ILLinkRewritePDBs)' == 'true' and Exists('$(ILLinkTrimAssemblySymbols)')">$(ILLinkArgs) -b true</ILLinkArgs>
<!-- pass the non-embedded descriptors xml file on the command line -->
<ILLinkArgs Condition="'$(ILLinkDescriptorsLibraryBuildXml)' != ''">$(ILLinkArgs) -x "$(ILLinkDescriptorsLibraryBuildXml)"</ILLinkArgs>
<ILLinkArgs Condition="'$(ILLinkSubstitutionsLibraryBuildXml)' != ''">$(ILLinkArgs) --substitutions "$(ILLinkSubstitutionsLibraryBuildXml)"</ILLinkArgs>
<!-- suppress warnings with the following codes:
IL2008: Could not find type A specified in resource B
IL2009: Could not find method A in type B specified in resource C
Expand All @@ -254,6 +255,7 @@
<!-- IL2067-IL2091: Unsatisfied DynamicallyAccessedMembers requirements -->
<LinkerNoWarn>$(LinkerNoWarn);IL2067;IL2068;IL2069;IL2070;IL2071;IL2072;IL2073;IL2074;IL2075;IL2076;IL2077;IL2078;IL2079;IL2080;IL2081;IL2082;IL2083;IL2084;IL2085;IL2086;IL2087;IL2088;IL2089;IL2090;IL2091</LinkerNoWarn>
<ILLinkArgs>$(ILLinkArgs) --nowarn $(LinkerNoWarn)</ILLinkArgs>
<ILLinkArgs Condition="'$(ILLinkDisableIPConstProp)' == 'true'">$(ILLinkArgs) --disable-opt ipconstprop</ILLinkArgs>
</PropertyGroup>

<MakeDir Directories="$(ILLinkTrimInputPath)" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,7 @@ public static partial class PlatformDetection
private static readonly Lazy<bool> s_LinqExpressionsBuiltWithIsInterpretingOnly = new Lazy<bool>(GetLinqExpressionsBuiltWithIsInterpretingOnly);
private static bool GetLinqExpressionsBuiltWithIsInterpretingOnly()
{
Type type = typeof(LambdaExpression);
if (type != null)
{
// The "Accept" method is under FEATURE_COMPILE conditional so it should not exist
MethodInfo methodInfo = type.GetMethod("Accept", BindingFlags.NonPublic | BindingFlags.Static);
return methodInfo == null;
}

return false;
return !(bool)typeof(LambdaExpression).GetMethod("get_CanCompileToIL").Invoke(null, Array.Empty<object>());
}

// Please make sure that you have the libgdiplus dependency installed.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<linker>
<assembly fullname="System.Linq.Expressions">
<type fullname="System.Linq.Expressions.LambdaExpression">
<method signature="System.Boolean get_CanCompileToIL()" body="stub" value="false" />
</type>
</assembly>
</linker>
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<linker>
<assembly fullname="System.Linq.Expressions">
<type fullname="System.Linq.Expressions.LambdaExpression">
<method signature="System.Boolean get_CanCompileToIL()" feature="System.Linq.Expressions.CanCompileToIL" featurevalue="false" body="stub" value="false" />
</type>
<type fullname="System.Dynamic.Utils.DelegateHelpers">
<method signature="System.Boolean get_CanEmitObjectArrayDelegate()" feature="System.Linq.Expressions.CanEmitObjectArrayDelegate" featurevalue="false" body="stub" value="false" />
</type>
<type fullname="System.Linq.Expressions.Interpreter.CallInstruction">
<method signature="System.Boolean get_CanCreateArbitraryDelegates()" feature="System.Linq.Expressions.CanCreateArbitraryDelegates" featurevalue="false" body="stub" value="false" />
</type>
</assembly>
</linker>
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ TypesMustExist : Type 'System.Linq.Expressions.Interpreter.LightLambda' does not
TypesMustExist : Type 'System.Runtime.CompilerServices.CallSiteOps' does not exist in the reference but it does exist in the implementation.
TypesMustExist : Type 'System.Runtime.CompilerServices.Closure' does not exist in the reference but it does exist in the implementation.
TypesMustExist : Type 'System.Runtime.CompilerServices.RuntimeOps' does not exist in the reference but it does exist in the implementation.
Total Issues: 16
MembersMustExist : Member 'public System.Boolean System.Linq.Expressions.LambdaExpression.CanCompileToIL.get()' does not exist in the reference but it does exist in the implementation.
MembersMustExist : Member 'public System.Boolean System.Linq.Expressions.LambdaExpression.CanInterpret.get()' does not exist in the reference but it does exist in the implementation.
Total Issues: 18
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<FeatureInterpret>true</FeatureInterpret>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppCurrent)-iOS;$(NetCoreAppCurrent)-tvOS;$(NetCoreAppCurrent)-MacCatalyst</TargetFrameworks>
<Nullable>enable</Nullable>
<IsInterpreting>false</IsInterpreting>
<IsInterpreting Condition="'$(TargetsiOS)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsMacCatalyst)' == 'true'">true</IsInterpreting>
<DefineConstants> $(DefineConstants);FEATURE_DLG_INVOKE;FEATURE_FAST_CREATE</DefineConstants>
<DefineConstants Condition=" '$(IsInterpreting)' != 'true' ">$(DefineConstants);FEATURE_COMPILE</DefineConstants>
<DefineConstants Condition=" '$(FeatureInterpret)' == 'true' ">$(DefineConstants);FEATURE_INTERPRET</DefineConstants>
<ILLinkSubstitutionsLibraryBuildXml Condition="'$(IsInterpreting)' == 'true'">ILLink\ILLink.Substitutions.IsInterpreting.LibraryBuild.xml</ILLinkSubstitutionsLibraryBuildXml>
<DefineConstants> $(DefineConstants);FEATURE_FAST_CREATE</DefineConstants>

<!--
Disable constant propagation so that methods referenced from ILLink.Substitutions.xml don't get inlined
with a wrong value at library build time and the substitution can still be selected at publish time.
For iOS/tvOS/Catalyst we prefer smaller size by default, so keep constprop enabled to get rid of the expression compiler.
-->
<ILLinkDisableIPConstProp Condition="'$(TargetsiOS)' != 'true' and '$(TargetstvOS)' != 'true' and '$(TargetsMacCatalyst)' != 'true'">true</ILLinkDisableIPConstProp>
</PropertyGroup>
<ItemGroup>
<ILLinkSubstitutionsXmls Include="$(ILLinkDirectory)ILLink.Substitutions.xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="$(CommonPath)System\Obsoletions.cs"
Link="Common\System\Obsoletions.cs" />
Expand Down Expand Up @@ -125,7 +133,7 @@
<Compile Include="System\Dynamic\UnaryOperationBinder.cs" />
<Compile Include="System\Dynamic\IInvokeOnGetBinder.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(IsInterpreting)' != 'true'">
<ItemGroup>
<Compile Include="System\Linq\Expressions\Compiler\AssemblyGen.cs" />
<Compile Include="System\Dynamic\Utils\Helpers.cs" />
<Compile Include="System\Linq\Expressions\Compiler\AnalyzedTree.cs" />
Expand Down Expand Up @@ -157,7 +165,7 @@
<Compile Include="System\Runtime\CompilerServices\RuntimeOps.ExpressionQuoter.cs" />
<Compile Include="System\Runtime\CompilerServices\RuntimeOps.RuntimeVariableList.cs" />
</ItemGroup>
<ItemGroup Condition="'$(IsInterpreting)' == 'true' Or '$(FeatureInterpret)' == 'true'">
<ItemGroup>
<Compile Include="System\Dynamic\Utils\DelegateHelpers.cs" />
<Compile Include="System\Linq\Expressions\Interpreter\AddInstruction.cs" />
<Compile Include="System\Linq\Expressions\Interpreter\AndInstruction.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ namespace System.Dynamic
{
internal static partial class UpdateDelegates
{
#if FEATURE_COMPILE
[Obsolete("pregenerated CallSite<T>.Update delegate", error: true)]
internal static TRet UpdateAndExecute1<T0, TRet>(CallSite site, T0 arg0)
{
Expand Down Expand Up @@ -2895,6 +2894,5 @@ internal static void NoMatchVoid10<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(CallS
site._match = false;
return;
}
#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ namespace System.Dynamic
{
internal static partial class UpdateDelegates
{
#if FEATURE_COMPILE
<#
for (int i = 1; i <= 10; i++)
{
Expand Down Expand Up @@ -330,6 +329,5 @@ for (int i = 1; i <= 10; i++)
}
}
#>
#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,43 @@

using System.Diagnostics.CodeAnalysis;
using System.Reflection;

#if !FEATURE_DYNAMIC_DELEGATE
using System.Reflection.Emit;
using System.Text;
using System.Threading;
#endif

namespace System.Dynamic.Utils
{
internal static class DelegateHelpers
{
internal static Delegate CreateObjectArrayDelegate(Type delegateType, Func<object?[], object?> handler)
// This can be flipped to true using feature switches at publishing time
internal static bool CanEmitObjectArrayDelegate => true;

// Separate class so that the it can be trimmed away and doesn't get conflated
// with the Reflection.Emit statics below.
private static class DynamicDelegateLightup
{
#if !FEATURE_DYNAMIC_DELEGATE
return CreateObjectArrayDelegateRefEmit(delegateType, handler);
#else
return Internal.Runtime.Augments.DynamicDelegateAugments.CreateObjectArrayDelegate(delegateType, handler);
#endif
public static Func<Type, Func<object?[], object?>, Delegate> CreateObjectArrayDelegate { get; }
= CreateObjectArrayDelegateInternal();

[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2075:UnrecognizedReflectionPattern",
Justification = "Works around https://github.com/dotnet/linker/issues/2392")]
private static Func<Type, Func<object?[], object?>, Delegate> CreateObjectArrayDelegateInternal()
=> Type.GetType("Internal.Runtime.Augments.DynamicDelegateAugments")!
.GetMethod("CreateObjectArrayDelegate")!
.CreateDelegate<Func<Type, Func<object?[], object?>, Delegate>>();
}


#if !FEATURE_DYNAMIC_DELEGATE
internal static Delegate CreateObjectArrayDelegate(Type delegateType, Func<object?[], object?> handler)
{
if (CanEmitObjectArrayDelegate)
{
return CreateObjectArrayDelegateRefEmit(delegateType, handler);
}
else
{
return DynamicDelegateLightup.CreateObjectArrayDelegate(delegateType, handler);
}
}

private static readonly CacheDict<Type, MethodInfo> s_thunks = new CacheDict<Type, MethodInfo>(256);
private static readonly MethodInfo s_FuncInvoke = typeof(Func<object?[], object?>).GetMethod("Invoke")!;
Expand Down Expand Up @@ -290,7 +305,5 @@ private static Type ConvertToBoxableType(Type t)
{
return (t.IsPointer) ? typeof(IntPtr) : t;
}

#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ internal static ParameterInfo[] GetParametersCached(this MethodBase method)
return pis;
}

#if FEATURE_COMPILE
// Expression trees/compiler just use IsByRef, why do we need this?
// (see LambdaCompiler.EmitArguments for usage in the compiler)
internal static bool IsByRefParameter(this ParameterInfo pi)
Expand All @@ -91,6 +90,5 @@ internal static bool IsByRefParameter(this ParameterInfo pi)

return (pi.Attributes & ParameterAttributes.Out) == ParameterAttributes.Out;
}
#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -911,8 +911,6 @@ public static MethodInfo GetInvokeMethod(this Type delegateType)
return delegateType.GetMethod("Invoke", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)!;
}

#if FEATURE_COMPILE

internal static bool IsUnsigned(this Type type) => IsUnsigned(GetNonNullableType(type).GetTypeCode());

internal static bool IsUnsigned(this TypeCode typeCode)
Expand Down Expand Up @@ -946,8 +944,6 @@ internal static bool IsFloatingPoint(this TypeCode typeCode)
}
}

#endif

[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2070:UnrecognizedReflectionPattern",
Justification = "The Array 'Get' method is dynamically constructed and is not included in IL. It is not subject to trimming.")]
public static MethodInfo GetArrayGetMethod(Type arrayType)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,6 @@ public static FieldInfo DateTime_MinValue
(s_Math_Pow_Double_Double = typeof(Math).GetMethod(nameof(Math.Pow), new[] { typeof(double), typeof(double) })!);

// Closure and RuntimeOps helpers are used only in the compiler.
#if FEATURE_COMPILE
private static ConstructorInfo? s_Closure_ObjectArray_ObjectArray;
public static ConstructorInfo Closure_ObjectArray_ObjectArray =>
s_Closure_ObjectArray_ObjectArray ??
Expand Down Expand Up @@ -194,6 +193,5 @@ public static FieldInfo DateTime_MinValue
public static MethodInfo RuntimeOps_Quote =>
s_RuntimeOps_Quote ??
(s_RuntimeOps_Quote = typeof(RuntimeOps).GetMethod(nameof(RuntimeOps.Quote))!);
#endif
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,6 @@ private static TypeInfo NextTypeInfo(Type initialArg, TypeInfo curTypeInfo)
return nextTypeInfo;
}

#if !FEATURE_COMPILE

public delegate object VBCallSiteDelegate0<T>(T callSite, object instance);
public delegate object VBCallSiteDelegate1<T>(T callSite, object instance, ref object arg1);
public delegate object VBCallSiteDelegate2<T>(T callSite, object instance, ref object arg1, ref object arg2);
Expand All @@ -95,7 +93,6 @@ private static TypeInfo NextTypeInfo(Type initialArg, TypeInfo curTypeInfo)
public delegate object VBCallSiteDelegate6<T>(T callSite, object instance, ref object arg1, ref object arg2, ref object arg3, ref object arg4, ref object arg5, ref object arg6);
public delegate object VBCallSiteDelegate7<T>(T callSite, object instance, ref object arg1, ref object arg2, ref object arg3, ref object arg4, ref object arg5, ref object arg6, ref object arg7);


private static Type TryMakeVBStyledCallSite(Type[] types)
{
// Shape of VB CallSiteDelegates is CallSite * (instance : obj) * [arg-n : byref obj] -> obj
Expand Down Expand Up @@ -128,7 +125,6 @@ private static Type TryMakeVBStyledCallSite(Type[] types)
default: return null;
}
}
#endif

/// <summary>
/// Creates a new delegate, or uses a func/action
Expand Down Expand Up @@ -163,11 +159,14 @@ internal static Type MakeNewDelegate(Type[] types)

if (needCustom)
{
#if FEATURE_COMPILE
return MakeNewCustomDelegate(types);
#else
return TryMakeVBStyledCallSite(types) ?? MakeNewCustomDelegate(types);
#endif
if (LambdaExpression.CanCompileToIL)
{
return MakeNewCustomDelegate(types);
}
else
{
return TryMakeVBStyledCallSite(types) ?? MakeNewCustomDelegate(types);
}
}

Type result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,26 +107,27 @@ private static bool IsByRef(DynamicMetaObject mo)
return mo.Expression is ParameterExpression pe && pe.IsByRef;
}

#if FEATURE_COMPILE
private const MethodAttributes CtorAttributes = MethodAttributes.RTSpecialName | MethodAttributes.HideBySig | MethodAttributes.Public;
private const MethodImplAttributes ImplAttributes = MethodImplAttributes.Runtime | MethodImplAttributes.Managed;
private const MethodAttributes InvokeAttributes = MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.NewSlot | MethodAttributes.Virtual;
private static readonly Type[] s_delegateCtorSignature = { typeof(object), typeof(IntPtr) };
#endif

private static Type MakeNewCustomDelegate(Type[] types)
{
#if FEATURE_COMPILE
Type returnType = types[types.Length - 1];
Type[] parameters = types.RemoveLast();

TypeBuilder builder = AssemblyGen.DefineDelegateType("Delegate" + types.Length);
builder.DefineConstructor(CtorAttributes, CallingConventions.Standard, s_delegateCtorSignature).SetImplementationFlags(ImplAttributes);
builder.DefineMethod("Invoke", InvokeAttributes, returnType, parameters).SetImplementationFlags(ImplAttributes);
return builder.CreateTypeInfo()!;
#else
throw new PlatformNotSupportedException();
#endif
if (LambdaExpression.CanCompileToIL)
{
Type returnType = types[types.Length - 1];
Type[] parameters = types.RemoveLast();
Type[] delegateCtorSignature = { typeof(object), typeof(IntPtr) };

const MethodAttributes ctorAttributes = MethodAttributes.RTSpecialName | MethodAttributes.HideBySig | MethodAttributes.Public;
const MethodImplAttributes implAttributes = MethodImplAttributes.Runtime | MethodImplAttributes.Managed;
const MethodAttributes invokeAttributes = MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.NewSlot | MethodAttributes.Virtual;

TypeBuilder builder = AssemblyGen.DefineDelegateType("Delegate" + types.Length);
builder.DefineConstructor(ctorAttributes, CallingConventions.Standard, delegateCtorSignature).SetImplementationFlags(implAttributes);
builder.DefineMethod("Invoke", invokeAttributes, returnType, parameters).SetImplementationFlags(implAttributes);
return builder.CreateTypeInfo()!;
}
else
{
throw new PlatformNotSupportedException();
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@ namespace System.Linq.Expressions.Interpreter
{
internal partial class CallInstruction
{
#if FEATURE_DLG_INVOKE
private const int MaxHelpers = 5;
#endif

#if FEATURE_FAST_CREATE
private const int MaxArgs = 3;
Expand Down Expand Up @@ -158,7 +156,6 @@ private static CallInstruction FastCreate<T0, T1>(MethodInfo target, ParameterIn
}
#endif

#if FEATURE_DLG_INVOKE
[return: DynamicallyAccessedMembersAttribute(DynamicallyAccessedMemberTypes.PublicConstructors)]
private static Type GetHelperType(MethodInfo info, Type[] arrTypes)
{
Expand Down Expand Up @@ -211,10 +208,8 @@ private static Type GetHelperType(MethodInfo info, Type[] arrTypes)
}
return t;
}
#endif
}

#if FEATURE_DLG_INVOKE
internal sealed class ActionCallInstruction : CallInstruction
{
private readonly Action _target;
Expand Down Expand Up @@ -577,6 +572,4 @@ public override int Run(InterpretedFrame frame)

public override string ToString() => "Call(" + _target.Method + ")";
}

#endif
}
Loading