Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mono] merge wasm-threading-eventpipe into main #68232

Merged
merged 139 commits into from
Apr 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
0a6c904
Initial changes for emscripten 2.0.34
radekdoulik Dec 7, 2021
1c2f989
Use emcc-link.rsp in build targets
radekdoulik Dec 8, 2021
f74d8b9
Use updated docker images
radekdoulik Dec 8, 2021
20f59e5
Fix compiler warnings
Dec 9, 2021
31197d9
Put `--profiling-funcs` to `_EmccLinkFlags`
radekdoulik Dec 9, 2021
2063241
Fix build
radekdoulik Dec 9, 2021
6aed1c5
Add shell to the environment
radekdoulik Dec 13, 2021
1f0048f
Merge remote-tracking branch 'origin/main' into pr-emscripten-34-bump
radekdoulik Dec 21, 2021
17c0117
Merge remote-tracking branch 'remotes/origin/main' into pr-emscripten…
radekdoulik Jan 3, 2022
11e2ce5
Add emcc-link.rsp to PlatformManifestFileEntry
radekdoulik Jan 4, 2022
3eb44cf
Feedback
radekdoulik Jan 7, 2022
c0e4d84
Merge remote-tracking branch 'remotes/origin/main' into pr-emscripten…
radekdoulik Jan 12, 2022
460d09a
Bump emscripten version
radekdoulik Jan 17, 2022
6f7d0c2
Bump llvm package version and use its libclang
radekdoulik Jan 17, 2022
b9c7488
Merge remote-tracking branch 'remotes/origin/main' into pr-emscripten…
radekdoulik Jan 17, 2022
e089ab1
Use newer docker images with emscripten 3.1.1
radekdoulik Jan 19, 2022
1cfd8bb
Merge remote-tracking branch 'remotes/origin/main' into pr-emscripten…
radekdoulik Jan 19, 2022
01c9516
Remove unused variable
radekdoulik Jan 20, 2022
ccbf541
Merge remote-tracking branch 'upstream/main' into wasm-threaded-build
Jan 25, 2022
731818a
Add runtime support for threads in the wasm build
Jan 25, 2022
7142965
Prevent runtime from starting twice when loaded in a web worker
kg Jan 28, 2022
f83f093
Automatically populate the emscripten mainScriptUrlOrBlob property so…
kg Jan 28, 2022
01cbb8d
Add compatibility shim so that emscripten's generated worker.js can p…
kg Jan 28, 2022
e7162e7
Checkpoint
kg Feb 11, 2022
7380334
Bring back threadpool and add some tracing in diagnostics
Mar 16, 2022
3121ca5
Add comments and fix a typo
kg Feb 25, 2022
2cd8459
Introduce 'MonoObjectRef' ts type. Migrate mono_string_intern to not …
kg Feb 25, 2022
e483d20
Checkpoint (strings are broken for some reason)
kg Feb 25, 2022
1bff860
Fix string interning
kg Feb 25, 2022
29ae4f7
Checkpoint
kg Feb 25, 2022
54fa62f
Migrate ObjectToString and GetDateValue
kg Feb 26, 2022
50b5201
Checkpoint gc safe/unsafe region work
kg Feb 26, 2022
094ce5b
Checkpoint
kg Feb 26, 2022
f49b008
More ref conversion
kg Feb 28, 2022
19c4b01
Checkpoint (broken?)
kg Mar 1, 2022
727c490
Fix missing method
kg Mar 1, 2022
d283c87
Checkpoint
kg Mar 3, 2022
6c69292
Checkpoint
kg Mar 3, 2022
a28c63c
Checkpoint (broken)
kg Mar 3, 2022
1315a4a
Checkpoint (broken)
kg Mar 3, 2022
2e2fc35
Checkpoint
kg Mar 3, 2022
2be1022
Checkpoint
kg Mar 3, 2022
25cc304
Checkpoint
kg Mar 4, 2022
463a680
Checkpoint (broken)
kg Mar 4, 2022
f950d2d
Fix incorrect signatures
kg Mar 4, 2022
767a559
Checkpoint
kg Mar 8, 2022
d94bbb1
Fix lint
kg Mar 8, 2022
0996c1d
Add new 'R' signature char for 'ref object'
kg Mar 8, 2022
f4020b2
Checkpoint
kg Mar 8, 2022
503f4af
Checkpoint
kg Mar 8, 2022
8f639ec
Checkpoint
kg Mar 10, 2022
daefa4a
Checkpoint
kg Mar 10, 2022
05993d8
Remove AddEventListener and RemoveEventListener
kg Mar 10, 2022
ae8d4e9
Checkpoint
kg Mar 10, 2022
dd9836b
Checkpoint
kg Mar 10, 2022
da0011c
Checkpoint
kg Mar 10, 2022
dbed688
eslint fixes
kg Mar 10, 2022
002f60d
Checkpoint
kg Mar 14, 2022
c261e34
Update call_method signature to avoid passing raw object pointers
kg Mar 14, 2022
faa94e9
Ref-ify one websocket API and fix types and incorrect rooting of two …
kg Mar 14, 2022
ef58f32
Checkpoint
kg Mar 14, 2022
e864fa8
Deprecation metadata
kg Mar 15, 2022
7a80489
More ref
kg Mar 15, 2022
5563e01
More ref
kg Mar 15, 2022
23bcf95
Remove outdated comments
kg Mar 15, 2022
ba6f738
Convert typed_array_new to ref
kg Mar 15, 2022
2684213
Add volatile modifiers, satisfy eslint
kg Mar 15, 2022
a87cdbc
Update src/mono/wasm/runtime/corebindings.c
kg Mar 16, 2022
9f20277
Missing conflict
Mar 17, 2022
af5aee4
Merge remote-tracking branch 'upstream/main' into wasm-eventpipe
Mar 17, 2022
2a5553a
Fix build, set coop gc, and always copy dotnet.worker.js when it's ar…
Mar 17, 2022
06da696
Disable sample profiler, add some functions that were missing from ka…
Mar 17, 2022
e4b05eb
Add safepoint around ep_rt_wait_event_set. Tweak sample to explicitl…
Mar 21, 2022
67c70ac
[gc] Start the GC Finalizer thread on threaded WASM
lambdageek Mar 22, 2022
0f6f521
[mono] add GC Unsafe in mono_assembly_load; remove in EventPipe
lambdageek Mar 22, 2022
622c457
Merge remote-tracking branch 'origin/main' into wasm-threading-eventpipe
lambdageek Apr 6, 2022
5af1f5c
post-merge cleanup: delete duplicated definitions
lambdageek Apr 6, 2022
7bbaf94
[sample] Env vars should be stringy
lambdageek Apr 6, 2022
4174adc
updated dotnet.d.ts
lambdageek Apr 6, 2022
736a610
Add mono_threads_wasm_async_run_in_main_thread; do background work on…
lambdageek Mar 23, 2022
8eb8011
[mono] Fix non-threaded wasm build
lambdageek Apr 8, 2022
6fe4374
Add a System.Threading.Thread.WebAssembly.Threading ref assembly
lambdageek Apr 7, 2022
06ee494
Update the browser sample to use System.Threading.Thread.WebAssembly.…
lambdageek Apr 7, 2022
07bf28f
what is oob-all for? don't add thread wasm ref assembly there
lambdageek Apr 8, 2022
6eb923d
Rationalize System.Threading.Thread build
lambdageek Apr 8, 2022
7844a91
only turn on analyzers for the browser sample
lambdageek Apr 8, 2022
5cd594b
Make a single Microsoft.NET.WebAssembly.Threading nupkg
lambdageek Apr 11, 2022
75166a0
works: sample has ProjectReference to the Microsoft.NET.WebAssembly.T…
lambdageek Apr 11, 2022
3967d2c
Add System.Threading.ThreadPool.WebAssembly.Threading ref assembly
lambdageek Apr 12, 2022
a21b1ac
ThreadPool: throw PNSE if no thread start
lambdageek Apr 12, 2022
204dbfb
Update wasm threads.md
lambdageek Apr 12, 2022
b02fd66
apicompat: correct warnings for System.Threading.ThreadPool
lambdageek Apr 12, 2022
8417c7f
Add dotnet.worker.js to the runtime pack; update PlatformManifestFile…
lambdageek Apr 18, 2022
5c52e7d
[wasm] startup: detect Blazor dotnet.[version].[hash].js location
lambdageek Apr 18, 2022
0b3755c
one more fix to Microsoft.NET.WebAssembly.Threading
lambdageek Apr 18, 2022
1a3cddc
rename sample to browser-mt-eventpipe
lambdageek Apr 18, 2022
b6bc2bc
bring back unmodified browser sample
lambdageek Apr 18, 2022
4dd92a8
update browser-mt-eventpipe sample to use ref assembly refs
lambdageek Apr 18, 2022
0baebbb
Merge remote-tracking branch 'origin/main' into wasm-threading-eventpipe
lambdageek Apr 18, 2022
873d70f
Use correct ifdef in AppContext.AnyOS.cs
lambdageek Apr 18, 2022
bc16fdd
[build] support WasmEnableThreads and WasmEnablePerfTracing
lambdageek Apr 18, 2022
352405d
Only add the portable threadpool on wasm if threading is enabled
lambdageek Apr 18, 2022
990f097
rename browser-mt-eventpipe csproj and main assembly
lambdageek Apr 18, 2022
ba9a9a6
fix /p:WasmEnableThreads=false build after merge
lambdageek Apr 18, 2022
16621b8
now fix the WasmEnableThreads=true build
lambdageek Apr 18, 2022
3f616f9
we need two ThreadPoolBoundHandle implementation stubs
lambdageek Apr 18, 2022
1c3724a
Add a System.Diagnostics.Tracing ref assembly gated by FeatureWasmPer…
lambdageek Apr 19, 2022
e52c9b7
[eventpipe] use the correct cmake option name
lambdageek Apr 19, 2022
9d127df
revert debug printf and commented out code
lambdageek Apr 19, 2022
44f18ff
turn off additional logging
lambdageek Apr 19, 2022
f7d8c1a
hack: set FeatureWasmPerfTracing in the browser-mt-eventpipe sample
lambdageek Apr 19, 2022
b0ce4e9
remove unused variable
lambdageek Apr 19, 2022
fea5058
remove unneeded configure checks
lambdageek Apr 20, 2022
f27f834
revert line damage; add better comment in export.ts
lambdageek Apr 20, 2022
ef6477f
Exclude Microsoft.NET.WebAssembly.Threading from testPackages.proj
lambdageek Apr 20, 2022
eed9c39
review feedback
lambdageek Apr 20, 2022
d8a5afb
Apply suggestions from code review
lambdageek Apr 21, 2022
79437a5
Merge branch 'main' into wasm-threading-eventpipe
lambdageek Apr 21, 2022
f8eddc9
Use a testPackages settings file to skip package runtime item verific…
lambdageek Apr 21, 2022
47413d4
remove SIZEOF_VOID_P == 7 check
lambdageek Apr 21, 2022
28068a3
remove unneeded Directory.Build.props for ref package
lambdageek Apr 21, 2022
52bebbc
use one ProjectReference item to share metadata for the ref assemblies
lambdageek Apr 21, 2022
ea174d3
remove ProjectReference comment and NoTargetsDoNotReferenceOutputAsse…
lambdageek Apr 21, 2022
2716d3c
Remove unneeded target
lambdageek Apr 21, 2022
0687599
packaging simplification
lambdageek Apr 21, 2022
52e05a1
move and rename UpdateExperimentalRefAssemblyFileVersion target
lambdageek Apr 22, 2022
0cfbc2b
Assorted code review nits
lambdageek Apr 22, 2022
262ad4e
Don't build/pack the multi-threaded sample on single-threaded runtime
lambdageek Apr 25, 2022
cb2afa5
remove gratuitous debug printfs
lambdageek Apr 25, 2022
dc1f1f6
Apply suggestions from code review
lambdageek Apr 25, 2022
de94606
Merge remote-tracking branch 'origin/main' into wasm-threading-eventpipe
lambdageek Apr 25, 2022
edbb341
merge followup: nullable is enabled by default now
lambdageek Apr 25, 2022
96e8f2f
make eslint happy
lambdageek Apr 25, 2022
1f2eda0
include wasm-config.h in wasm runtime host
lambdageek Apr 25, 2022
d44167c
add wasm-config.h directory to includde directories
lambdageek Apr 25, 2022
abf8335
include wasm-config.h into the runtime pack
lambdageek Apr 25, 2022
98467bf
Add wasm-config.h to manifest
lambdageek Apr 25, 2022
051356d
put wasm-config.h into include/wasm from the outset
lambdageek Apr 25, 2022
71c9c6f
put back noExitRuntime replacement for CJS
lambdageek Apr 26, 2022
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
16 changes: 16 additions & 0 deletions eng/references.targets
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,20 @@
Condition="$(NetCoreAppLibraryNoReference.Contains('%(Filename);'))" />
</ItemGroup>
</Target>

