-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[browser] fix trimming of LegacyExports
with WasmEnableLegacyJsInterop
#83664
[browser] fix trimming of LegacyExports
with WasmEnableLegacyJsInterop
#83664
Conversation
Tagging subscribers to 'arch-wasm': @lewing Issue DetailsThere is problem with E2E test of blazor. This is alternate implementation, in which
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My questions above are non-blocking
@vitek-karas is there nicer way how to create visibility chain (to multiple public methods) which could be easily trimmed with one substitution file ? |
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
Who's driving this now that @pavelsavara is (I understand) out? |
I don't know if a hand-off was arranged or not. I can kick off an email chain if necessary. |
Could you? aspnetcore is a little nervous about shipping without having taken an update in two weeks. Thanks! |
|
We can't figure it out. It seems that emcc has some side effects on builds running in parallel. The order in which samples are compiled matters. Locally it runs even when compiling samples in parallel. |
note: In the last run https://dev.azure.com/dnceng-public/public/_build/results?buildId=212475&view=results the advanced sample ran after bench and profile samples |
...nteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSFunctionBinding.cs
Show resolved
Hide resolved
I think this is fine, given the requirements. It's not nice, but I can't think of a much better way. The ask is a bit weird though :-). |
c8fc59e
to
8b7ea8c
Compare
# Conflicts: # src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
CI failures are unrelated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me 👍
This is 2nd attempt on enabling trimming of legacy interop, in which
JSFunctionBinding.BindJSFunction
->LegacyExportsTrimmingRoot
->LegacyExports
by default.ILLink.Substitutions.LegacyJsInterop.xml
which is cutting the chain atLegacyExportsTrimmingRoot.TrimWhenNotWasmEnableLegacyJsInterop
WasmEnableLegacyJsInterop
is set tofalse
Other changes:
#if DISABLE_LEGACY_JS_INTEROP
in native codenativeLegacyJsInterop
which could be set during link time with workload on customer machineSystem.Runtime.InteropServices.JavaScript.Tests