V8 Project
v8::internal::StackTraceFrameIterator Class Reference

#include <frames.h>

+ Inheritance diagram for v8::internal::StackTraceFrameIterator:
+ Collaboration diagram for v8::internal::StackTraceFrameIterator:

Public Member Functions

 StackTraceFrameIterator (Isolate *isolate)
 
void Advance ()
 

Private Member Functions

bool IsValidFrame ()
 

Detailed Description

Definition at line 883 of file frames.h.

Constructor & Destructor Documentation

◆ StackTraceFrameIterator()

v8::internal::StackTraceFrameIterator::StackTraceFrameIterator ( Isolate isolate)
explicit

Definition at line 167 of file frames.cc.

168  : JavaScriptFrameIterator(isolate) {
169  if (!done() && !IsValidFrame()) Advance();
170 }

References Advance(), and IsValidFrame().

+ Here is the call graph for this function:

Member Function Documentation

◆ Advance()

void v8::internal::StackTraceFrameIterator::Advance ( )

Definition at line 173 of file frames.cc.

173  {
174  while (true) {
175  JavaScriptFrameIterator::Advance();
176  if (done()) return;
177  if (IsValidFrame()) return;
178  }
179 }

References IsValidFrame().

Referenced by v8::internal::AllocationTracker::AllocationEvent(), v8::internal::Isolate::CaptureCurrentStackTrace(), v8::internal::Isolate::PrintCurrentStackTrace(), and StackTraceFrameIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsValidFrame()

bool v8::internal::StackTraceFrameIterator::IsValidFrame ( )
private

Definition at line 182 of file frames.cc.

182  {
183  if (!frame()->function()->IsJSFunction()) return false;
184  Object* script = frame()->function()->shared()->script();
185  // Don't show functions from native scripts to user.
186  return (script->IsScript() &&
187  Script::TYPE_NATIVE != Script::cast(script)->type()->value());
188 }
kSerializedDataOffset Object
Definition: objects-inl.h:5322

References v8::internal::Script::TYPE_NATIVE.

Referenced by Advance(), and StackTraceFrameIterator().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: