summaryrefslogtreecommitdiff
path: root/compiler/dex/quick/gen_common.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2014-11-11 12:10:56 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-11-11 12:10:57 +0000
commitdbc30bc0e1f0dfcd09cb45ecf883dae51aaf853b (patch)
treecef3ac836e99f89b584a0b1174cb578074ccb1fa /compiler/dex/quick/gen_common.cc
parent9e68483dd4e01e5d2d1c47ce9dd437d31aeaf2fd (diff)
parent5c2555407d823356fb55ea3ffdf281aac00a583e (diff)
Merge "Use correct register class for refs"
Diffstat (limited to 'compiler/dex/quick/gen_common.cc')
-rw-r--r--compiler/dex/quick/gen_common.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/dex/quick/gen_common.cc b/compiler/dex/quick/gen_common.cc
index 061ee0747a..9cf601bc37 100644
--- a/compiler/dex/quick/gen_common.cc
+++ b/compiler/dex/quick/gen_common.cc
@@ -481,7 +481,7 @@ void Mir2Lir::GenFilledNewArray(CallInfo* info) {
} else if (!info->is_range) {
// TUNING: interleave
for (int i = 0; i < elems; i++) {
- RegLocation rl_arg = LoadValue(info->args[i], kCoreReg);
+ RegLocation rl_arg = LoadValue(info->args[i], info->args[i].ref ? kRefReg : kCoreReg);
Store32Disp(ref_reg,
mirror::Array::DataOffset(component_size).Int32Value() + i * 4, rl_arg.reg);
// If the LoadValue caused a temp to be allocated, free it