PPC: Simplify pending message object handling.
Port d4696c4841
Original commit message:
This moves the decision whether to report a message or not to when
the pending exception is propagated instead of trying to preserve the
decision in a ThreadLocalTop field.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/998943003
Cr-Commit-Position: refs/heads/master@{#27150}
R=danno@chromium.org, svenpanne@chromium.org, titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1000963002
Cr-Commit-Position: refs/heads/master@{#27173}
This commit is contained in:
parent
83f157bc18
commit
ae78a9702a
@ -5330,26 +5330,12 @@ void FullCodeGenerator::EnterFinallyBlock() {
|
||||
__ mov(ip, Operand(pending_message_obj));
|
||||
__ LoadP(r4, MemOperand(ip));
|
||||
__ push(r4);
|
||||
|
||||
ExternalReference has_pending_message =
|
||||
ExternalReference::address_of_has_pending_message(isolate());
|
||||
__ mov(ip, Operand(has_pending_message));
|
||||
__ lbz(r4, MemOperand(ip));
|
||||
__ SmiTag(r4);
|
||||
__ push(r4);
|
||||
}
|
||||
|
||||
|
||||
void FullCodeGenerator::ExitFinallyBlock() {
|
||||
DCHECK(!result_register().is(r4));
|
||||
// Restore pending message from stack.
|
||||
__ pop(r4);
|
||||
__ SmiUntag(r4);
|
||||
ExternalReference has_pending_message =
|
||||
ExternalReference::address_of_has_pending_message(isolate());
|
||||
__ mov(ip, Operand(has_pending_message));
|
||||
__ stb(r4, MemOperand(ip));
|
||||
|
||||
__ pop(r4);
|
||||
ExternalReference pending_message_obj =
|
||||
ExternalReference::address_of_pending_message_obj(isolate());
|
||||
|
Loading…
Reference in New Issue
Block a user