History log of /art/test/603-checker-instanceof/src/Main.java
Revision Date Author Comments
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