• Reilly Grant's avatar
    Devirtualize calls made on a mojo::InterfacePtr<T> · 91165cea
    Reilly Grant authored
    This patch devirtualizes calls to interface methods made through a
    mojo::InterfacePtr<T> and mojo::AssociatedInterfacePtr<T> by making
    get() and the -> and . operators return the proxy type directly and
    marking the interface methods on the proxy as final.
    
    The motivation of this change is performance and binary size. The non-
    virtual call sites are slightly smaller but not enough to effect the
    complete binary. Performance should be net-positive but as yet has not
    been accurately measured.
    
    Bug: None
    Change-Id: I463bc32c1989853606d118f57ded5c9dd9f34e2f
    Reviewed-on: https://chromium-review.googlesource.com/747884
    Commit-Queue: Reilly Grant <reillyg@chromium.org>
    Reviewed-by: default avatarYuzhu Shen <yzshen@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#513030}
    91165cea
interface_ptr_state.h 6.59 KB