dfc30afd459e3b3c9d1af1bc5d08d50df4e6792e |
|
25-Jan-2018 |
Alexey Frunze <Alexey.Frunze@mips.com> |
MIPS: Clean up InstanceOf/CheckCast. This is a MIPS-specific follow-up to https://android-review.googlesource.com/567637 Test: booted MIPS32R2 in QEMU Test: booted MIPS64R6 in QEMU Test: ./run-test --optimizing 603-checker-instanceof Change-Id: Ic5312d98e51aeff11c9f7371be394d5cad319bec
|
8758454d380a2b0de1f4a99e9623cfac5460ccdf |
|
12-Dec-2017 |
Vladimir Marko <vmarko@google.com> |
Clean up InstanceOf/CheckCast. Avoid read barriers for boot image class InstanceOf. Boot image classes are non-moveable, so comparing them against from-space and to-space reference yields the same result. Change the notion of a "fatal" type check slow path to mean that the runtime call shall not return by normal path, i.e. "fatal" now includes certainly throwing in a try-block. This avoids unnecessary code to restore registers and jump back. For boot image classes the CheckCast comparisons do not need read barriers (for the same reason as for InstanceOf), so we shall not have any false negatives and can treat the check's slow paths as final in the same cases as in non-CC configs. Boot image size for aosp_taimen-userdebug in AOSP master: - before: arm boot*.oat: 37075460 arm64 boot*.oat: 43431768 - after: arm boot*.oat: 36894292 (-177KiB, -0.5%) arm64 boot*.oat: 43201256 (-225KiB, -0.5%) Also remove some obsolete helpers from CodeGenerator. Test: Additional test in 603-checker-instanceof. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: Pixel 2 XL boots. Test: testrunner.py --target --optimizing Bug: 12687968 Change-Id: Ib1381084e46a10e70320dcc618f0502ad725f0b8
|
e1dfa0c120c8aaa3794d9712e37231b4295d7c46 |
|
01-Jun-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix a bug in reference type propagation. The upper bound of a bound type is always exact, so we should not use it for setting the type of the bound type. bug:28730986 (cherry picked from commit a90d489ab101891bbac7276b8748125e6b4fa0c2) Change-Id: Ia3e9f88a274730be39e5c9b147204eec2a145de2
|
a90d489ab101891bbac7276b8748125e6b4fa0c2 |
|
01-Jun-2016 |
Nicolas Geoffray <ngeoffray@google.com> |
Fix a bug in reference type propagation. The upper bound of a bound type is always exact, so we should not use it for setting the type of the bound type. bug:28730986 Change-Id: I214b8c3493838c22805555f88e8dc87cf9221376
|