Closed Bug 1637564 Opened 4 years ago Closed 4 years ago

Perma js/src/wasm/WasmOpIter.h:1724:13: error: no member named 'readRefType' in 'js::wasm::Decoder'; did you mean 'readValType'? when Gecko 78 merges to Beta on 2020-06-01

Categories

(Core :: JavaScript: WebAssembly, defect)

defect

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox-esr68 --- unaffected
firefox76 --- unaffected
firefox77 --- unaffected
firefox78 blocking fixed

People

(Reporter: aryx, Assigned: rhunt)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

central-as-beta simulation: https://treeherder.mozilla.org/#/jobs?repo=try&resultStatus=testfailed%2Cbusted%2Cexception%2Cretry%2Cusercancel%2Crunnable&revision=60c95b27a3fae3faf09cfcf4aa644fbfb708f2c2&group_state=expanded&selectedTaskRun=eVkK_PqsTrC1VEse3NWdmQ-0

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=302076217&repo=try

[task 2020-05-13T10:05:22.424Z] 10:05:22 INFO - In file included from /builds/worker/checkouts/gecko/js/src/wasm/WasmStubs.h:24:
[task 2020-05-13T10:05:22.425Z] 10:05:22 ERROR - /builds/worker/checkouts/gecko/js/src/wasm/WasmOpIter.h:1724:13: error: no member named 'readRefType' in 'js::wasm::Decoder'; did you mean 'readValType'?
[task 2020-05-13T10:05:22.425Z] 10:05:22 INFO - return d_.readRefType(env_.types, env_.gcTypesEnabled(), type);
[task 2020-05-13T10:05:22.426Z] 10:05:22 INFO - ^~~~~~~~~~~
[task 2020-05-13T10:05:22.427Z] 10:05:22 INFO - readValType
[task 2020-05-13T10:05:22.431Z] 10:05:22 INFO - /builds/worker/checkouts/gecko/js/src/wasm/WasmValidate.h:686:21: note: 'readValType' declared here
[task 2020-05-13T10:05:22.432Z] 10:05:22 INFO - MOZ_MUST_USE bool readValType(uint32_t numTypes, bool refTypesEnabled,
[task 2020-05-13T10:05:22.433Z] 10:05:22 INFO - ^
[task 2020-05-13T10:05:22.434Z] 10:05:22 INFO - In file included from Unified_cpp_js_src_wasm3.cpp:20:
[task 2020-05-13T10:05:22.435Z] 10:05:22 ERROR - /builds/worker/checkouts/gecko/js/src/wasm/WasmValidate.cpp:2286:14: error: no member named 'readRefType' in 'js::wasm::Decoder'

We rejected ref.null/func when reference-types is disabled because we'll never
get a reference-type value type. This commit moves this further to be
conditionally compiled so we can use conditionally compiled reference-types
code.

Assignee: nobody → rhunt
Status: NEW → ASSIGNED
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/autoland/rev/454c02806bd2
Conditionally compile reference-types global initializers. r=lth
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78

I skimmed the original build error log and missed there was a second issue.

The original drop-subtyping patches added a readRefType function to
decoder and conditionally compiled it. This function is used by
readRefNull, which is not conditionally compiled. The pattern used for
disabling ref-types instructions so far is to conditionally compile the
switches to ignore the op-code but still compile the WasmOpIter::read*
method. This commit removes the conditional around readRefType to
make that work.

From local testing on a beta build, there are also two test failures.

  • Missing ref.null type immediate on test that's not run by default
  • Missing skip-if reftypes guard on multi-value
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/autoland/rev/a35b8898b37e
part 2 - Fix build errors and some tests. r=lth
Flags: needinfo?(rhunt)
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.