Index: src/frames-inl.h |
diff --git a/src/frames-inl.h b/src/frames-inl.h |
index 7901a5e591c85f8d85431d7dbbecd426e64ab08d..1228ccf18df4c4016884f4d44d7479c0eaf3cbd6 100644 |
--- a/src/frames-inl.h |
+++ b/src/frames-inl.h |
@@ -98,6 +98,12 @@ inline StackHandler::Kind StackHandler::kind() const { |
} |
+inline unsigned StackHandler::index() const { |
+ const int offset = StackHandlerConstants::kStateOffset; |
+ return IndexField::decode(Memory::unsigned_at(address() + offset)); |
+} |
+ |
+ |
inline Object** StackHandler::context_address() const { |
const int offset = StackHandlerConstants::kContextOffset; |
return reinterpret_cast<Object**>(address() + offset); |
@@ -216,8 +222,9 @@ Object* JavaScriptFrame::GetParameter(int index) const { |
inline Address JavaScriptFrame::GetOperandSlot(int index) const { |
Address base = fp() + JavaScriptFrameConstants::kLocal0Offset; |
ASSERT(IsAddressAligned(base, kPointerSize)); |
- ASSERT(type() == JAVA_SCRIPT); |
- ASSERT(index < ComputeOperandsCount()); |
+ ASSERT_EQ(type(), JAVA_SCRIPT); |
+ ASSERT_LT(index, ComputeOperandsCount()); |
+ ASSERT_LE(0, index); |
// Operand stack grows down. |
return base - index * kPointerSize; |
} |