Closed Bug 1577508 Opened 6 years ago Closed 6 years ago

Allow WebAssembly blocks to return multiple values

Categories

(Core :: JavaScript: WebAssembly, task, P1)

task

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: wingo, Assigned: wingo)

References

Details

Attachments

(1 file)

The attached patch is a version of https://bugzilla.mozilla.org/attachment.cgi?id=9044748 from bug 1401675, which expands the representation of block types in the compiler to allow blocks to take and return values.

Status: NEW → ASSIGNED
Priority: -- → P1
Keywords: checkin-needed

On Fri, September 20, 2019, 1:04 PM GMT+3, by apavel@mozilla.com.
Revisions: D44142 diff 165585 ← D43604 diff 165588 ← D43977 diff 165604
Details: We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again. applying /tmp/tmpzK4bTJ js/src/wasm/WasmBaselineCompile.cpp Hunk #6 FAILED at 6744. Hunk #8 FAILED at 8214. 2 out of 20 hunks FAILED -- saving rejects to file js/src/wasm/WasmBaselineCompile.cpp.rej abort: patch command failed: exited with status 256

Flags: needinfo?(wingo)
Keywords: checkin-needed

Tried to land this again after landing the other ones separately:

On Fri, September 20, 2019, 1:14 PM GMT+3, by apavel@mozilla.com.
Revisions: D43977 diff 165604
Details: We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again. applying /tmp/tmpZq6S2R js/src/wasm/WasmBaselineCompile.cpp Hunk #6 FAILED at 6744. Hunk #8 FAILED at 8214. 2 out of 20 hunks FAILED -- saving rejects to file js/src/wasm/WasmBaselineCompile.cpp.rej abort: patch command failed: exited with status 256

Thanks for landing and apologies for the mess. Rebased and uploaded.

Flags: needinfo?(wingo)
Keywords: checkin-needed

Pushed by apavel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8a9ae25b1019
Allow WebAssembly blocks to return multiple values r=luke

Keywords: checkin-needed

(In reply to Andy Wingo [:wingo] from comment #4)

Thanks for landing and apologies for the mess. Rebased and uploaded.

No problem, thanks for fixing this.

Keywords: checkin-needed

(note to sheriffs: it looks from the bug like the patch has been applied already but in fact it was rolled out, has new modifications newly approved by luke, and needs applying. thank a million!)

Pushed by apavel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bf0900c02d78
Allow WebAssembly blocks to return multiple values r=luke

Keywords: checkin-needed

Okeysmokes, fixed that, did a try build (https://treeherder.mozilla.org/#/jobs?repo=try&revision=daeaaa4127a7137688da2c48af91a4d0bc56f9ba&selectedJob=269601291), and fixed the one error there too. Let's give this another go!

Flags: needinfo?(wingo)
Keywords: checkin-needed

(the arc diff completed after my last message but before this one)

Pushed by apavel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ed20677d8a91
Allow WebAssembly blocks to return multiple values r=luke

Keywords: checkin-needed

My last revision to fix a minor build problem on MacOS accidentally squished bug 1578418 onto the patch :/ Really sorry; will fix.

I think we're all green here AFAIU; last problem with the hazard check segfaulting (!) was fixed by the GCC upgrade on Wednesday. Let's go! :-)

Keywords: checkin-needed
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b868b0719ca6 Allow WebAssembly blocks to return multiple values r=luke
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71

I've requested a backpout for this, the sheriffs will attempt to back it out on mozilla-central.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla71 → ---

Hi Lars -- I uploaded a fixed patch (https://phabricator.services.mozilla.com/D43977?vs=172731&id=176774#toc) and went through and verified that all fuzzer bugs were fixed by that patch. OK to reland?

Flags: needinfo?(lhansen)

OK, but please do it today if you can -- we're in a soft code freeze until Oct 21 and we don't want to risk any instability.

Flags: needinfo?(lhansen)
Keywords: checkin-needed
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9f7109703bd0 Allow WebAssembly blocks to return multiple values r=luke

Can/should we land any of the fuzzer testcases from the previous landing attempt?

Flags: needinfo?(wingo)

(In reply to Ryan VanderMeulen [:RyanVM] from comment #24)

Can/should we land any of the fuzzer testcases from the previous landing attempt?

I am not sure. On the one side, the problems they showed are only on nightly shell, and it was already known that the codegen wasn't complete. On the other, the expected behavior will change once multi-value lands (though of course it should never crash); and we don't have the facility to write text-format tests so that we can easily know what's being tested (https://bugzilla.mozilla.org/show_bug.cgi?id=1527871). Honestly I would punt; tests for this functionality will land shortly, the fuzzer found these issues quite promptly, and I think the fix is robust.

Flags: needinfo?(wingo)
Status: REOPENED → RESOLVED
Closed: 6 years ago6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: