• Benedikt Meurer's avatar
    [turbofan] Introduce dedicated NewConsString operator. · c061734f
    Benedikt Meurer authored
    This is in preparation of adding a dedicated StringLength operator that
    loads the string length. This way operations on strings don't sit in the
    effect chain anymore until the EffectControlLinearizer, which wires them.
    
    The NewConsString semantics could still be better, i.e. it could try to
    figure out the proper map instead of going for the CONS_STRING_TYPE
    always. But this change is meant to be just about pushing the logic down
    to the EffectControlLinearizer, which we didn't have initially when the
    ConsString handling was done.
    
    This also allows us to remove the handling of CONS_STRING_TYPE from the
    Deoptimizer, since the escape analysis no longer sees cons strings.
    
    Bug: v8:5269, v8:6936, v8:7109, v8:7137
    Change-Id: If6c4a6d7cf63a3a3f7a34a920c8e50a94dfa67fa
    Reviewed-on: https://chromium-review.googlesource.com/796413
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49729}
    c061734f
deoptimizer.cc 142 KB