Reviewers: Weiliang,
Message:
PTAL
Description:
X87: Remove kind field from StackHandler.
port 15f8213809a57c2a163b500a732c9ffe5160a41a (r27263)
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.
BUG=
Please review this at https://codereview.chromium.org/1027413002/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+3, -5 lines):
M src/x87/macro-assembler-x87.cc
Index: src/x87/macro-assembler-x87.cc
diff --git a/src/x87/macro-assembler-x87.cc b/src/x87/macro-assembler-x87.cc
index
1ad43895c08cd78ce0706997385ad0b639adf421..fc067348e4626ee2e6dd5b2f19a00c03e96af995
100644
--- a/src/x87/macro-assembler-x87.cc
+++ b/src/x87/macro-assembler-x87.cc
@@ -1002,11 +1002,9 @@ void
MacroAssembler::PushTryHandler(StackHandler::Kind kind,
} else {
push(esi);
}
- // Push the state.
- unsigned state =
- StackHandler::IndexField::encode(handler_index) |
- StackHandler::KindField::encode(kind);
- push(Immediate(state));
+
+ // Push the index.
+ push(Immediate(handler_index));
// Link the current handler as the next handler.
ExternalReference handler_address(Isolate::kHandlerAddress, isolate());
--
--
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.