Commit 967c1a4e authored by ahaas's avatar ahaas Committed by Commit bot

[wasm] For trap-if, always record a reference map on ia32.

The reference map was only recorded when a frame was entered for the
runtime call, but it is also needed when the frame already exists.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2655243002
Cr-Commit-Position: refs/heads/master@{#42687}
parent 647d7b6c
......@@ -1697,10 +1697,6 @@ void CodeGenerator::AssembleArchTrap(Instruction* instr,
}
GenerateCallToTrap(trap_id);
if (frame_elided_) {
ReferenceMap* reference_map =
new (gen_->zone()) ReferenceMap(gen_->zone());
gen_->RecordSafepoint(reference_map, Safepoint::kSimple, 0,
Safepoint::kNoLazyDeopt);
__ set_has_frame(old_has_frame);
}
if (FLAG_debug_code) {
......@@ -1722,6 +1718,10 @@ void CodeGenerator::AssembleArchTrap(Instruction* instr,
gen_->AssembleSourcePosition(instr_);
__ CallRuntime(trap_id);
}
ReferenceMap* reference_map =
new (gen_->zone()) ReferenceMap(gen_->zone());
gen_->RecordSafepoint(reference_map, Safepoint::kSimple, 0,
Safepoint::kNoLazyDeopt);
}
bool frame_elided_;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment