-
Notifications
You must be signed in to change notification settings - Fork 396
Update the doc comment of the assignBuckets
so it explains the overview of the algorithm
#5007
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
Closed
Conversation
This file contains hidden or 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
If an object is sealed, `captureStackTrace` throws an exception. This will happen for WebAssembly objects. We now detect this case and fall back to instantiating a dedicated `js.Error` object.
We now directly use `import("./main.js")` or `require("./main.js")` rather than relying on the compilation scheme of `js.dynamicImport`. This will allow `ExportLoopback` to work under WebAssembly, although the initial implementation will not support multiple modules.
This commit contains the initial implementation of the WebAssembly backend. This backend is still experimental, in the sense that: * We may remove it in a future Minor version, if we decide that it has a better place elsewhere, and * Newer minor versions may produce WebAssembly code that requires more recent WebAssembly features. The WebAssembly backend silently ignores `@JSExport` and `@JSExportAll` annotations. It is otherwise supposed to support the full Scala.js language semantics. Currently, the backend only supports some configurations of the linker. It requires: * No optimizer, * Unchecked semantics for undefined behaviors, * Strict floats, and * ES modules. Some of those will be relaxed in the future, definitely including the first two. Co-authored-by: Rikito Taniguchi <[email protected]>
We can rely on the `ToNumber(v)` conversions performed by `ToWebAssemblyValue` instead of doing `null` handling ourselves.
Also reorder Instructions by opcode.
Except using a typeclass for the block types in `FunctionBuilder`.
We still need an overload of each method for the empty block type, but the other ones disappear. Also, we cannot remove the boilerplate from the `switch` overloads, since `switch` ultimately wants a pair of `FunctionType`s so that it can decompose them. It could not do that with `BlockType`s.
If a class or interface does not exist but it is mentioned in a type, it means it had no instances. Therefore, we can transform it to `nullref`.
Discovered while adding checked behaviors for CCEs.
This allows to get rid of the pre-registration of strings used by module initializers.
And simplify its internals to remove code duplication.
Thanks. Cherry-picked and reformatted into #4988. |
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.
change : a6b6746
In response to the review by @gzm0 #4988 (comment) this PR update the doc comment of the
assignBuckets
so it explains the overview of the algorithm.The interface of
assignBuckets
is already refactored by d4b7147 :PIt'd be great to be cherry-picked into #4988 if it's approved.