Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Unified Diff: src/arm/code-stubs-arm.cc

Issue 131823004: DoubleToIStub can't use ip on armv6, because the ubfx impl will clobber it (Closed) Base URL: git://github.com/v8/v8.git@master
Patch Set: Push/Pop in two steps Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/arm/code-stubs-arm.cc
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
index 4e7b248cca41aeec0dbd8a8162638950fd239f5e..06882d68cc4dc8081d3070936bfa40af7b751845 100644
--- a/src/arm/code-stubs-arm.cc
+++ b/src/arm/code-stubs-arm.cc
@@ -608,14 +608,14 @@ void DoubleToIStub::Generate(MacroAssembler* masm) {
// Account for saved regs if input is sp.
if (input_reg.is(sp)) double_offset += 2 * kPointerSize;
- // Immediate values for this stub fit in instructions, so it's safe to use ip.
- Register scratch = ip;
+ Register scratch = GetRegisterThatIsNotOneOf(input_reg, result_reg);
Register scratch_low =
GetRegisterThatIsNotOneOf(input_reg, result_reg, scratch);
Register scratch_high =
GetRegisterThatIsNotOneOf(input_reg, result_reg, scratch, scratch_low);
LowDwVfpRegister double_scratch = kScratchDoubleReg;
+ __ Push(scratch);
__ Push(scratch_high, scratch_low);
rmcilroy 2014/01/14 14:23:30 Since Benedikt has fixed the Push/Pop typo, please
Mostyn Bramley-Moore 2014/01/14 14:30:58 Done. I have verified that this works on master n
if (!skip_fastpath()) {
@@ -700,6 +700,7 @@ void DoubleToIStub::Generate(MacroAssembler* masm) {
__ bind(&done);
__ Pop(scratch_high, scratch_low);
+ __ Pop(scratch);
__ Ret();
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698