Index: src/frames-inl.h |
=================================================================== |
--- src/frames-inl.h (revision 9531) |
+++ src/frames-inl.h (working copy) |
@@ -77,6 +77,21 @@ |
} |
+inline bool StackHandler::is_entry() const { |
+ return state() == ENTRY; |
+} |
+ |
+ |
+inline bool StackHandler::is_try_catch() const { |
+ return state() == TRY_CATCH; |
+} |
+ |
+ |
+inline bool StackHandler::is_try_finally() const { |
+ return state() == TRY_FINALLY; |
+} |
+ |
+ |
inline StackHandler::State StackHandler::state() const { |
const int offset = StackHandlerConstants::kStateOffset; |
return static_cast<State>(Memory::int_at(address() + offset)); |
@@ -105,11 +120,36 @@ |
} |
+inline Code* StackFrame::LookupCode() const { |
+ return GetContainingCode(isolate(), pc()); |
+} |
+ |
+ |
inline Code* StackFrame::GetContainingCode(Isolate* isolate, Address pc) { |
- return isolate->pc_to_code_cache()->GetCacheEntry(pc)->code; |
+ return isolate->inner_pointer_to_code_cache()->GetCacheEntry(pc)->code; |
} |
+inline EntryFrame::EntryFrame(StackFrameIterator* iterator) |
+ : StackFrame(iterator) { |
+} |
+ |
+ |
+inline EntryConstructFrame::EntryConstructFrame(StackFrameIterator* iterator) |
+ : EntryFrame(iterator) { |
+} |
+ |
+ |
+inline ExitFrame::ExitFrame(StackFrameIterator* iterator) |
+ : StackFrame(iterator) { |
+} |
+ |
+ |
+inline StandardFrame::StandardFrame(StackFrameIterator* iterator) |
+ : StackFrame(iterator) { |
+} |
+ |
+ |
inline Object* StandardFrame::GetExpression(int index) const { |
return Memory::Object_at(GetExpressionAddress(index)); |
} |
@@ -155,6 +195,11 @@ |
} |
+inline JavaScriptFrame::JavaScriptFrame(StackFrameIterator* iterator) |
+ : StandardFrame(iterator) { |
+} |
+ |
+ |
Address JavaScriptFrame::GetParameterSlot(int index) const { |
int param_count = ComputeParametersCount(); |
ASSERT(-1 <= index && index < param_count); |
@@ -190,6 +235,26 @@ |
} |
+inline OptimizedFrame::OptimizedFrame(StackFrameIterator* iterator) |
+ : JavaScriptFrame(iterator) { |
+} |
+ |
+ |
+inline ArgumentsAdaptorFrame::ArgumentsAdaptorFrame( |
+ StackFrameIterator* iterator) : JavaScriptFrame(iterator) { |
+} |
+ |
+ |
+inline InternalFrame::InternalFrame(StackFrameIterator* iterator) |
+ : StandardFrame(iterator) { |
+} |
+ |
+ |
+inline ConstructFrame::ConstructFrame(StackFrameIterator* iterator) |
+ : InternalFrame(iterator) { |
+} |
+ |
+ |
template<typename Iterator> |
inline JavaScriptFrameIteratorTemp<Iterator>::JavaScriptFrameIteratorTemp( |
Isolate* isolate) |