-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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][aot] Emit only virtual methods of instances when a class insta… #80267
Conversation
This saves a lot of space, but it might cause regressions since less method instances are emitted. |
runtime (Build Linux x64 Release AllSubsets_Mono_LLVMFullAot_RuntimeTests llvmfullaot) failed with
which I don't think is unique to this? |
edb0dc2
to
78ebae2
Compare
Won't this leave out a ton of methods? Why do we only want virtual ones? For example anything that uses class GenericContainer<T> {
public int SomeMethod() {
if (typeof(T) == typeof(string))
return 1;
return 2;
}
} |
This is just an experiment. Right now, if we encounter a generic instance, we will add all of its methods which leads to a ton of code generated which will never be called. |
78ebae2
to
ebd35fa
Compare
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-extra-platforms-other |
No pipelines are associated with this pull request. |
/azp run runtime-llvm |
Azure Pipelines failed to run 1 pipeline(s). |
/azp run list |
No pipelines are associated with this pull request. |
/azp list |
/azp run runtime-llvm |
Azure Pipelines failed to run 1 pipeline(s). |
/azp run runtime-llvm |
Azure Pipelines failed to run 1 pipeline(s). |
This saves about 100k (2%) on a wasm hello world. |
ebd35fa
to
b853c96
Compare
/azp run runtime-wasm |
Azure Pipelines successfully started running 1 pipeline(s). |
…nce is added.