-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Fix for wasmOffsetConverter with MODULARIZE + USE_PTHREAD #14755
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sbc100
force-pushed
the
fix_offset_converter_modularize
branch
2 times, most recently
from
July 26, 2021 17:20
3923890
to
5cbc2bd
Compare
sbc100
changed the title
Fix for wasmOffsetConverter with MODULARIZE
Fix for wasmOffsetConverter with MODULARIZE + USE_PTHREAD
Jul 26, 2021
sbc100
force-pushed
the
fix_offset_converter_modularize
branch
from
July 26, 2021 18:59
5cbc2bd
to
5b98a7a
Compare
sbc100
force-pushed
the
fix_offset_converter_modularize
branch
2 times, most recently
from
July 26, 2021 20:13
bf177a4
to
c8307db
Compare
sbc100
added a commit
that referenced
this pull request
Jul 26, 2021
In all cases but one there is no need to add or remove this dependencies since there is no way for the instance to be ready before the offset converter. This was probably true before #14755 but became a lot more clear once that landed.
This was referenced Jul 26, 2021
kripken
reviewed
Jul 26, 2021
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.
lgtm % style nits
kripken
approved these changes
Jul 26, 2021
And, nice cleanup! |
I tried to fix this in #13236 but I don't think it was ever working correctly. In MODULARIZE mode `wasmOffsetConverter` was not being defined within the module itself (where it is used). his change moves the contruction of `wasmOffsetConverter` and `wasmSourceMap` so they always occur inside the module. I've also improved the testing of `wasmOffsetConverter` so we actually verify that it works in `tests/core/test_return_address.c`.
sbc100
force-pushed
the
fix_offset_converter_modularize
branch
from
July 26, 2021 22:21
c8307db
to
00096d9
Compare
sbc100
added a commit
that referenced
this pull request
Jul 26, 2021
In all cases but one there is no need to add or remove this dependencies since there is no way for the instance to be ready before the offset converter. This was probably true before #14755 but became a lot more clear once that landed.
sbc100
added a commit
that referenced
this pull request
Jul 26, 2021
In all cases but one there is no need to add or remove this dependencies since there is no way for the instance to be ready before the offset converter. This was probably true before #14755 but became a lot more clear once that landed.
sbc100
added a commit
that referenced
this pull request
Jul 27, 2021
Following up on the change made in #14611, this change forces the `WasmOffsetConverter` before calling receiveInstantiationResult in both code paths (instantiateArrayBuffer and instantiateAsync). With that done (along with #14755) there are no more valid use cases for to block executation based on the absence of `WasmOffsetConverter`. By the time the instance is recieved it is always defined.
sbc100
added a commit
that referenced
this pull request
Jul 27, 2021
Following up on the change made in #14611, this change forces the `WasmOffsetConverter` before calling receiveInstantiationResult in both code paths (instantiateArrayBuffer and instantiateAsync). With that done (along with #14755) there are no more valid use cases for to block execution based on the absence of `WasmOffsetConverter`. By the time the instance is received it is always defined.
sbc100
added a commit
that referenced
this pull request
Jul 27, 2021
Following up on the change made in #14611, this change forces the `WasmOffsetConverter` before calling receiveInstantiationResult in both code paths (instantiateArrayBuffer and instantiateAsync). With that done (along with #14755) there are no more valid use cases for to block execution based on the absence of `WasmOffsetConverter`. By the time the instance is received it is always defined.
sbc100
added a commit
that referenced
this pull request
Jul 27, 2021
Following up on the change made in #14611, this change forces the `WasmOffsetConverter` before calling receiveInstantiationResult in both code paths (instantiateArrayBuffer and instantiateAsync). With that done (along with #14755) there are no more valid use cases for to block execution based on the absence of `WasmOffsetConverter`. By the time the instance is received it is always defined.
sbc100
added a commit
that referenced
this pull request
Jul 27, 2021
Following up on the change made in #14611, this change forces the `WasmOffsetConverter` before calling receiveInstantiationResult in both code paths (instantiateArrayBuffer and instantiateAsync). With that done (along with #14755) there are no more valid use cases for to block execution based on the absence of `WasmOffsetConverter`. By the time the instance is received it is always defined.
sbc100
added a commit
that referenced
this pull request
Jul 27, 2021
Following up on the change made in #14611, this change forces the `WasmOffsetConverter` before calling receiveInstantiationResult in both code paths (instantiateArrayBuffer and instantiateAsync). With that done (along with #14755) there are no more valid use cases for to block execution based on the absence of `WasmOffsetConverter`. By the time the instance is received it is always defined.
sbc100
added a commit
that referenced
this pull request
Jul 27, 2021
Following up on the change made in #14611, this change forces the `WasmOffsetConverter` before calling `receiveInstantiationResult` in both code paths (instantiateArrayBuffer and instantiateAsync). With that done (along with #14755) there are no more valid use cases for to block execution based on the absence of `WasmOffsetConverter`. By the time the instance is received it is always defined.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I tried to fix this in #13236 but I don't think it was ever working
correctly. In
MODULARIZE
modewasmOffsetConverter
was not beingdefined within the module itself (where it is used). his change moves
the construction of
wasmOffsetConverter
andwasmSourceMap
so theyalways occur inside the module.
I've also improved the testing of
wasmOffsetConverter
so we actuallyverify that it works in
tests/core/test_return_address.c
.