diff options
| author | 2016-12-15 17:56:27 +0000 | |
|---|---|---|
| committer | 2016-12-19 09:31:04 +0000 | |
| commit | 8f840f805579896809f6a17705402a85793ebce9 (patch) | |
| tree | 82426258ac64a453b869896f0ced39b038d9e1f8 /compiler/utils/assembler_thumb_test.cc | |
| parent | b73e659be3fb6474ff3a993cd25ecbfa1cc4715c (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.cc | 5 |
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); |