ART: Change direct-method overlap detection

Avoid allocations in a hash set when trying to ensure that there are no
method-ids denoting both direct and virtual methods. Instead use a copy
of the item iterator, as the methods are guaranteed to be sorted.

Saves 1% of instructions for a compiler-filter=extract compact-dex-level=none
compile:

                 Before             After
Small app      545,345,563       540,654,732
Large app    8,040,713,801     7,956,413,657

Bug: 78568168
Test: m test-art-host
Change-Id: Ia2a0fbb82dad5d9fa781cbab46fe543d1dd0645e
3 files changed