MIPS: [wasm] Allow traps in tests with many parameters in cctests

Port for: https://chromium-review.googlesource.com/c/v8/v8/+/684017

TEST=cctest/test-run-wasm-64/RunWasmCompiled_Regression_6858
BUG=

Change-Id: Ib9640853ea15d73967683c1315e6b54b5b6cc3be
Reviewed-on: https://chromium-review.googlesource.com/689794
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
Reviewed-by: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
Cr-Commit-Position: refs/heads/master@{#48228}
This commit is contained in:
Ilija Pavlovic 2017-09-28 10:57:02 +02:00 committed by Commit Bot
parent 7c1b01154a
commit 8b749bf9ec
2 changed files with 7 additions and 0 deletions

View File

@ -3110,6 +3110,9 @@ void CodeGenerator::AssembleArchTrap(Instruction* instr,
tasm()->isolate()), tasm()->isolate()),
0); 0);
__ LeaveFrame(StackFrame::WASM_COMPILED); __ LeaveFrame(StackFrame::WASM_COMPILED);
CallDescriptor* descriptor = gen_->linkage()->GetIncomingDescriptor();
int pop_count = static_cast<int>(descriptor->StackParameterCount());
__ Drop(pop_count);
__ Ret(); __ Ret();
} else { } else {
gen_->AssembleSourcePosition(instr_); gen_->AssembleSourcePosition(instr_);

View File

@ -3402,6 +3402,10 @@ void CodeGenerator::AssembleArchTrap(Instruction* instr,
tasm()->isolate()), tasm()->isolate()),
0); 0);
__ LeaveFrame(StackFrame::WASM_COMPILED); __ LeaveFrame(StackFrame::WASM_COMPILED);
CallDescriptor* descriptor = gen_->linkage()->GetIncomingDescriptor();
int pop_count = static_cast<int>(descriptor->StackParameterCount());
pop_count += (pop_count & 1); // align
__ Drop(pop_count);
__ Ret(); __ Ret();
} else { } else {
gen_->AssembleSourcePosition(instr_); gen_->AssembleSourcePosition(instr_);