MIPS: Minor cleanup change to arguments slots constants.
This is the bleeding_edge port of our crankshaft commit 41cab38. BUG= TEST= Review URL: http://codereview.chromium.org/7834017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
29bb1f8d62
commit
63bbe11e6a
@ -3538,7 +3538,7 @@ void CEntryStub::GenerateCore(MacroAssembler* masm,
|
||||
const int kNumInstructionsToJump = 6;
|
||||
masm->Addu(ra, ra, kNumInstructionsToJump * kPointerSize);
|
||||
masm->sw(ra, MemOperand(sp)); // This spot was reserved in EnterExitFrame.
|
||||
masm->Subu(sp, sp, StandardFrameConstants::kCArgsSlotsSize);
|
||||
masm->Subu(sp, sp, kCArgsSlotsSize);
|
||||
// Stack is still aligned.
|
||||
|
||||
// Call the C routine.
|
||||
@ -3551,7 +3551,7 @@ void CEntryStub::GenerateCore(MacroAssembler* masm,
|
||||
}
|
||||
|
||||
// Restore stack (remove arg slots).
|
||||
__ Addu(sp, sp, StandardFrameConstants::kCArgsSlotsSize);
|
||||
__ Addu(sp, sp, kCArgsSlotsSize);
|
||||
|
||||
if (always_allocate) {
|
||||
// It's okay to clobber a2 and a3 here. v0 & v1 contain result.
|
||||
@ -3707,8 +3707,7 @@ void JSEntryStub::GenerateBody(MacroAssembler* masm, bool is_construct) {
|
||||
offset_to_argv += kNumCalleeSavedFPU * kDoubleSize;
|
||||
}
|
||||
|
||||
__ lw(s0, MemOperand(sp, offset_to_argv +
|
||||
StandardFrameConstants::kCArgsSlotsSize));
|
||||
__ lw(s0, MemOperand(sp, offset_to_argv + kCArgsSlotsSize));
|
||||
|
||||
// We build an EntryFrame.
|
||||
__ li(t3, Operand(-1)); // Push a bad frame pointer to fail if it is used.
|
||||
|
@ -743,11 +743,9 @@ class Instruction {
|
||||
// -----------------------------------------------------------------------------
|
||||
// MIPS assembly various constants.
|
||||
|
||||
|
||||
static const int kArgsSlotsSize = 4 * Instruction::kInstrSize;
|
||||
static const int kArgsSlotsNum = 4;
|
||||
// C/C++ argument slots size.
|
||||
static const int kCArgsSlotsSize = 4 * Instruction::kInstrSize;
|
||||
static const int kCArgSlotCount = 4;
|
||||
static const int kCArgsSlotsSize = kCArgSlotCount * Instruction::kInstrSize;
|
||||
// JS argument slots size.
|
||||
static const int kJSArgsSlotsSize = 0 * Instruction::kInstrSize;
|
||||
// Assembly builtins argument slots size.
|
||||
|
@ -194,9 +194,6 @@ class StandardFrameConstants : public AllStatic {
|
||||
static const int kRArgsSlotsSize = 4 * kPointerSize;
|
||||
static const int kRegularArgsSlotsSize = kRArgsSlotsSize;
|
||||
|
||||
// C/C++ argument slots size.
|
||||
static const int kCArgSlotCount = 4;
|
||||
static const int kCArgsSlotsSize = kCArgSlotCount * kPointerSize;
|
||||
// JS argument slots size.
|
||||
static const int kJSArgsSlotsSize = 0 * kPointerSize;
|
||||
// Assembly builtins argument slots size.
|
||||
|
@ -4213,11 +4213,9 @@ void MacroAssembler::PrepareCallCFunction(int num_arguments, Register scratch) {
|
||||
// mips, even though those argument slots are not normally used.
|
||||
// Remaining arguments are pushed on the stack, above (higher address than)
|
||||
// the argument slots.
|
||||
ASSERT(StandardFrameConstants::kCArgsSlotsSize % kPointerSize == 0);
|
||||
int stack_passed_arguments = ((num_arguments <= kRegisterPassedArguments) ?
|
||||
0 : num_arguments - kRegisterPassedArguments) +
|
||||
(StandardFrameConstants::kCArgsSlotsSize /
|
||||
kPointerSize);
|
||||
kCArgSlotCount;
|
||||
if (frame_alignment > kPointerSize) {
|
||||
// Make stack end at alignment and make room for num_arguments - 4 words
|
||||
// and the original value of sp.
|
||||
@ -4289,11 +4287,9 @@ void MacroAssembler::CallCFunctionHelper(Register function,
|
||||
|
||||
Call(function);
|
||||
|
||||
ASSERT(StandardFrameConstants::kCArgsSlotsSize % kPointerSize == 0);
|
||||
int stack_passed_arguments = ((num_arguments <= kRegisterPassedArguments) ?
|
||||
0 : num_arguments - kRegisterPassedArguments) +
|
||||
(StandardFrameConstants::kCArgsSlotsSize /
|
||||
kPointerSize);
|
||||
kCArgSlotCount;
|
||||
|
||||
if (OS::ActivationFrameAlignment() > kPointerSize) {
|
||||
lw(sp, MemOperand(sp, stack_passed_arguments * kPointerSize));
|
||||
|
@ -1203,10 +1203,9 @@ static inline MemOperand FieldMemOperand(Register object, int offset) {
|
||||
// Generate a MemOperand for storing arguments 5..N on the stack
|
||||
// when calling CallCFunction().
|
||||
static inline MemOperand CFunctionArgumentOperand(int index) {
|
||||
ASSERT(index > StandardFrameConstants::kCArgSlotCount);
|
||||
ASSERT(index > kCArgSlotCount);
|
||||
// Argument 5 takes the slot just past the four Arg-slots.
|
||||
int offset =
|
||||
(index - 5) * kPointerSize + StandardFrameConstants::kCArgsSlotsSize;
|
||||
int offset = (index - 5) * kPointerSize + kCArgsSlotsSize;
|
||||
return MemOperand(sp, offset);
|
||||
}
|
||||
|
||||
|
@ -2716,7 +2716,7 @@ int32_t Simulator::Call(byte* entry, int argument_count, ...) {
|
||||
// Store remaining arguments on stack, from low to high memory.
|
||||
intptr_t* stack_argument = reinterpret_cast<intptr_t*>(entry_stack);
|
||||
for (int i = 4; i < argument_count; i++) {
|
||||
stack_argument[i - 4 + kArgsSlotsNum] = va_arg(parameters, int32_t);
|
||||
stack_argument[i - 4 + kCArgSlotCount] = va_arg(parameters, int32_t);
|
||||
}
|
||||
va_end(parameters);
|
||||
set_register(sp, entry_stack);
|
||||
|
Loading…
Reference in New Issue
Block a user