Directly construct JS permanent atoms at startup
Categories
(Core :: JavaScript Engine, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox97 | --- | fixed |
People
(Reporter: tcampbell, Assigned: arai)
References
(Blocks 1 open bug)
Details
Attachments
(10 files, 1 obsolete file)
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 |
Currently the permanent atoms set is filled in by normal execution and atomization of the selfhosting data, and then in JSRuntime::initMainAtomsTables
it is converted to the permanent set. Since we use Stencil for self-hosting now, the surface area for atom creation during startup is much much smaller and we should be able to directly construct the atom set.
This lets us remove special cases for early-startup from the AtomizeChars code.
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
Depends on D133605
Assignee | ||
Comment 3•2 years ago
|
||
Depends on D133606
Assignee | ||
Comment 4•2 years ago
|
||
Depends on D133607
Assignee | ||
Comment 5•2 years ago
|
||
Depends on D133608
Assignee | ||
Comment 6•2 years ago
|
||
Depends on D133610
Assignee | ||
Comment 7•2 years ago
|
||
Depends on D133612
Assignee | ||
Comment 8•2 years ago
|
||
Depends on D133613
Assignee | ||
Comment 9•2 years ago
|
||
Depends on D133614
Assignee | ||
Comment 10•2 years ago
|
||
Depends on D133615
Assignee | ||
Comment 11•2 years ago
|
||
Depends on D133616
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 12•2 years ago
|
||
Pushed by arai_a@mac.com: https://hg.mozilla.org/integration/autoland/rev/378effea871d Part 1: Split JSRuntime::initSelfHosting into compile part and instantiation part. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/964694eebaa9 Part 2: Move JSRuntime::createJitRuntime call after permanent atom table initialization. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/eac4e152c9ad Part 3: Split JSRuntime::InitSelfHostingFromStencil into atom part and other part. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/318bec5fefa5 Part 4: Add JS::AutoAssertNoGC around atom/symbol initialization. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/e30948486bcd Part 5: Fold JSRuntime::initSelfHostingAtomsFromStencil into JSRuntime::initializeAtoms. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/ad4cf3cdab04 Part 6: Fold JSRuntime::initMainAtomsTables into JSRuntime::initializeAtoms. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/325ee4e8c739 Part 7: Add PermanentlyAtomizeChars that skips zone cache. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/86e051127db1 Part 8: Remove special case for permanent atom from AtomizeAndCopyCharsFromLookup. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/11879610af4a Part 9: Specialize AllocateNewAtom for permanent atoms. r=tcampbell https://hg.mozilla.org/integration/autoland/rev/e01b60ec09e8 Part 10: Move AtomSet out of JSRuntime, and stop tracing. r=tcampbell
Comment 13•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/378effea871d
https://hg.mozilla.org/mozilla-central/rev/964694eebaa9
https://hg.mozilla.org/mozilla-central/rev/eac4e152c9ad
https://hg.mozilla.org/mozilla-central/rev/318bec5fefa5
https://hg.mozilla.org/mozilla-central/rev/e30948486bcd
https://hg.mozilla.org/mozilla-central/rev/ad4cf3cdab04
https://hg.mozilla.org/mozilla-central/rev/325ee4e8c739
https://hg.mozilla.org/mozilla-central/rev/86e051127db1
https://hg.mozilla.org/mozilla-central/rev/11879610af4a
https://hg.mozilla.org/mozilla-central/rev/e01b60ec09e8
Description
•