Handle _SetCanonicalName during BytecodeEmitter
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox90 | --- | fixed |
People
(Reporter: tcampbell, Assigned: tcampbell)
References
Details
Attachments
(2 files)
As we move towards removing the self-hosting realm, we need to replace _SetCanonicalName
behaviour. It should instead be processed by the BCE and the name saved on the stencil. This also has the upside that we are not relying on mutating functions in the self-hosting realm at startup.
Assignee | ||
Comment 1•4 years ago
|
||
Now, when _SetCanonicalName is used, store the canonical name on the extended
slot instead of clobbering the display name. This ensures the function names
in the self-hosted realm match their binding names and the original source
code for better clarity. Instead we apply the canonical name during function
cloning where special cases already needed to exist to find the "original"
name. The net result should be easier to understand.
Assignee | ||
Comment 2•4 years ago
|
||
Instead of manipulating the uncloned self-hosted function at runtime, process
the _SetCanonicalName call during BCE and save it in ScriptStencil. This
will later lead to directly instatiating self-hosted clones from a stencil
rather than cloning from the self-hosting realm.
Depends on D113455
Updated•4 years ago
|
Updated•4 years ago
|
Comment 4•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/8a523f660b21
https://hg.mozilla.org/mozilla-central/rev/55b4f673e48d
Description
•