Index: src/frames.cc |
diff --git a/src/frames.cc b/src/frames.cc |
index 83b8d83c74c9f090eb5e3282dfb81ae44b31222e..fd996e16bb205630d97301c58e35418459dcba0d 100644 |
--- a/src/frames.cc |
+++ b/src/frames.cc |
@@ -879,6 +879,20 @@ Code* StubFrame::unchecked_code() const { |
return static_cast<Code*>(isolate()->FindCodeObject(pc())); |
} |
+int StubFrame::LookupExceptionHandlerInTable( |
caitp
2016/08/19 14:30:09
seems to be unnecessary, only seemed to come up du
|
+ int* stack_slots, HandlerTable::CatchPrediction* prediction) { |
+ DCHECK_NULL(prediction); |
+ Code* code = LookupCode(); |
+ |
+ // Only support catch handlers in TFJ builtins. |
+ if (!code->is_turbofanned()) return -1; |
+ if (code->kind() != Code::BUILTIN) return -1; |
+ |
+ HandlerTable* table = HandlerTable::cast(code->handler_table()); |
+ int pc_offset = static_cast<int>(pc() - code->entry()); |
+ if (stack_slots) *stack_slots = code->stack_slots(); |
+ return table->LookupReturn(pc_offset); |
+} |
Address StubFrame::GetCallerStackPointer() const { |
return fp() + ExitFrameConstants::kCallerSPOffset; |