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:
parent
7c1b01154a
commit
8b749bf9ec
@ -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_);
|
||||||
|
@ -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_);
|
||||||
|
Loading…
Reference in New Issue
Block a user