• Georg Neis's avatar
    [turbofan] Various serializer/broker improvements · 29585a06
    Georg Neis authored
    They are all somewhat entangled, sorry for the big CL.
    
    - Brokerize remaining feedback vector slots.
    - Introduce Hints::SingleConstant helper.
    - Introduce SerializationPolicy enum.
    - Eliminate use of nullptr for megamorphic load/store ic feedback.
      Instead use the corresponding ProcessedFeedback with an empty list
      of maps or the like. new class MegamorphicFeedback.
    - Separate processing of feedback from serialization. This eliminates
      code duplication.
    - Be very careful when clearing hints not to overwrite hints that are
      being processed.
    - Move AccessInfos out of NamedAccessFeedback. Always store them in
      property_access_infos_ map on broker. (This was actually unused
      before, somewhat by mistake.)
    - Support map inference in concurrent inlining. Rewrite
      ElementAccessFeedback such that we can refine it with the set of
      inferred maps.
    
    TBR: mvstanton@chromium.org
    Change-Id: I05e9eb250bdffc6dff29db01742550a86a41cb31
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1752853
    Commit-Queue: Georg Neis <neis@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63232}
    29585a06
js-type-hint-lowering.cc 20 KB