Reviewers: mtbrandyberry, Sven Panne, Yang,

Message:
Port to PPC

Description:
PPC: Remove kind field from StackHandler.

Port 15f8213809a57c2a163b500a732c9ffe5160a41a

Original commit message:
This relands commit 96f79568a926966ebcf0685bf9adc947f4e1fbff.

This makes the Isolate::Throw logic not depend on a prediction of
whether an exception is caught or uncaught. Such a prediction is
inherently undecidable because a finally block can decide between
consuming or re-throwing an exception depending on arbitray control
flow.

There still is a conservative prediction mechanism in place that
components like the debugger or tracing can use for reporting.

With this change we can get rid of the StackHandler::kind field, a
pre-requisite to do table-based lookups of exception handlers.

[email protected], [email protected], [email protected]

BUG=

Please review this at https://codereview.chromium.org/1016333002/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+2, -5 lines):
  M src/ppc/macro-assembler-ppc.cc


Index: src/ppc/macro-assembler-ppc.cc
diff --git a/src/ppc/macro-assembler-ppc.cc b/src/ppc/macro-assembler-ppc.cc
index 31b91654c4168ab23678fa93d2df9c57125fda29..c0793634d93b3036c2fb3f6c1df985ee83573955 100644
--- a/src/ppc/macro-assembler-ppc.cc
+++ b/src/ppc/macro-assembler-ppc.cc
@@ -1097,7 +1097,7 @@ void MacroAssembler::PushTryHandler(StackHandler::Kind kind, // For the JSEntry handler, we must preserve r1-r7, r0,r8-r12 are available.
   // We want the stack to look like
   // sp -> NextOffset
-  //       state
+  //       index
   //       context

   // Link the current handler as the next handler.
@@ -1107,10 +1107,7 @@ void MacroAssembler::PushTryHandler(StackHandler::Kind kind,
   // Set this new handler as the current one.
   StoreP(sp, MemOperand(r8));

-  unsigned state = StackHandler::IndexField::encode(handler_index) |
-                   StackHandler::KindField::encode(kind);
-  LoadIntLiteral(r8, state);
-
+  mov(r8, Operand(handler_index));
   if (kind == StackHandler::JS_ENTRY) {
     LoadSmiLiteral(cp, Smi::FromInt(0));  // Indicates no context.
   }


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to