Rewrite MainThreadErrorContext with OffThreadErrorContext + a step to convert to runtime error
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox107 | --- | fixed |
People
(Reporter: arai, Assigned: arai)
References
Details
Attachments
(16 files, 5 obsolete files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Things to do:
- factor out the code around conversion fro
OffThreadFrontendErrorsto runtime error, from helper thread
for (const UniquePtr<CompileError>& error : parseTask->ec_.errors()) {
error->throwError(cx);
}
- possibly temporarily add a workaround to support
MainThreadErrorContext-specific thing inOffThreadErrorContextas optional path. such asonAllocationOverflowand WASI recursion limit - rewrite
MainThreadErrorContextconsumer to useOffThreadErrorContextand the conversion above - remove
MainThreadErrorContext
after them we can cleanup the code path around error reporting and OffThreadErrorContext in bug 1785762, and rename things with Frontend*
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
This requires all exceptions being set through ErrorContext in frontend,
including OOM during allocation.
| Assignee | ||
Comment 2•3 years ago
|
||
| Assignee | ||
Comment 3•3 years ago
|
||
Depends on D156091
| Assignee | ||
Comment 4•3 years ago
|
||
Depends on D156092
| Assignee | ||
Comment 5•3 years ago
|
||
Depends on D156093
| Assignee | ||
Comment 6•3 years ago
|
||
Depends on D156094
| Assignee | ||
Comment 7•3 years ago
|
||
Depends on D156095
| Assignee | ||
Comment 8•3 years ago
|
||
remaining things to do:
- rewrite query on JSContext error status
- rewrite recover from error
| Assignee | ||
Comment 9•3 years ago
|
||
Also:
- split error and warnings, and add different accessor
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
| Assignee | ||
Comment 10•3 years ago
|
||
Depends on D156091
| Assignee | ||
Comment 11•3 years ago
|
||
Depends on D157442
| Assignee | ||
Comment 12•3 years ago
|
||
Depends on D157443
| Assignee | ||
Comment 13•3 years ago
|
||
Depends on D157444
| Assignee | ||
Comment 14•3 years ago
|
||
Depends on D157445
| Assignee | ||
Comment 15•3 years ago
|
||
Depends on D157446
| Assignee | ||
Comment 16•3 years ago
|
||
Depends on D157447
| Assignee | ||
Comment 17•3 years ago
|
||
Depends on D157448
| Assignee | ||
Comment 18•3 years ago
|
||
Depends on D157449
| Assignee | ||
Comment 19•3 years ago
|
||
The frontend error is converted into the runtime error in
AutoReportFrontendContext destructor, and it can GC.
If the function's return value is GC thing, AutoReportFrontendContext
destructor must be called before the return statement, and thus
AutoReportFrontendContext must be put into a block, and the return value
must be stored into JS::Rooted outside of the block.
Depends on D157450
| Assignee | ||
Comment 20•3 years ago
|
||
Depends on D157451
| Assignee | ||
Comment 21•3 years ago
|
||
Depends on D157452
| Assignee | ||
Comment 22•3 years ago
|
||
Depends on D157453
| Assignee | ||
Comment 23•3 years ago
|
||
Depends on D157454
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
| Assignee | ||
Comment 24•3 years ago
|
||
Depends on D157453
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 25•3 years ago
|
||
Comment 26•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/3b43722447cb
https://hg.mozilla.org/mozilla-central/rev/320050bb2c1d
https://hg.mozilla.org/mozilla-central/rev/387a484747dd
https://hg.mozilla.org/mozilla-central/rev/b29e3a509e61
https://hg.mozilla.org/mozilla-central/rev/a9c6b783ae5f
https://hg.mozilla.org/mozilla-central/rev/1d7e29232e58
https://hg.mozilla.org/mozilla-central/rev/deb867238cb2
https://hg.mozilla.org/mozilla-central/rev/c0fbf5e9476b
https://hg.mozilla.org/mozilla-central/rev/dd22e38e5474
https://hg.mozilla.org/mozilla-central/rev/d8a24b7bd7d8
https://hg.mozilla.org/mozilla-central/rev/ca77d788facb
https://hg.mozilla.org/mozilla-central/rev/86a890c4b6fa
https://hg.mozilla.org/mozilla-central/rev/5210028e7137
https://hg.mozilla.org/mozilla-central/rev/328ec7d3e3ba
https://hg.mozilla.org/mozilla-central/rev/f31a45362842
https://hg.mozilla.org/mozilla-central/rev/0ac06d10a688
Description
•