diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2014-06-03 01:23:27 +0100 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2014-06-03 01:23:27 +0100 |
commit | 6ae6d126ba3b50d16b6ba61f39c3982a34a49eec (patch) | |
tree | f588c43e574217cd38777f8282314d250d9dbc6a /compiler/dex/quick/gen_invoke.cc | |
parent | 1ca6a11a61b57edea370adf4454876ccf869d92e (diff) | |
parent | d5e4ac0abdeeb4dc13bd05a40bf496299a787536 (diff) | |
download | android_art-6ae6d126ba3b50d16b6ba61f39c3982a34a49eec.tar.gz android_art-6ae6d126ba3b50d16b6ba61f39c3982a34a49eec.tar.bz2 android_art-6ae6d126ba3b50d16b6ba61f39c3982a34a49eec.zip |
Merge tag 'android-4.4.3_r1' into HEADcm-11.0-XNPH44S-bacon-5fa8c79c0bcm-11.0-XNPH33R-bacon-3628510d76cm-11.0-XNPH30O-bacon-4f280f505acm-11.0-XNPH05Q-tomato-9828f8e9cccm-11.0-XNPH05Q-bacon-5229c4ef56stable/cm-11.0-XNG3Cstable/cm-11.0-XNG2Sstable/cm-11.0-XNF9Xstable/cm-11.0-XNF8Ystable/cm-11.0shipping/cm-11.0cm-11.0
Android 4.4.3 release 1
Diffstat (limited to 'compiler/dex/quick/gen_invoke.cc')
-rw-r--r-- | compiler/dex/quick/gen_invoke.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/compiler/dex/quick/gen_invoke.cc b/compiler/dex/quick/gen_invoke.cc index 2a0a23c7cd..3a39669103 100644 --- a/compiler/dex/quick/gen_invoke.cc +++ b/compiler/dex/quick/gen_invoke.cc @@ -33,7 +33,7 @@ namespace art { /* * To save scheduling time, helper calls are broken into two parts: generation of - * the helper target address, and the actuall call to the helper. Because x86 + * the helper target address, and the actual call to the helper. Because x86 * has a memory call operation, part 1 is a NOP for x86. For other targets, * load arguments between the two parts. */ @@ -42,12 +42,13 @@ int Mir2Lir::CallHelperSetup(ThreadOffset helper_offset) { } /* NOTE: if r_tgt is a temp, it will be freed following use */ -LIR* Mir2Lir::CallHelper(int r_tgt, ThreadOffset helper_offset, bool safepoint_pc) { +LIR* Mir2Lir::CallHelper(int r_tgt, ThreadOffset helper_offset, bool safepoint_pc, bool use_link) { LIR* call_inst; + OpKind op = use_link ? kOpBlx : kOpBx; if (cu_->instruction_set == kX86) { - call_inst = OpThreadMem(kOpBlx, helper_offset); + call_inst = OpThreadMem(op, helper_offset); } else { - call_inst = OpReg(kOpBlx, r_tgt); + call_inst = OpReg(op, r_tgt); FreeTemp(r_tgt); } if (safepoint_pc) { |