summaryrefslogtreecommitdiff
path: root/compiler/utils/assembler_thumb_test.cc
diff options
context:
space:
mode:
author Artem Serov <artem.serov@linaro.org> 2016-12-15 17:56:27 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2016-12-19 09:31:04 +0000
commit8f840f805579896809f6a17705402a85793ebce9 (patch)
tree82426258ac64a453b869896f0ced39b038d9e1f8 /compiler/utils/assembler_thumb_test.cc
parentb73e659be3fb6474ff3a993cd25ecbfa1cc4715c (diff)
ARM: Fix vixl related branch issue in JNI.
Fix VIXL asserts in EncodeLabelFor in JNI macro assembler when label is out of range of 16-bit branch (now a veneer is correctly used). bug:32545704 Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-host Test: ART_USE_VIXL_ARM_BACKEND=true m test-art-target Change-Id: Ie6401394cf364daeaaf107b42275997d2edf5b6d
Diffstat (limited to 'compiler/utils/assembler_thumb_test.cc')
-rw-r--r--compiler/utils/assembler_thumb_test.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/utils/assembler_thumb_test.cc b/compiler/utils/assembler_thumb_test.cc
index 50a1d9fd98..4e9b619979 100644
--- a/compiler/utils/assembler_thumb_test.cc
+++ b/compiler/utils/assembler_thumb_test.cc
@@ -1717,6 +1717,11 @@ TEST_F(ArmVIXLAssemblerTest, VixlJniHelpers) {
__ ExceptionPoll(scratch_register, 0);
+ // Push the target out of range of branch emitted by ExceptionPoll.
+ for (int i = 0; i < 64; i++) {
+ __ Store(FrameOffset(2047), scratch_register, 4);
+ }
+
__ DecreaseFrameSize(4096);
__ DecreaseFrameSize(32);
__ RemoveFrame(frame_size, callee_save_regs);