V8 Project
|
#include <deoptimizer.h>
Public Member Functions | |
FrameDescription (uint32_t frame_size, JSFunction *function) | |
void * | operator new (size_t size, uint32_t frame_size) |
void | operator delete (void *pointer, uint32_t frame_size) |
void | operator delete (void *description) |
uint32_t | GetFrameSize () const |
JSFunction * | GetFunction () const |
unsigned | GetOffsetFromSlotIndex (int slot_index) |
intptr_t | GetFrameSlot (unsigned offset) |
double | GetDoubleFrameSlot (unsigned offset) |
void | SetFrameSlot (unsigned offset, intptr_t value) |
void | SetCallerPc (unsigned offset, intptr_t value) |
void | SetCallerFp (unsigned offset, intptr_t value) |
void | SetCallerConstantPool (unsigned offset, intptr_t value) |
intptr_t | GetRegister (unsigned n) const |
double | GetDoubleRegister (unsigned n) const |
void | SetRegister (unsigned n, intptr_t value) |
void | SetDoubleRegister (unsigned n, double value) |
intptr_t | GetTop () const |
void | SetTop (intptr_t top) |
intptr_t | GetPc () const |
void | SetPc (intptr_t pc) |
intptr_t | GetFp () const |
void | SetFp (intptr_t fp) |
intptr_t | GetContext () const |
void | SetContext (intptr_t context) |
intptr_t | GetConstantPool () const |
void | SetConstantPool (intptr_t constant_pool) |
Smi * | GetState () const |
void | SetState (Smi *state) |
void | SetContinuation (intptr_t pc) |
StackFrame::Type | GetFrameType () const |
void | SetFrameType (StackFrame::Type type) |
int | ComputeParametersCount () |
Object * | GetParameter (int index) |
unsigned | GetExpressionCount () |
Object * | GetExpression (int index) |
Static Public Member Functions | |
static int | registers_offset () |
static int | double_registers_offset () |
static int | frame_size_offset () |
static int | pc_offset () |
static int | state_offset () |
static int | continuation_offset () |
static int | frame_content_offset () |
Private Member Functions | |
intptr_t * | GetFrameSlotPointer (unsigned offset) |
int | ComputeFixedSize () |
Private Attributes | |
uintptr_t | frame_size_ |
JSFunction * | function_ |
intptr_t | registers_ [Register::kNumRegisters] |
double | double_registers_ [DoubleRegister::kMaxNumRegisters] |
intptr_t | top_ |
intptr_t | pc_ |
intptr_t | fp_ |
intptr_t | context_ |
intptr_t | constant_pool_ |
StackFrame::Type | type_ |
Smi * | state_ |
intptr_t | continuation_ |
intptr_t | frame_content_ [1] |
Static Private Attributes | |
static const uint32_t | kZapUint32 = 0xbeeddead |
Definition at line 458 of file deoptimizer.h.
v8::internal::FrameDescription::FrameDescription | ( | uint32_t | frame_size, |
JSFunction * | function | ||
) |
Definition at line 2824 of file deoptimizer.cc.
References v8::internal::Register::kNumRegisters, v8::internal::kPointerSize, kZapUint32, SetFrameSlot(), and SetRegister().
|
private |
Definition at line 2848 of file deoptimizer.cc.
References ComputeParametersCount(), v8::internal::StandardFrameConstants::kFixedFrameSize, and v8::internal::kPointerSize.
Referenced by GetExpressionCount(), and GetOffsetFromSlotIndex().
int v8::internal::FrameDescription::ComputeParametersCount | ( | ) |
Definition at line 2869 of file deoptimizer.cc.
References v8::internal::compiler::ARGUMENTS_ADAPTOR, FATAL, function_, GetFrameSlotPointer(), v8::internal::STUB, and type_.
Referenced by ComputeFixedSize(), v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo(), GetOffsetFromSlotIndex(), and GetParameter().
|
inlinestatic |
Definition at line 590 of file deoptimizer.h.
References continuation_, and OFFSET_OF.
|
inlinestatic |
Definition at line 574 of file deoptimizer.h.
References double_registers_, and OFFSET_OF.
|
inlinestatic |
Definition at line 594 of file deoptimizer.h.
References frame_content_, and OFFSET_OF.
Referenced by GetFrameSlotPointer().
|
inlinestatic |
Definition at line 578 of file deoptimizer.h.
References frame_size_, and OFFSET_OF.
|
inline |
Definition at line 545 of file deoptimizer.h.
References constant_pool_.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 542 of file deoptimizer.h.
References context_.
Referenced by v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo(), v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), and v8::internal::Deoptimizer::DoComputeConstructStubFrame().
|
inline |
Definition at line 490 of file deoptimizer.h.
References GetFrameSlotPointer(), and v8::internal::read_double_value().
Referenced by v8::internal::Deoptimizer::DoTranslateCommand(), and v8::internal::Deoptimizer::DoTranslateObject().
|
inline |
Definition at line 518 of file deoptimizer.h.
References arraysize, DCHECK, and double_registers_.
Referenced by v8::internal::Deoptimizer::CopyDoubleRegisters(), v8::internal::Deoptimizer::DoTranslateCommand(), and v8::internal::Deoptimizer::DoTranslateObject().
Definition at line 2903 of file deoptimizer.cc.
References DCHECK_EQ, GetFrameSlotPointer(), GetOffsetFromSlotIndex(), and type_.
Referenced by v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo().
unsigned v8::internal::FrameDescription::GetExpressionCount | ( | ) |
Definition at line 2896 of file deoptimizer.cc.
References CHECK_EQ, ComputeFixedSize(), GetFrameSize(), v8::internal::kPointerSize, size, and type_.
Referenced by v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo().
|
inline |
Definition at line 539 of file deoptimizer.h.
References fp_.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 477 of file deoptimizer.h.
References DCHECK, and frame_size_.
Referenced by v8::internal::Deoptimizer::DebuggerInspectableFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::Deoptimizer::FillInputFrame(), GetExpressionCount(), and GetOffsetFromSlotIndex().
|
inline |
Definition at line 486 of file deoptimizer.h.
References GetFrameSlotPointer().
Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::Deoptimizer::DoTranslateCommand(), and v8::internal::Deoptimizer::DoTranslateObject().
|
inlineprivate |
Definition at line 624 of file deoptimizer.h.
References DCHECK, frame_content_offset(), and frame_size_.
Referenced by ComputeParametersCount(), GetDoubleFrameSlot(), GetExpression(), GetFrameSlot(), GetParameter(), and SetFrameSlot().
|
inline |
Definition at line 555 of file deoptimizer.h.
References type_.
Referenced by v8::internal::Deoptimizer::ConvertJSFrameIndexToFrameIndex(), v8::internal::Deoptimizer::DebuggerInspectableFrame(), and v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo().
|
inline |
Definition at line 482 of file deoptimizer.h.
References function_.
Referenced by v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo(), and v8::internal::Deoptimizer::DoComputeOutputFrames().
unsigned v8::internal::FrameDescription::GetOffsetFromSlotIndex | ( | int | slot_index | ) |
Definition at line 2854 of file deoptimizer.cc.
References ComputeFixedSize(), ComputeParametersCount(), GetFrameSize(), and v8::internal::kPointerSize.
Referenced by v8::internal::Deoptimizer::DoTranslateCommand(), v8::internal::Deoptimizer::DoTranslateObject(), GetExpression(), and GetParameter().
Definition at line 2887 of file deoptimizer.cc.
References CHECK_GE, CHECK_LT, ComputeParametersCount(), GetFrameSlotPointer(), and GetOffsetFromSlotIndex().
Referenced by v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo().
|
inline |
Definition at line 536 of file deoptimizer.h.
References pc_.
Referenced by v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo(), v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), and v8::internal::Deoptimizer::DoComputeOutputFrames().
|
inline |
Definition at line 505 of file deoptimizer.h.
References arraysize, DCHECK, and registers_.
Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::Deoptimizer::DoComputeOutputFrames(), v8::internal::Deoptimizer::DoTranslateCommand(), and v8::internal::Deoptimizer::DoTranslateObject().
|
inline |
Definition at line 550 of file deoptimizer.h.
References state_.
Referenced by v8::internal::Deoptimizer::DoComputeOutputFrames().
|
inline |
Definition at line 533 of file deoptimizer.h.
References top_.
Referenced by v8::internal::Deoptimizer::DebuggerInspectableFrame(), v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), and v8::internal::Deoptimizer::DoTranslateCommand().
|
inline |
Definition at line 473 of file deoptimizer.h.
|
inline |
Definition at line 469 of file deoptimizer.h.
|
inline |
|
inlinestatic |
Definition at line 582 of file deoptimizer.h.
|
inlinestatic |
Definition at line 570 of file deoptimizer.h.
References OFFSET_OF, and registers_.
void v8::internal::FrameDescription::SetCallerConstantPool | ( | unsigned | offset, |
intptr_t | value | ||
) |
Definition at line 346 of file deoptimizer-arm.cc.
References DCHECK.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
void v8::internal::FrameDescription::SetCallerFp | ( | unsigned | offset, |
intptr_t | value | ||
) |
Definition at line 341 of file deoptimizer-arm.cc.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
void v8::internal::FrameDescription::SetCallerPc | ( | unsigned | offset, |
intptr_t | value | ||
) |
Definition at line 336 of file deoptimizer-arm.cc.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 546 of file deoptimizer.h.
References constant_pool_.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 543 of file deoptimizer.h.
References context_.
Referenced by v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 553 of file deoptimizer.h.
References continuation_, and v8::internal::pc.
Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 528 of file deoptimizer.h.
References arraysize, DCHECK, and double_registers_.
Referenced by v8::internal::Deoptimizer::CopyDoubleRegisters(), and v8::internal::Deoptimizer::FillInputFrame().
|
inline |
Definition at line 540 of file deoptimizer.h.
References v8::internal::fp, and fp_.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 495 of file deoptimizer.h.
References GetFrameSlotPointer().
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::Deoptimizer::DoTranslateCommand(), v8::internal::Deoptimizer::FillInputFrame(), and FrameDescription().
|
inline |
Definition at line 556 of file deoptimizer.h.
References type_.
Referenced by v8::internal::Deoptimizer::Deoptimizer(), v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 537 of file deoptimizer.h.
References v8::internal::pc, and pc_.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 523 of file deoptimizer.h.
References arraysize, DCHECK, and registers_.
Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::Deoptimizer::FillInputFrame(), FrameDescription(), and v8::internal::Deoptimizer::SetPlatformCompiledStubRegisters().
|
inline |
Definition at line 551 of file deoptimizer.h.
References state_.
Referenced by v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inline |
Definition at line 534 of file deoptimizer.h.
References top_.
Referenced by v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), and v8::internal::Deoptimizer::DoComputeJSFrame().
|
inlinestatic |
Definition at line 586 of file deoptimizer.h.
|
private |
Definition at line 612 of file deoptimizer.h.
Referenced by GetConstantPool(), and SetConstantPool().
|
private |
Definition at line 611 of file deoptimizer.h.
Referenced by GetContext(), and SetContext().
|
private |
Definition at line 618 of file deoptimizer.h.
Referenced by continuation_offset(), and SetContinuation().
|
private |
Definition at line 607 of file deoptimizer.h.
Referenced by double_registers_offset(), GetDoubleRegister(), and SetDoubleRegister().
|
private |
Definition at line 610 of file deoptimizer.h.
|
private |
Definition at line 622 of file deoptimizer.h.
Referenced by frame_content_offset().
|
private |
Definition at line 604 of file deoptimizer.h.
Referenced by frame_size_offset(), GetFrameSize(), and GetFrameSlotPointer().
|
private |
Definition at line 605 of file deoptimizer.h.
Referenced by ComputeParametersCount(), and GetFunction().
|
staticprivate |
Definition at line 599 of file deoptimizer.h.
Referenced by FrameDescription().
|
private |
Definition at line 609 of file deoptimizer.h.
Referenced by GetPc(), pc_offset(), and SetPc().
|
private |
Definition at line 606 of file deoptimizer.h.
Referenced by GetRegister(), registers_offset(), and SetRegister().
|
private |
Definition at line 614 of file deoptimizer.h.
Referenced by GetState(), SetState(), and state_offset().
|
private |
Definition at line 608 of file deoptimizer.h.
|
private |
Definition at line 613 of file deoptimizer.h.
Referenced by ComputeParametersCount(), GetExpression(), GetExpressionCount(), GetFrameType(), and SetFrameType().