-
Notifications
You must be signed in to change notification settings - Fork 40
[spec/interpreter/test] Allow nullref type externally #66
Conversation
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.
FWIW, these look good to me.
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
I have no objections really to the change to ToWebAssemblyValue but it strikes me as not very JS-ish to throw an error if the incoming value is not null; more idiomatic might be to run ToPrimitive and then discard the result of that. (It would be forward-compatible not to make this change now.) |
@lars-t-hansen, it is consistent with the existing rule for funcref, which doesn't try ToPrimitive either. Null isn't really treated as a value of primitive type in JS (its typeof is "object"), so using ToPrimitive would seem odd. |
Implementation just landed in SpiderMonkey. |
@lars-t-hansen, great to hear! Is anything still blocking your approval to the PR? |
Not at all, PR is fine, I was just not asked for review earlier :-) |
Ah, sorry! Thanks for approving anyway! |
- Make `ref.func` usable for global initialization expressions - Allow `nullref` as a full-fledged type, after WebAssembly/reference-types#66 - Enable reference types when exnref is used (The reference types proposal is a prerequisite of the EH proposal) - Update spec tests
- Make `ref.func` usable for global initialization expressions - Allow `nullref` as a full-fledged type, after WebAssembly/reference-types#66 - Enable reference types when exnref is used (The reference types proposal is a prerequisite of the EH proposal) - Update spec tests
- Make `ref.func` usable for global initialization expressions - Allow `nullref` as a full-fledged type, after WebAssembly/reference-types#66 - Enable reference types when exnref is used (The reference types proposal is a prerequisite of the EH proposal)
- Allow `ref.func` for global initialization expressions - Allow `nullref` as a full-fledged type, after WebAssembly/reference-types#66 - Enable reference types when exnref is used (The reference types proposal is a prerequisite of the EH proposal)
- Allow `ref.func` for global initialization expressions - Allow `nullref` as a full-fledged type, after WebAssembly/reference-types#66 - Enable reference types when exnref is used (The reference types proposal is a prerequisite of the EH proposal)
- Allow `ref.func` for global initialization expressions - Allow `nullref` as a full-fledged type, after WebAssembly/reference-types#66 - Enable reference types when exnref is used (The reference types proposal is a prerequisite of the EH proposal)
- Allow `ref.func` for global initialization expressions - Allow `nullref` as a full-fledged type, after WebAssembly/reference-types#66 - Enable reference types when exnref is used (The reference types proposal is a prerequisite of the EH proposal)
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 --HG-- extra : moz-landing-system : lando
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 --HG-- extra : moz-landing-system : lando
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 --HG-- extra : moz-landing-system : lando
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 UltraBlame original commit: 48c545152a470b7ddd8c9b2ee0ca75ce9c16363f
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 UltraBlame original commit: f76fa61db00e7985aa70eb01c548478e0ff319ab
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 UltraBlame original commit: 985cd0a6aca99bb5bb0b0ad8d2225a019bdf1d58
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 UltraBlame original commit: 48c545152a470b7ddd8c9b2ee0ca75ce9c16363f
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 UltraBlame original commit: f76fa61db00e7985aa70eb01c548478e0ff319ab
This commit updates the encoding of nullref to match the one given in the reference types proposal. Spec: WebAssembly/reference-types#66 Differential Revision: https://phabricator.services.mozilla.com/D58882 UltraBlame original commit: 985cd0a6aca99bb5bb0b0ad8d2225a019bdf1d58
* The data count section is required if the `memory.init` or `data.drop` instructions are used. * `memory.init` had an off-by-one bug when reading at the end of a segment. * All instructions that operate on regions need to compare length to 0 using unsigned comparison (e.g. `I32.gt_u n 0l`). * Converting length from 32- to 64-bit now uses `I64_convert.extend_i32_u`, instead of `Int64.of_int32`, since the latter will sign-extend. * The `table.copy` overlap test now uses an unsigned comparison. * The passive element text syntax still allows function indexes, e.g. `(elem passive $f1 $f2)`. * Add element type to passive element segments
Allow
nullref
in binary and text format as well as JS API.Addresses #60.