• Joyee Cheung's avatar
    [ic] name Set/Define/Store property operations more consistently pt.2 · cf5ce194
    Joyee Cheung authored
    As a follow-up of
    https://chromium-review.googlesource.com/c/v8/v8/+/3481475,
    this renames a few more operations related to property stores to keep
    them consistent and adds comments to explain about what they do.
    
    Summary of the renamed identifiers:
    
    - SetPropertyInLiteral -> CreateDataProperty: this implements
      [[CreateDataProperty]] in the spec which does [[DefineOwnProperty]]
      instead of [[Set]], so rename for clarity.
    - IsStoreIC(), IsStoreICKind() -> IsSetNamedIC(), IsSetNamedICKind():
      these only check whether the feedback kind is kSetNamedSloppy or
      kSetNamedStrict, so the scope can be narrowed.
    - StoreMode::kOrdinary -> StoreMode::kSet: this implements [[Set]]
      in the spec and is used by both KeyedStoreIC and
      StoreIC to set the properties when there is no feedback.
    - StoreMode::kInLiteral -> StoreMode::kDefineKeyedOwnInLiteral:
      this implements [[CreateDataProperty]] while expecting the receiver
      to be a JSObject created by us (the `InLiteral` part). Prepend
      `DefineKeyedOwn` to it so that it's more aligned with other
      StoreModes - it should be possible to just merge this into the
      more generic StoreMode::kDefineKeyedOwn later.
    - KeyedStoreGenericAssembler::SetProperty ->
      KeyedStoreGenericAssembler::StoreProperty: these helpers are used by
      both define and set operations, distinguished with the StoreMode,
      so rename it to the more generic StoreProperty.
    
    Bug: v8:12548
    Change-Id: Iccef673c1dc707bbdbf010f02f7db1e9ec32b3e4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557690Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#79694}
    cf5ce194
ic.cc 135 KB