Avoid using pinned atoms in JS debugger
Categories
(Core :: JavaScript Engine, task, P2)
Tracking
()
People
(Reporter: tcampbell, Unassigned, Mentored)
References
(Blocks 1 open bug)
Details
(Keywords: good-first-bug)
There are still a few places in the JS debugger that use PinAtom
when we should consider it deprecated.
This is not ideal because a "pinned" atom string is kept alive forever and requires deprecated GC machinery to do so. Instead, if there is a finite set we pin here, they should be made "well-known" atoms built into spidermonkey. These still live forever, but with less complexity.
- Make sure you can build spidermonkey using this guide: https://firefox-source-docs.mozilla.org/js/build.html
- Ensure the few strings we need are in the CommonPropertyNames.h list.
- Update
DebuggerEnvironment::CallData::typeGetter
to usecx->names()....
similar to here - Make sure
./mach jit-tests debug
passes on your computer after these fixes.
Additionally, DebuggerEnvironment::CallData::scopeKindGetter
could be fixed in a similar way too.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 1•2 years ago
|
||
Hey there! 👋 Grabbing this issue. I work on the desktop front-end, and I'd like to get a little bit of experience working with JS engine C++. Feel free to steal this back if it gets prioritized up, or if someone's already working on it.
Comment 2•2 years ago
|
||
This good-first-bug hasn't had any activity for 2 months, it is automatically unassigned.
For more information, please visit auto_nag documentation.
Comment 3•2 years ago
|
||
This has been fixed in other bugs.
Description
•