Closed Bug 1647803 Opened 4 years ago Closed 4 years ago

Move cell header field to the Cell class and remove CellHeader classes

Categories

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

task

Tracking

()

RESOLVED FIXED
mozilla80
Tracking Status
firefox80 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

Attachments

(1 file, 10 obsolete files)

47 bytes, text/x-phabricator-request
Details | Review

Since bug 1625212 it has been suggested that putting the cell header word in the Cell class would be a better solution after all.

The main issue with this is that header field is not defined in the same place as the other data fields in derived classes. We can define an accessor with the other data members to make things clearer though.

Depends on D80839

Depends on D80840

Depends on D80841

Depends on D80842

Depends on D80844

Depends on D80847

Depends on D80848

Depends on D80850

Depends on D80852

Depends on D80853

I'm going to smush all these patches together for landing.

Attachment #9158855 - Attachment is obsolete: true
Attachment #9158854 - Attachment is obsolete: true
Attachment #9158852 - Attachment is obsolete: true
Attachment #9158850 - Attachment is obsolete: true
Attachment #9158848 - Attachment is obsolete: true
Attachment #9158847 - Attachment is obsolete: true
Attachment #9158844 - Attachment is obsolete: true
Attachment #9158842 - Attachment is obsolete: true
Attachment #9158841 - Attachment is obsolete: true
Attachment #9158840 - Attachment is obsolete: true
Attachment #9158839 - Attachment description: Bug 1647803 - Move cell header field to the Cell class and remove CellHeader classes r?tcampbell → Bug 1647803 - Move cell header field to the Cell class and remove CellHeader classes r?tcampbell r?jandem
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/decd39d62966 Move cell header field to the Cell class and remove CellHeader classes r=tcampbell
Backout by csabou@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5346f9e67dbc Backed out changeset decd39d62966 for build bustages on JSFunction.h. CLOSED TREE

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=decd39d62966328860aef632c317dbcbe58fe668&selectedTaskRun=bxmi3FO0SGKM76jUDKW-yA.0

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=307538835&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=307538871&repo=autoland

Backout link: https://hg.mozilla.org/integration/autoland/rev/5346f9e67dbc

[task 2020-06-25T16:56:39.863Z] 16:56:39     INFO -  In file included from /builds/worker/checkouts/gecko/js/src/jit/JSJitFrameIter.h:17:
[task 2020-06-25T16:56:39.863Z] 16:56:39     INFO -  /builds/worker/checkouts/gecko/js/src/vm/JSFunction.h(696,1): error: static_assert failed due to requirement 'sizeof(JSFunction) == sizeof(js::shadow::Function)' "shadow interface must match actual interface"
[task 2020-06-25T16:56:39.863Z] 16:56:39     INFO -  static_assert(sizeof(JSFunction) == sizeof(js::shadow::Function),
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  In file included from Unified_cpp_js_src_jsapi-tests1.cpp:29:
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  In file included from /builds/worker/checkouts/gecko/js/src/jsapi-tests/testBug604087.cpp:13:
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  /builds/worker/checkouts/gecko/js/src/vm/ProxyObject.h(33,5): error: static_assert failed due to requirement '__builtin_offsetof(js::ProxyObject, data) == detail::ProxyDataOffset' "proxy object layout must match shadow interface"
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -      static_assert(offsetof(ProxyObject, data) == detail::ProxyDataOffset,
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  /builds/worker/checkouts/gecko/js/src/vm/ProxyObject.h(35,5): error: static_assert failed due to requirement '__builtin_offsetof(js::ProxyObject, data.reservedSlots) == __builtin_offsetof(js::shadow::Object, slots)' "Proxy reservedSlots must overlay native object slots field"
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -      static_assert(offsetof(ProxyObject, data.reservedSlots) ==
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  In file included from Unified_cpp_js_src_jsapi-tests1.cpp:2:
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  In file included from /builds/worker/checkouts/gecko/js/src/jsapi-tests/testAtomicOperations.cpp:12:
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  /builds/worker/checkouts/gecko/js/src/jsapi-tests/tests.h(436,14): warning: Usage of ASCII file functions (here fopen) is forbidden on Windows.
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -      stream = fopen(fileName, "wb+");
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -               ^
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  /builds/worker/checkouts/gecko/js/src/jsapi-tests/tests.h(436,14): note: On Windows executed functions: fopen, fopen_s, open, _open, _sopen, _sopen_s, OpenFile, CreateFileA should never be used due to lossy conversion from UTF8 to ANSI.
[task 2020-06-25T16:56:39.864Z] 16:56:39     INFO -  1 warning and 11 errors generated.
[task 2020-06-25T16:56:39.864Z] 16:56:39    ERROR -  make[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:748: Unified_cpp_js_src_jsapi-tests1.obj] Error 1
[task 2020-06-25T16:56:39.865Z] 16:56:39     INFO -  make[4]: Leaving directory '/builds/worker/workspace/obj-build/js/src/jsapi-tests'
[task 2020-06-25T16:56:39.865Z] 16:56:39     INFO -  make[4]: *** Waiting for unfinished jobs....
Flags: needinfo?(jcoppeard)
Attachment #9158839 - Attachment description: Bug 1647803 - Move cell header field to the Cell class and remove CellHeader classes r?tcampbell r?jandem → Bug 1647803 - Move cell header field to the Cell class and remove CellHeader classes r?tcampbell,jandem
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8ebb83edf3db Move cell header field to the Cell class and remove CellHeader classes r=tcampbell
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
Regressions: 1650003
Flags: needinfo?(jcoppeard)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: