• Adithya Srinivasan's avatar
    Use DoublyLinkedList instead of ListHashSet in DocumentState · c42a6705
    Adithya Srinivasan authored
    The only operations carried out on form_controls_ are insertions, removals
    and iterating through the entire list. Insertion and removal can be done
    faster with a DoublyLinkedList.
    
    Since the nodes for the DoublyLinkedList are Oilpan objects, this CL
    introduces HeapDoublyLinkedList that uses Member for the head and tail
    pointers, and traces the pointers.
    
    This improves the performance of HTMLInputElement::InsertedInto and
    
    HTMLInputElement: :RemovedFrom by ~15%.
    Change-Id: Ic6deac03e63cf0583ced9de9caccd1b533c6b88d
    Reviewed-on: https://chromium-review.googlesource.com/803944
    Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
    Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#521732}
    c42a6705
HeapTerminatedArray.h 1.94 KB