Ignore:
Timestamp:
Sep 10, 2015, 4:07:08 PM (10 years ago)
Author:
[email protected]
Message:

Structure should be able to tell you if it had ever been a dictionary
https://bugs.webkit.org/show_bug.cgi?id=149047

Reviewed by Mark Lam.

Introduces the hasBeenDictionary flag to Structure, which tells you if this structure or
any of its ancestors is a dictionary. We already implicitly tracked this for DFG
watchpoint optimizations, so this is mainly just decoupling that existing logic from
watchpoints. Having Structure::hasBeenDictionary() enables some of the heuristics in the
property type inference work (https://bugs.webkit.org/show_bug.cgi?id=148610).

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::dump):

  • runtime/Structure.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r189591 r189596  
     12015-09-10  Filip Pizlo  <[email protected]>
     2
     3        Structure should be able to tell you if it had ever been a dictionary
     4        https://bugs.webkit.org/show_bug.cgi?id=149047
     5
     6        Reviewed by Mark Lam.
     7
     8        Introduces the hasBeenDictionary flag to Structure, which tells you if this structure or
     9        any of its ancestors is a dictionary. We already implicitly tracked this for DFG
     10        watchpoint optimizations, so this is mainly just decoupling that existing logic from
     11        watchpoints. Having Structure::hasBeenDictionary() enables some of the heuristics in the
     12        property type inference work (https://bugs.webkit.org/show_bug.cgi?id=148610).
     13
     14        * runtime/Structure.cpp:
     15        (JSC::Structure::Structure):
     16        (JSC::Structure::toDictionaryTransition):
     17        (JSC::Structure::dump):
     18        * runtime/Structure.h:
     19
    1202015-09-10  Yusuke Suzuki  <[email protected]>
    221
Note: See TracChangeset for help on using the changeset viewer.