Revision: 18879
Author: [email protected]
Date: Tue Jan 28 13:29:19 2014 UTC
Log: SaveCallerSaveRegsisters needs to save all caller-save registers
While the macro assembler uses them as scratch registers, we need to
save them when calling out to builtins. In debug mode, the simulator
will clobber all registers after a call to a builtin which makes
regress-119926.js crash.
BUG=none
[email protected], [email protected]
LOG=n
Review URL: https://codereview.chromium.org/148273008
http://code.google.com/p/v8/source/detail?r=18879
Modified:
/branches/experimental/a64/src/a64/code-stubs-a64.h
=======================================
--- /branches/experimental/a64/src/a64/code-stubs-a64.h Mon Jan 27 19:23:17
2014 UTC
+++ /branches/experimental/a64/src/a64/code-stubs-a64.h Tue Jan 28 13:29:19
2014 UTC
@@ -304,7 +304,7 @@
saved_regs_(kCallerSaved) {
ASSERT(!AreAliased(scratch, object, address));
- // We would like to requiere more scratch registers for this stub,
+ // We would like to require more scratch registers for this stub,
// but the number of registers comes down to the ones used in
// FullCodeGen::SetVar(), which is architecture independent.
// We allocate 2 extra scratch registers that we'll save on the
stack.
@@ -315,12 +315,10 @@
scratch2_ = Register(pool_available.PopLowestIndex());
// SaveCallerRegisters method needs to save caller saved register,
however
- // we dont bother saving x8, x9, ip0 and ip1 because they are used as
- // scratch registers by the MacroAssembler.
+ // we don't bother saving ip0 and ip1 because they are used as
scratch
+ // registers by the MacroAssembler.
saved_regs_.Remove(ip0);
saved_regs_.Remove(ip1);
- saved_regs_.Remove(x8);
- saved_regs_.Remove(x9);
// The scratch registers will be restored by other means so we don't
need
// to save them with the other caller saved registers.
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.