• Georg Neis's avatar
    [turbofan] Unify code that determines a JSCreate's map · d9221717
    Georg Neis authored
    There were four places where we did essentially the same steps in
    order to extract the initial map for inlining a JSCreate operation.
    This CL creates a function on NodeProperties for this task.
    
    As a side effect, this fixes a bug in ReduceJSCreateArray, where
    has_initial_map could get called when it wasn't permissible to do so.
    
    Notes: For simplicity, in one or two places where we used to get the
    target/newtarget constants from the types we now get them from
    HeapConstant nodes.
    
    Cosmetic change: rename "receiver_map" to the more accurate
    "root_map" in JSNativeContextSpecialization::ExtractReceiverMaps.
    
    Bug: chromium:939316
    Change-Id: I8fd9eb50993be3d839ab9b18eeea28184c53eabf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528435
    Commit-Queue: Georg Neis <neis@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60301}
    d9221717
js-create-lowering.cc 79.8 KB