Fill resolved static fields during class initialization
Previously everytime we resolved static fields we linear searched the class to find the field with the specified field id. Now we eagerly set these fields in the dex cache when we initialize classes. FB launch timings before: WaitTime: 2903 WaitTime: 2953 WaitTime: 2918 WaitTime: 2940 WaitTime: 2879 WaitTime: 2792 Timings after: WaitTime: 2699 WaitTime: 2791 WaitTime: 2653 WaitTime: 2929 WaitTime: 2651 WaitTime: 2971 Perf before: 2.94% art::mirror::Class::FindDeclaredStaticField(art::mirror::DexCache const*, unsigned int) After: 0.00% art::mirror::Class::FindDeclaredStaticField(art::mirror::DexCache const*, unsigned int) Bug: 18054905 Bug: 16828525 Change-Id: I33255f85d10c29cae085584880196c45ac0ea230
Loading
Please sign in to comment