From 811caee0e0acf8bf71dbd8dafb5e5df800784020 Mon Sep 17 00:00:00 2001 From: "balazs.kilvady" Date: Thu, 12 Mar 2015 06:54:31 -0700 Subject: [PATCH] MIPS: Simplify pending message object handling. Port d4696c484142c601cbd691ae80164043785a3af7 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. BUG= Review URL: https://codereview.chromium.org/1004623002 Cr-Commit-Position: refs/heads/master@{#27158} --- src/mips/full-codegen-mips.cc | 14 -------------- src/mips64/full-codegen-mips64.cc | 14 -------------- 2 files changed, 28 deletions(-) diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc index 41fd718a5d..4b6091c0a1 100644 --- a/src/mips/full-codegen-mips.cc +++ b/src/mips/full-codegen-mips.cc @@ -5329,26 +5329,12 @@ void FullCodeGenerator::EnterFinallyBlock() { __ li(at, Operand(pending_message_obj)); __ lw(a1, MemOperand(at)); __ push(a1); - - ExternalReference has_pending_message = - ExternalReference::address_of_has_pending_message(isolate()); - __ li(at, Operand(has_pending_message)); - __ lw(a1, MemOperand(at)); - __ SmiTag(a1); - __ push(a1); } void FullCodeGenerator::ExitFinallyBlock() { DCHECK(!result_register().is(a1)); // Restore pending message from stack. - __ pop(a1); - __ SmiUntag(a1); - ExternalReference has_pending_message = - ExternalReference::address_of_has_pending_message(isolate()); - __ li(at, Operand(has_pending_message)); - __ sw(a1, MemOperand(at)); - __ pop(a1); ExternalReference pending_message_obj = ExternalReference::address_of_pending_message_obj(isolate()); diff --git a/src/mips64/full-codegen-mips64.cc b/src/mips64/full-codegen-mips64.cc index f128a400ba..cad5020dcb 100644 --- a/src/mips64/full-codegen-mips64.cc +++ b/src/mips64/full-codegen-mips64.cc @@ -5331,26 +5331,12 @@ void FullCodeGenerator::EnterFinallyBlock() { __ li(at, Operand(pending_message_obj)); __ ld(a1, MemOperand(at)); __ push(a1); - - ExternalReference has_pending_message = - ExternalReference::address_of_has_pending_message(isolate()); - __ li(at, Operand(has_pending_message)); - __ ld(a1, MemOperand(at)); - __ SmiTag(a1); - __ push(a1); } void FullCodeGenerator::ExitFinallyBlock() { DCHECK(!result_register().is(a1)); // Restore pending message from stack. - __ pop(a1); - __ SmiUntag(a1); - ExternalReference has_pending_message = - ExternalReference::address_of_has_pending_message(isolate()); - __ li(at, Operand(has_pending_message)); - __ sd(a1, MemOperand(at)); - __ pop(a1); ExternalReference pending_message_obj = ExternalReference::address_of_pending_message_obj(isolate());