• Frank Emrich's avatar
    [dict-proto] TF support for constants in dictionary mode protos, pt. 1 · a3ad3529
    Frank Emrich authored
    This CL is the first in a series that implements Turbofan support for
    property accesses satisfying the following conditions:
    1. The holder is a dictionary mode object.
    2. The holder is a prototype.
    3. The access is a load.
    
    This feature will only be enabled if the build flag
    v8_dict_property_const_tracking is set.
    
    This particular CL does the following:
    
    a) In PropertyAccessInfo::Kind, rename kDataConstant and
    kAccessorConstant to kFastDataConstant and kFastAccessorConstant,
    respectively, to indicate that these kinds are used for fast mode
    holders.
    
    b) In PropertyAccessInfo::Kind, add kDictionaryProtoDataConstant and
    kDictionaryProtoAccessorConstant, which will be used for dictionary
    mode holders (which must also be prototypes, as stated  above).
    
    c) Add a member dictionary_index_ to PropertyAccessInfo, which is
    used by the kinds mentioned in b)
    
    Bug: v8:11248
    Change-Id: Id1c10215aab287066a9765756f112c8035141013
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718228
    Commit-Queue: Frank Emrich <emrich@google.com>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73169}
    a3ad3529
js-native-context-specialization.cc 149 KB