<!-- For experimental ref assemblies (which typically have the same name as a regular ref
assembly), bump their minor file version by 100 to make it distinguishable from the regular
ref assembly.
-->
<Target Name="UpdateExperimentalRefAssemblyFileVersion"
AfterTargets="_InitializeAssemblyVersion"
Condition="'$(IsReferenceAssemblyProject)' == 'true' and '$(IsExperimentalRefAssembly)' == 'true'">
<PropertyGroup>
<_FileVersionMaj>$(FileVersion.Split('.')[0])</_FileVersionMaj>
<_FileVersionMin>$(FileVersion.Split('.')[1])</_FileVersionMin>
<_FileVersionBld>$(FileVersion.Split('.')[2])</_FileVersionBld>
<_FileVersionRev>$(FileVersion.Split('.')[3])</_FileVersionRev>
<FileVersion>$(_FileVersionMaj).$([MSBuild]::Add($(_FileVersionMin), 100)).$(_FileVersionBld).$(_FileVersionRev)</FileVersion>
</PropertyGroup>
</Target>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ namespace System.Threading
//
// Windows-specific implementation of ThreadPool
//
[UnsupportedOSPlatform("browser")]
public sealed class RegisteredWaitHandle : MarshalByRefObject
{
private readonly Lock _lock;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@
<PlatformManifestFileEntry Include="libmono-wasm-eh-wasm.a" IsNative="true" />
<PlatformManifestFileEntry Include="System.Private.Runtime.InteropServices.Javascript.dll" />
<PlatformManifestFileEntry Include="dotnet.js" IsNative="true" />
<PlatformManifestFileEntry Include="dotnet.worker.js" IsNative="true" />
<PlatformManifestFileEntry Include="dotnet.js.symbols" IsNative="true" />
<PlatformManifestFileEntry Include="dotnet.d.ts" IsNative="true" />
<PlatformManifestFileEntry Include="dotnet.wasm" IsNative="true" />
Expand All @@ -237,6 +238,7 @@
<PlatformManifestFileEntry Include="pinvoke.c" IsNative="true" />
<PlatformManifestFileEntry Include="pinvoke.h" IsNative="true" />
<PlatformManifestFileEntry Include="gc-common.h" IsNative="true" />
<PlatformManifestFileEntry Include="wasm-config.h" IsNative="true" />
<PlatformManifestFileEntry Include="emcc-default.rsp" IsNative="true" />
<PlatformManifestFileEntry Include="emcc-link.rsp" IsNative="true" />
<PlatformManifestFileEntry Include="emcc-props.json" IsNative="true" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<IncludeBuildOutput>true</IncludeBuildOutput>
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
<NoTargetsDoNotReferenceOutputAssemblies>false</NoTargetsDoNotReferenceOutputAssemblies>
<DisablePackageBaselineValidation>true</DisablePackageBaselineValidation>
<IsPackable>true</IsPackable>
<PackageDescription>Exposes Threading APIs for WebAssembly projects</PackageDescription>
<!-- XXX FIXME: NU5128 suppresses a really scary message about missing net7.0 dependencies -->
<NoWarn>$(NoWarn);NU5128;NU5131</NoWarn>
<!-- Place assemblies in the nuget ref folder -->
<BuildOutputTargetFolder>ref</BuildOutputTargetFolder>
</PropertyGroup>

<ItemGroup>
<ProjectReference
Include="$(LibrariesProjectRoot)System.Threading.Thread.WebAssembly.Threading\ref\System.Threading.Thread.WebAssembly.Threading.csproj;
$(LibrariesProjectRoot)System.Threading.ThreadPool.WebAssembly.Threading\ref\System.Threading.ThreadPool.WebAssembly.Threading.csproj;
$(LibrariesProjectRoot)System.Diagnostics.Tracing.WebAssembly.PerfTracing\ref\System.Diagnostics.Tracing.WebAssembly.PerfTracing.csproj"
Pack="true" PrivateAssets="all" Private="true" IncludeReferenceAssemblyInPackage="true" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<FeatureWasmPerfTracing>true</FeatureWasmPerfTracing>
<AssemblyName>System.Diagnostics.Tracing</AssemblyName>
<!-- tell references.targets to bump the assembly version -->
<IsExperimentalRefAssembly>true</IsExperimentalRefAssembly>
<!-- Disable all binplacing since this assembly will clash with the real ref assembly -->
<EnableBinPlacing>false</EnableBinPlacing>
<StrongNameKeyId>Microsoft</StrongNameKeyId>
<IncludePlatformAttributes>true</IncludePlatformAttributes>
<DefineConstants Condition="'$(FeatureWasmPerfTracing)' == 'true'">$(DefineConstants);FEATURE_WASM_PERFTRACING</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\System.Diagnostics.Tracing\ref\System.Diagnostics.Tracing.cs" />
<Compile Include="..\..\System.Diagnostics.Tracing\ref\System.Diagnostics.Tracing.Counters.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" PrivateAssets="all" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@

namespace System.Diagnostics.Tracing
{
#if !FEATURE_WASM_PERFTRACING
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
#endif
public abstract partial class DiagnosticCounter : System.IDisposable
{
internal DiagnosticCounter() { }
Expand All @@ -14,28 +16,36 @@ internal DiagnosticCounter() { }
public void AddMetadata(string key, string? value) { }
public void Dispose() { }
}
#if !FEATURE_WASM_PERFTRACING
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
#endif
public partial class PollingCounter : System.Diagnostics.Tracing.DiagnosticCounter
{
public PollingCounter(string name, System.Diagnostics.Tracing.EventSource eventSource, System.Func<double> metricProvider) { }
public override string ToString() { throw null; }
}
#if !FEATURE_WASM_PERFTRACING
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
#endif
public partial class IncrementingEventCounter : System.Diagnostics.Tracing.DiagnosticCounter
{
public IncrementingEventCounter(string name, System.Diagnostics.Tracing.EventSource eventSource) { }
public System.TimeSpan DisplayRateTimeScale { get { throw null; } set { } }
public void Increment(double increment = 1) { }
public override string ToString() { throw null; }
}
#if !FEATURE_WASM_PERFTRACING
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
#endif
public partial class IncrementingPollingCounter : System.Diagnostics.Tracing.DiagnosticCounter
{
public IncrementingPollingCounter(string name, System.Diagnostics.Tracing.EventSource eventSource, System.Func<double> totalValueProvider) { }
public System.TimeSpan DisplayRateTimeScale { get { throw null; } set { } }
public override string ToString() { throw null; }
}
#if !FEATURE_WASM_PERFTRACING
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
#endif
public partial class EventCounter : System.Diagnostics.Tracing.DiagnosticCounter
{
public EventCounter(string name, System.Diagnostics.Tracing.EventSource eventSource) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<PropertyGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<FeatureWasmPerfTracing>false</FeatureWasmPerfTracing>
<DefineConstants Condition="'$(FeatureWasmPerfTracing)' == 'true'">$(DefineConstants);FEATURE_WASM_PERFTRACING</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="System.Diagnostics.Tracing.cs" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Compat issues with assembly System.Diagnostics.Tracing:
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.DiagnosticCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.EventCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.IncrementingEventCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.IncrementingPollingCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.PollingCounter' in the contract but not the implementation.
Total Issues: 4
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
Compat issues with assembly System.Diagnostics.Tracing:
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.DiagnosticCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.EventCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.IncrementingEventCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.IncrementingPollingCounter' in the contract but not the implementation.
CannotRemoveAttribute : Attribute 'System.Runtime.Versioning.UnsupportedOSPlatformAttribute' exists on 'System.Diagnostics.Tracing.PollingCounter' in the contract but not the implementation.
MembersMustExist : Member 'protected void System.Diagnostics.Tracing.EventCounter.Flush()' does not exist in the reference but it does exist in the implementation.
CannotMakeTypeAbstract : Type 'System.Diagnostics.Tracing.EventListener' is abstract in the reference but is not abstract in the implementation.
CannotMakeMoreVisible : Visibility of member 'System.Diagnostics.Tracing.EventListener..ctor()' is 'protected' in the reference but 'public' in the implementation.
CannotMakeMoreVisible : Visibility of member 'System.Diagnostics.Tracing.EventListener.EventSourceIndex(System.Diagnostics.Tracing.EventSource)' is 'protected' in the reference but 'public' in the implementation.
Total Issues: 4
Total Issues: 8
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
<Compile Include="$(MSBuildThisFileDirectory)System\Activator.RuntimeType.cs" Condition="'$(TargetsCoreRT)' != 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\AggregateException.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\AppContext.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\AppContext.AnyOS.cs" Condition="'$(TargetsBrowser)' != 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\AppContext.AnyOS.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\AppContextConfigHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\AppDomain.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\AppDomainSetup.cs" />
Expand Down Expand Up @@ -2329,7 +2329,7 @@
<ItemGroup Condition="'$(FeaturePortableThreadPool)' == 'true'">
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\ThreadPool.Portable.cs" Condition="'$(FeatureCoreCLR)' != 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\ThreadPool.Portable.Windows.cs" Condition="'$(TargetsWindows)' == 'true' and '$(FeatureCoreCLR)' != 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\ThreadPool.Portable.Unix.cs" Condition="'$(TargetsUnix)' == 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\ThreadPool.Portable.Unix.cs" Condition="'$(TargetsUnix)' == 'true' or '$(TargetsBrowser)' == 'true'" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be predicated on FeatureWasmThreads too, like the overlapped one is?

<Compile Include="$(MSBuildThisFileDirectory)System\Threading\NativeRuntimeEventSource.PortableThreadPool.cs" Condition="'$(FeatureCoreCLR)' != 'true' and '$(FeatureMono)' != 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\NativeRuntimeEventSource.PortableThreadPool.NativeSinks.cs" Condition="'$(FeatureCoreCLR)' == 'true' or '$(FeatureMono)' == 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\PortableThreadPool.cs" />
Expand All @@ -2346,7 +2346,7 @@
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\PortableThreadPool.CpuUtilizationReader.Windows.cs" Condition="'$(TargetsWindows)' == 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\LowLevelLifoSemaphore.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\LowLevelLifoSemaphore.Windows.cs" Condition="'$(TargetsWindows)' == 'true'" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\PreAllocatedOverlapped.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\PreAllocatedOverlapped.cs" Condition="'$(TargetsBrowser)' != 'true' or '$(FeatureWasmThreads)' == 'true'"/>
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\RegisteredWaitHandle.Portable.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\ThreadPoolBoundHandle.cs" />
<Compile Include="$(MSBuildThisFileDirectory)System\Threading\ThreadPoolBoundHandle.Unix.cs" Condition="'$(TargetsUnix)' == 'true'" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ namespace System
{
public static partial class AppContext
{
#if !TARGET_BROWSER
[UnconditionalSuppressMessage("SingleFile", "IL3000: Avoid accessing Assembly file path when publishing as a single file",
Justification = "Single File apps should always set APP_CONTEXT_BASE_DIRECTORY therefore code handles Assembly.Location equals null")]
private static string GetBaseDirectoryCore()
Expand All @@ -33,6 +34,7 @@ private static string GetBaseDirectoryCore()

return directory;
}
#endif

#if FEATURE_PERFTRACING
internal static void LogSwitchValues(RuntimeEventSource ev)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ namespace Microsoft.Diagnostics.Tracing
namespace System.Diagnostics.Tracing
#endif
{
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
#endif
internal sealed class CounterGroup
{
private readonly EventSource _eventSource;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ namespace System.Diagnostics.Tracing
/// DiagnosticCounter is an abstract class that serves as the parent class for various Counter* classes,
/// namely EventCounter, PollingCounter, IncrementingEventCounter, and IncrementingPollingCounter.
/// </summary>
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
#endif
public abstract class DiagnosticCounter : IDisposable
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ namespace System.Diagnostics.Tracing
/// See https://github.com/dotnet/runtime/blob/main/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestEventCounter.cs
/// which shows tests, which are also useful in seeing actual use.
/// </summary>
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
#endif
public partial class EventCounter : DiagnosticCounter
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ namespace System.Diagnostics.Tracing
/// It does not calculate statistics like mean, standard deviation, etc. because it only accumulates
/// the counter value.
/// </summary>
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
#endif
public partial class IncrementingEventCounter : DiagnosticCounter
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ namespace System.Diagnostics.Tracing
/// Unlike IncrementingEventCounter, this takes in a polling callback that it can call to update
/// its own metric periodically.
/// </summary>
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
#endif
public partial class IncrementingPollingCounter : DiagnosticCounter
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ namespace System.Diagnostics.Tracing
/// function to collect metrics on its own rather than the user having to call WriteMetric()
/// every time.
/// </summary>
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
#endif
public partial class PollingCounter : DiagnosticCounter
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ namespace System.Threading
/// <summary>
/// An object representing the registration of a <see cref="WaitHandle"/> via <see cref="ThreadPool.RegisterWaitForSingleObject"/>.
/// </summary>
[UnsupportedOSPlatform("browser")]
public sealed partial class RegisteredWaitHandle : MarshalByRefObject
{
internal RegisteredWaitHandle(WaitHandle waitHandle, _ThreadPoolWaitOrTimerCallback callbackHelper,
int millisecondsTimeout, bool repeating)
{
Thread.ThrowIfNoThreadStart();
Handle = waitHandle.SafeWaitHandle;
Callback = callbackHelper;
TimeoutDurationMs = millisecondsTimeout;
Expand Down
Loading