-
Notifications
You must be signed in to change notification settings - Fork 842
[wasm-split] Remove unnecessary trampolines for ref.func initializers #8443
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
base: wasm_split_global_transitive
Are you sure you want to change the base?
Changes from all commits
f67f4fa
a0c54d9
0d063f3
c32c072
6cdd238
6a823ef
f34a0d2
3021f06
5754f67
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It would be good to add a test where another reference to the function in the primary module prevents it from being split out, even though the global is moved to the secondary module.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done: 5754f67 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -61,7 +61,7 @@ | |
|
|
||
| ;; SECONDARY: (import "primary" "prime" (func $prime (exact (type $0)))) | ||
|
|
||
| ;; SECONDARY: (elem $0 (i32.const 0) $second $second-in-table) | ||
| ;; SECONDARY: (elem $0 (i32.const 0) $second-in-table $second) | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The test changes in this file was just caused by the order we create trampolines and are not really meaningful |
||
|
|
||
| ;; SECONDARY: (elem declare func $prime) | ||
|
|
||
|
|
@@ -97,13 +97,13 @@ | |
| ;; (but we will get a placeholder, as all split-out functions do). | ||
| ) | ||
| ) | ||
| ;; PRIMARY: (func $trampoline_second (type $0) | ||
| ;; PRIMARY: (func $trampoline_second-in-table (type $0) | ||
| ;; PRIMARY-NEXT: (call_indirect $1 (type $0) | ||
| ;; PRIMARY-NEXT: (i32.const 0) | ||
| ;; PRIMARY-NEXT: ) | ||
| ;; PRIMARY-NEXT: ) | ||
|
|
||
| ;; PRIMARY: (func $trampoline_second-in-table (type $0) | ||
| ;; PRIMARY: (func $trampoline_second (type $0) | ||
| ;; PRIMARY-NEXT: (call_indirect $1 (type $0) | ||
| ;; PRIMARY-NEXT: (i32.const 1) | ||
| ;; PRIMARY-NEXT: ) | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.