v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <frames.h>
Public Member Functions | |
virtual Type | type () const |
JSFunction * | function () const |
Object * | receiver () const |
void | set_receiver (Object *value) |
Address | GetParameterSlot (int index) const |
Object * | GetParameter (int index) const |
int | ComputeParametersCount () const |
Address | GetOperandSlot (int index) const |
Object * | GetOperand (int index) const |
int | ComputeOperandsCount () const |
void | SaveOperandStack (FixedArray *store, int *stack_handler_index) const |
void | RestoreOperandStack (FixedArray *store, int stack_handler_index) |
void | SetParameterValue (int index, Object *value) const |
bool | IsConstructor () const |
bool | has_adapted_arguments () const |
int | GetArgumentsLength () const |
virtual void | Iterate (ObjectVisitor *v) const |
virtual void | Print (StringStream *accumulator, PrintMode mode, int index) const |
virtual Code * | unchecked_code () const |
virtual int | GetInlineCount () |
virtual void | GetFunctions (List< JSFunction * > *functions) |
virtual void | Summarize (List< FrameSummary > *frames) |
Public Member Functions inherited from StandardFrame | |
virtual bool | is_standard () const |
Object * | context () const |
Object * | GetExpression (int index) const |
void | SetExpression (int index, Object *value) |
int | ComputeExpressionsCount () const |
virtual void | SetCallerFp (Address caller_fp) |
Public Member Functions inherited from StackFrame | |
int | GetLineNumber () const |
int | GetColumn () const |
int | GetScriptId () const |
Local< String > | GetScriptName () const |
Local< String > | GetScriptNameOrSourceURL () const |
Local< String > | GetFunctionName () const |
bool | IsEval () const |
bool | IsConstructor () const |
Static Public Member Functions | |
static Register | fp_register () |
static Register | context_register () |
static Register | constant_pool_pointer_register () |
static JavaScriptFrame * | cast (StackFrame *frame) |
static void | PrintTop (Isolate *isolate, FILE *file, bool print_args, bool print_line_number) |
Static Public Member Functions inherited from StandardFrame | |
static Object * | GetExpression (Address fp, int index) |
static StandardFrame * | cast (StackFrame *frame) |
Protected Member Functions | |
JavaScriptFrame (StackFrameIteratorBase *iterator) | |
virtual Address | GetCallerStackPointer () const |
virtual int | GetNumberOfIncomingArguments () const |
void | IterateArguments (ObjectVisitor *v) const |
Protected Member Functions inherited from StandardFrame | |
StandardFrame (StackFrameIteratorBase *iterator) | |
virtual void | ComputeCallerState (State *state) const |
Address | caller_fp () const |
Address | caller_pc () const |
void | IterateExpressions (ObjectVisitor *v) const |
Address | GetExpressionAddress (int n) const |
bool | IsExpressionInsideHandler (int n) const |
void | IterateCompiledFrame (ObjectVisitor *v) const |
Friends | |
class | StackFrameIteratorBase |
Additional Inherited Members | |
Static Protected Member Functions inherited from StandardFrame | |
static Address | ComputePCAddress (Address fp) |
static Address | ComputeConstantPoolAddress (Address fp) |
static Address | GetExpressionAddress (Address fp, int n) |
static bool | IsArgumentsAdaptorFrame (Address fp) |
static bool | IsConstructFrame (Address fp) |
|
inlineexplicitprotected |
Definition at line 223 of file frames-inl.h.
|
inlinestatic |
Definition at line 635 of file frames.h.
References ASSERT.
Referenced by Isolate::CaptureSimpleStackTrace().
|
inline |
Definition at line 257 of file frames-inl.h.
References ASSERT, v8::internal::fp, v8::internal::IsAligned(), JavaScriptFrameConstants::kLocal0Offset, v8::internal::kPointerSize, v8::internal::kPointerSizeLog2, v8::internal::sp, and JavaScriptFrame::type().
Referenced by JavaScriptFrame::GetOperandSlot(), JavaScriptFrame::RestoreOperandStack(), v8::internal::RUNTIME_FUNCTION(), and JavaScriptFrame::SaveOperandStack().
|
inline |
Definition at line 585 of file frames.h.
Referenced by JavaScriptFrame::GetParameterSlot(), JavaScriptFrame::Print(), ArgumentsAdaptorFrame::Print(), JavaScriptFrame::PrintTop(), v8::internal::RUNTIME_FUNCTION(), and OptimizedFrame::Summarize().
|
static |
|
static |
|
static |
|
inline |
Definition at line 284 of file frames-inl.h.
References JSFunction::cast().
Referenced by AllocationTracker::AllocationEvent(), Isolate::ComputeLocation(), Deoptimizer::MaterializeHeapObjects(), RuntimeProfiler::OptimizeNow(), JavaScriptFrame::Print(), Isolate::PrintCurrentStackTrace(), JavaScriptFrame::PrintTop(), v8::internal::RUNTIME_FUNCTION(), and OptimizedFrame::Summarize().
int GetArgumentsLength | ( | ) | const |
Definition at line 757 of file frames.cc.
References StandardFrame::caller_fp(), Smi::cast(), StandardFrame::GetExpression(), JavaScriptFrame::GetNumberOfIncomingArguments(), JavaScriptFrame::has_adapted_arguments(), and Smi::value().
|
protectedvirtual |
Reimplemented in ArgumentsAdaptorFrame.
Definition at line 780 of file frames.cc.
References v8::internal::fp, and StandardFrameConstants::kCallerSPOffset.
|
virtual |
Reimplemented in OptimizedFrame.
Definition at line 785 of file frames.cc.
References List< T, P >::Add(), and ASSERT.
|
inlinevirtual |
Reimplemented in OptimizedFrame.
|
protectedvirtual |
Reimplemented in ArgumentsAdaptorFrame.
Definition at line 772 of file frames.cc.
References ASSERT, and Heap::NOT_IN_GC.
Referenced by JavaScriptFrame::GetArgumentsLength().
|
inline |
Definition at line 252 of file frames-inl.h.
References JavaScriptFrame::GetOperandSlot(), and Memory::Object_at().
Referenced by JavaScriptFrame::RestoreOperandStack(), and JavaScriptFrame::SaveOperandStack().
|
inline |
Definition at line 241 of file frames-inl.h.
References ASSERT, ASSERT_EQ, ASSERT_LE, ASSERT_LT, JavaScriptFrame::ComputeOperandsCount(), v8::internal::fp, v8::internal::IsAddressAligned(), JavaScriptFrameConstants::kLocal0Offset, v8::internal::kPointerSize, and JavaScriptFrame::type().
Referenced by JavaScriptFrame::GetOperand(), JavaScriptFrame::RestoreOperandStack(), and JavaScriptFrame::SaveOperandStack().
|
inline |
Definition at line 236 of file frames-inl.h.
References JavaScriptFrame::GetParameterSlot(), and Memory::Object_at().
Referenced by JavaScriptFrame::Print(), ArgumentsAdaptorFrame::Print(), JavaScriptFrame::PrintTop(), JavaScriptFrame::receiver(), v8::internal::RUNTIME_FUNCTION(), and OptimizedFrame::Summarize().
|
inline |
Definition at line 228 of file frames-inl.h.
References ASSERT, JavaScriptFrame::ComputeParametersCount(), and v8::internal::kPointerSize.
Referenced by JavaScriptFrame::GetParameter(), JavaScriptFrame::set_receiver(), and JavaScriptFrame::SetParameterValue().
|
inline |
Definition at line 279 of file frames-inl.h.
References StandardFrame::caller_fp(), and StandardFrame::IsArgumentsAdaptorFrame().
Referenced by JavaScriptFrame::GetArgumentsLength(), JavaScriptFrame::IsConstructor(), and Deoptimizer::MaterializeHeapObjects().
bool IsConstructor | ( | ) | const |
Definition at line 747 of file frames.cc.
References Memory::Address_at(), StandardFrame::caller_fp(), JavaScriptFrame::has_adapted_arguments(), StandardFrame::IsConstructFrame(), and StandardFrameConstants::kCallerFPOffset.
Referenced by JavaScriptFrame::Print(), JavaScriptFrame::PrintTop(), v8::internal::RUNTIME_FUNCTION(), JavaScriptFrame::Summarize(), and OptimizedFrame::Summarize().
|
virtual |
Reimplemented in OptimizedFrame.
Definition at line 1375 of file frames.cc.
References StandardFrame::IterateExpressions().
|
protected |
|
virtual |
Reimplemented in ArgumentsAdaptorFrame.
Definition at line 1171 of file frames.cc.
References StringStream::Add(), Context::cast(), Script::cast(), StandardFrame::ComputeExpressionsCount(), JavaScriptFrame::ComputeParametersCount(), StandardFrame::context(), ScopeInfo::Empty(), JavaScriptFrame::function(), FixedArray::get(), StandardFrame::GetExpression(), JavaScriptFrame::GetParameter(), v8::internal::GetScriptLineNumberSafe(), Code::instruction_end(), Code::instruction_start(), JavaScriptFrame::IsConstructor(), StandardFrame::IsExpressionInsideHandler(), Code::kind(), Context::MIN_CONTEXT_SLOTS, v8::internal::NULL, v8::internal::pc, StringStream::PrintFunction(), StringStream::PrintName(), StringStream::PrintSecurityTokenIfChanged(), JavaScriptFrame::receiver(), SharedFunctionInfo::SourceCodePrint(), and Code::SourcePosition().
|
static |
Definition at line 804 of file frames.cc.
References Code::cast(), Script::cast(), String::cast(), JavaScriptFrame::ComputeParametersCount(), v8::internal::DISALLOW_NULLS, Isolate::FindCodeObject(), JavaScriptFrame::function(), JavaScriptFrame::GetParameter(), v8::internal::GetScriptLineNumberSafe(), Code::instruction_start(), JavaScriptFrame::IsConstructor(), v8::internal::PrintF(), JSFunction::PrintName(), JavaScriptFrame::receiver(), v8::internal::ROBUST_STRING_TRAVERSAL, Object::ShortPrint(), Code::SourcePosition(), String::ToCString(), and JavaScriptFrame::unchecked_code().
Referenced by JSObject::PrintElementsTransition(), Map::PrintGeneralization(), BinaryOpIC::Transition(), and CompareIC::UpdateCaches().
|
inline |
Definition at line 269 of file frames-inl.h.
References JavaScriptFrame::GetParameter().
Referenced by JavaScriptFrame::Print(), Isolate::PrintCurrentStackTrace(), JavaScriptFrame::PrintTop(), v8::internal::RUNTIME_FUNCTION(), JavaScriptFrame::Summarize(), and OptimizedFrame::Summarize().
void RestoreOperandStack | ( | FixedArray * | store, |
int | stack_handler_index | ||
) |
Definition at line 900 of file frames.cc.
References ASSERT_EQ, ASSERT_LE, JavaScriptFrame::ComputeOperandsCount(), v8::internal::fp, FixedArray::get(), JavaScriptFrame::GetOperand(), JavaScriptFrame::GetOperandSlot(), StackHandlerConstants::kSlotCount, FixedArrayBase::length(), and Memory::Object_at().
Referenced by v8::internal::RUNTIME_FUNCTION().
void SaveOperandStack | ( | FixedArray * | store, |
int * | stack_handler_index | ||
) | const |
Definition at line 867 of file frames.cc.
References ASSERT_EQ, ASSERT_GE, ASSERT_LE, JavaScriptFrame::ComputeOperandsCount(), JavaScriptFrame::GetOperand(), JavaScriptFrame::GetOperandSlot(), StackHandlerConstants::kSlotCount, FixedArrayBase::length(), and FixedArray::set().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 274 of file frames-inl.h.
References JavaScriptFrame::GetParameterSlot(), and Memory::Object_at().
void SetParameterValue | ( | int | index, |
Object * | value | ||
) | const |
Definition at line 742 of file frames.cc.
References JavaScriptFrame::GetParameterSlot(), and Memory::Object_at().
|
virtual |
Reimplemented in OptimizedFrame.
Definition at line 791 of file frames.cc.
References List< T, P >::Add(), ASSERT, JavaScriptFrame::IsConstructor(), v8::internal::pc, and JavaScriptFrame::receiver().
Referenced by Isolate::CaptureCurrentStackTrace(), Isolate::CaptureSimpleStackTrace(), and OptimizedFrame::Summarize().
|
inlinevirtual |
Reimplemented in ArgumentsAdaptorFrame, and OptimizedFrame.
Definition at line 575 of file frames.h.
Referenced by JavaScriptFrame::ComputeOperandsCount(), and JavaScriptFrame::GetOperandSlot().
|
virtual |
Reimplemented in ArgumentsAdaptorFrame.
Definition at line 767 of file frames.cc.
References v8::internal::code().
Referenced by JavaScriptFrame::PrintTop().