Closed Bug 1803539 Opened 2 years ago Closed 2 years ago

[loong64][mips64] Failed to build loong64 and mips64 simulator (use of undeclared identifier 'TlsContext'; member access into incomplete type 'JSContext')

Categories

(Core :: JavaScript Engine: JIT, defect, P1)

defect

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox107 --- unaffected
firefox108 --- unaffected
firefox109 --- fixed

People

(Reporter: zhaojiazhong-hf, Assigned: zhaojiazhong-hf)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; Linux loongarch64; rv:91.0) Gecko/20100101 Firefox/91.0

Steps to reproduce:

Build loong64 or mips64 js simulator.

Actual results:

Got error:

In file included from Unified_cpp_js_src_jit14.cpp:2:
mozilla/mozilla-central/js/src/jit/loong64/Simulator-loong64.cpp:1496:19: error: use of undeclared identifier 'TlsContext'
JSContext* cx = TlsContext.get();
^
mozilla-central/js/src/jit/loong64/Simulator-loong64.cpp:1498:12: error: member access into incomplete type 'JSContext'
return cx->simulator();
^
mozilla/mozilla-central/obj-js-rel-loong64/dist/include/js/TypeDecls.h:27:22: note: forward declaration of 'JSContext'
struct JS_PUBLIC_API JSContext;
^
In file included from Unified_cpp_js_src_jit14.cpp:2:
mozilla/mozilla-central/js/src/jit/loong64/Simulator-loong64.cpp:2540:58: error: no member named 'ToInt32' in namespace 'JS'
if (external == intptr_t((int32_t()(double))JS::ToInt32)) {
~~~~^
mozilla-central/js/src/jit/loong64/Simulator-loong64.cpp:5218:21: error: incomplete type 'JSContext' named in nested name specifier
js::jit::Simulator
JSContext::simulator() const { return simulator_; }
^~~~~~~~~~~
mozilla/mozilla-central/obj-js-rel-loong64/dist/include/js/TypeDecls.h:27:22: note: forward declaration of 'JSContext'
struct JS_PUBLIC_API JSContext;
^

Expected results:

Build loong64 and mips64 js simulator without error.

It seems that it's because the Simulator-loong64.cpp and Simulator-mips64.cpp files lack two headers, and somehow this bug is triggered by a recent changeset cb0c2d593207.

Blocks: 1757272, 1639895
Regressed by: 1802497
Assignee: nobody → zhaojiazhong-hf
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Set release status flags based on info from the regressing bug 1802497

Severity: -- → S4
Priority: -- → P1
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/36a46f04eb6a [loong64][mips64] Include the missing headers for simulator. r=jandem
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: