Move vldr in DoLoadKeyedFastDoubleElement before the hole check

This reschedules instructions to better absorb VFP load latency.
BUG=none
TEST=none

Review URL: https://codereview.chromium.org/11363086
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
danno@chromium.org 2012-11-07 21:38:46 +00:00
parent 17194b087e
commit 63ada1da1b

View File

@ -3040,13 +3040,12 @@ void LCodeGen::DoLoadKeyedFixedDoubleArray(LLoadKeyed* instr) {
(instr->additional_index() << element_size_shift))); (instr->additional_index() << element_size_shift)));
} }
__ vldr(result, elements, 0);
if (instr->hydrogen()->RequiresHoleCheck()) { if (instr->hydrogen()->RequiresHoleCheck()) {
__ ldr(scratch, MemOperand(elements, sizeof(kHoleNanLower32))); __ ldr(scratch, MemOperand(elements, sizeof(kHoleNanLower32)));
__ cmp(scratch, Operand(kHoleNanUpper32)); __ cmp(scratch, Operand(kHoleNanUpper32));
DeoptimizeIf(eq, instr->environment()); DeoptimizeIf(eq, instr->environment());
} }
__ vldr(result, elements, 0);
} }