• Jaroslav Sevcik's avatar
    [turbofan] Optimistic slack tracking completion. · bba36e19
    Jaroslav Sevcik authored
    The idea is to compute the slack before compilation start. Then
    we check that the slack tracking decision is the same at the end
    of compilation. If it is, we just commit to that slack tracking
    (by calling function->CompleteInobjectSlackTrackingIfActive).
    If the slack tracking decision changed, we will retry the compilation.
    
    This has several pieces:
    - Expose computation of slack and instance size from the object model.
    - Add compilation dependency on the slack tracking result.
    - Change create lowering to use the dependency.
    - Fix array creation to use the slack tracking result's instance
      size.
    
    Bug: v8:7790
    Change-Id: Id975300cfd6c1786733cd7cbf55cc507c05738b2
    Reviewed-on: https://chromium-review.googlesource.com/1164957Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54982}
    bba36e19
js-heap-broker.cc 33.9 KB