RESOLVED FIXED 142651
Introduce SymbolType into SpeculativeTypes
https://bugs.webkit.org/show_bug.cgi?id=142651
Summary Introduce SymbolType into SpeculativeTypes
Yusuke Suzuki
Reported 2015-03-12 21:38:22 PDT
Currently, Symbol is classified as SpecCellOther. But this is too conservative analysis and there's room to optimize it. Introducing SpecSymbol and analyzing this type in DFG/FTL brings faster Symbol comparison and lookups with it. It will encourage some applications that uses Symbol as an unique key, like React.js.
Attachments
Patch (8.15 KB, patch)
2015-05-14 08:27 PDT, Yusuke Suzuki
no flags
Yusuke Suzuki
Comment 1 2015-04-29 11:47:10 PDT
CellOther is used for non-user-visible Cell objects. So current status (categorizing Symbol into CellOther type) is not correct.
Yusuke Suzuki
Comment 2 2015-05-14 07:30:55 PDT
Let's introduce SpecSymbol at first. In the separated patch, I'll introduce SymbolUse.
Yusuke Suzuki
Comment 3 2015-05-14 08:27:06 PDT
Yusuke Suzuki
Comment 4 2015-05-14 09:02:49 PDT
Comment on attachment 253121 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=253121&action=review > Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:454 > + if (m_state.forNode(node->child1()).m_type & ~(SpecFullNumber | SpecBoolean | SpecString | SpecSymbol)) ToPrimitive is used in string concatnation. It is tested in tests/stress/dfg-to-primitive-pass-symbol.js
WebKit Commit Bot
Comment 5 2015-05-14 10:39:06 PDT
Comment on attachment 253121 [details] Patch Clearing flags on attachment: 253121 Committed r184340: <http://trac.webkit.org/changeset/184340>
WebKit Commit Bot
Comment 6 2015-05-14 10:39:11 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.