| Index: src/frames-inl.h
|
| diff --git a/src/frames-inl.h b/src/frames-inl.h
|
| index 27a526cef1086e039e877b9d6626ce2dc33e5515..cae6cdd88598f8ca55765846f9c3b54befcc14e7 100644
|
| --- a/src/frames-inl.h
|
| +++ b/src/frames-inl.h
|
| @@ -59,6 +59,17 @@ inline StackHandler* StackHandler::next() const {
|
| }
|
|
|
|
|
| +inline Code* StackHandler::code() const {
|
| + return Code::cast(*code_address());
|
| +}
|
| +
|
| +
|
| +inline int StackHandler::index() const {
|
| + const int offset = StackHandlerConstants::kStateOffset;
|
| + return IndexField::decode(Memory::unsigned_at(address() + offset));
|
| +}
|
| +
|
| +
|
| inline bool StackHandler::includes(Address address) const {
|
| Address start = this->address();
|
| Address end = start + StackHandlerConstants::kSize;
|
| @@ -83,7 +94,7 @@ inline bool StackHandler::is_js_entry() const {
|
|
|
|
|
| inline bool StackHandler::is_catch() const {
|
| - return kind() == CATCH;
|
| + return kind() == CATCH || kind() == OPTIMIZED_CATCH;
|
| }
|
|
|
|
|
| @@ -92,6 +103,11 @@ inline bool StackHandler::is_finally() const {
|
| }
|
|
|
|
|
| +inline bool StackHandler::is_optimized() const {
|
| + return (kind() & kIsOptimizedMask) != 0;
|
| +}
|
| +
|
| +
|
| inline StackHandler::Kind StackHandler::kind() const {
|
| const int offset = StackHandlerConstants::kStateOffset;
|
| return KindField::decode(Memory::unsigned_at(address() + offset));
|
|
|