Closed
Bug 1572385
Opened 5 years ago
Closed 5 years ago
js/src/vm/StringType.h:338:5: error: static_assert failed due to requirement 'JSString::offsetOfFlags() == __builtin_offsetof(JS::shadow::String, flags_)' "shadow::String flags offset must match JSString" on s390x, and presumably other big-endians
Categories
(Core :: JavaScript Engine, defect, P2)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla70
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: glandium, Assigned: jandem)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
https://treeherder.mozilla.org/logviewer.html#?job_id=260536670&repo=try
[task 2019-08-08T06:27:15.779Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/gc/StoreBuffer.cpp:7:
[task 2019-08-08T06:27:15.779Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/gc/StoreBuffer-inl.h:15:
[task 2019-08-08T06:27:15.779Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/gc/Heap-inl.h:13:
[task 2019-08-08T06:27:15.779Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/gc/Zone.h:15:
[task 2019-08-08T06:27:15.779Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/gc/ZoneAllocator.h:15:
[task 2019-08-08T06:27:15.779Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/vm/Runtime.h:24:
[task 2019-08-08T06:27:15.779Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/builtin/AtomicsObject.h:15:
[task 2019-08-08T06:27:15.780Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/vm/JSObject.h:18:
[task 2019-08-08T06:27:15.780Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/vm/Shape.h:32:
[task 2019-08-08T06:27:15.780Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/vm/ObjectGroup.h:19:
[task 2019-08-08T06:27:15.780Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/vm/TypeSet.h:22:
[task 2019-08-08T06:27:15.780Z] 06:27:15 INFO - In file included from /builds/worker/workspace/build/src/js/src/jit/IonTypes.h:19:
[task 2019-08-08T06:27:15.780Z] 06:27:15 ERROR - /builds/worker/workspace/build/src/js/src/vm/StringType.h:338:5: error: static_assert failed due to requirement 'JSString::offsetOfFlags() == __builtin_offsetof(JS::shadow::String, flags_)' "shadow::String flags offset must match JSString"
[task 2019-08-08T06:27:15.781Z] 06:27:15 INFO - static_assert(JSString::offsetOfFlags() == offsetof(String, flags_),
[task 2019-08-08T06:27:15.781Z] 06:27:15 INFO - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2019-08-08T06:27:15.781Z] 06:27:15 INFO - 1 error generated.
[task 2019-08-08T06:27:15.781Z] 06:27:15 INFO - /builds/worker/workspace/build/src/config/rules.mk:786: recipe for target 'StoreBuffer.o' failed
Assignee | ||
Comment 1•5 years ago
|
||
This static assert used to check:
offsetof(JSString, d.flags_) == offsetof(String, flags_)
But now it checks:
JSString::offsetOfFlags() == offsetof(String, flags_)
We could go back to checking the raw flags_ field offset I suppose.
Assignee | ||
Updated•5 years ago
|
Flags: needinfo?(jdemooij)
Comment 2•5 years ago
|
||
Type: task → defect
Comment 3•5 years ago
|
||
Yeah, checking the raw field makes sense. The 'offsetOfFlags' stuff is really just for jits.
Assignee | ||
Updated•5 years ago
|
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
Flags: needinfo?(jdemooij)
Assignee | ||
Comment 4•5 years ago
|
||
The length_ and flags_ fields are private so I added a protected offsetOf* accessor.
Updated•5 years ago
|
Priority: -- → P2
Pushed by jdemooij@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0d98b57bcabf Check raw flags_ field offset in JSString::staticAsserts to fix 64-bit big-endian platforms. r=tcampbell
Comment 6•5 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
status-firefox70:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Updated•2 years ago
|
Has Regression Range: --- → yes
Updated•2 years ago
|
Keywords: regression
You need to log in
before you can comment on or make changes to this bug.
Description
•