Use actual format in XDR version check
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox86 | --- | fixed |
People
(Reporter: arai, Assigned: arai)
References
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Currently JS::GetScriptTranscodingBuildId
value includes js::UseOffThreadParseGlobal()
value, and the value is pref value.
JS::GetScriptTranscodingBuildId
is used in the following 2 places:
- XDR file's version check
- MIME type for JSBC
MIME type for JSBC needs js::UseOffThreadParseGlobal()
value, but XDR file's version check shouldn't use pref value, but should use actual file format, because of the following reason:
startupCache/scriptCache keeps using JSScript XDR even after stencil-mvp, and it's not conditional based on the pref value.
and those cache is invalidated based only on build id, ABI, and file path.
So, if the pref is flipped, the version check fails after the next startup,
even if the other content is valid.
Assignee | ||
Comment 1•4 years ago
|
||
To avoid false version mismatch in startupCache/scriptCache, make the
version check use the actual file format (JSScript vs Stencil) instead of
pref value.
Also fixed the reserved size of buildId.
Comment 3•4 years ago
|
||
bugherder |
Description
•