V8 Project
|
#include <deoptimizer.h>
Classes | |
class | BASE_EMBEDDED |
struct | JumpTableEntry |
struct | Reason |
class | TableEntryGenerator |
Public Types | |
enum | BailoutType { EAGER , LAZY , SOFT , DEBUGGER } |
enum | GetEntryMode { CALCULATE_ENTRY_ADDRESS , ENSURE_ENTRY_CODE } |
Public Member Functions | |
int | output_count () const |
Handle< JSFunction > | function () const |
Handle< Code > | compiled_code () const |
BailoutType | bailout_type () const |
int | jsframe_count () const |
~Deoptimizer () | |
void | MaterializeHeapObjects (JavaScriptFrameIterator *it) |
void | MaterializeHeapNumbersForDebuggerInspectableFrame (Address parameters_top, uint32_t parameters_size, Address expressions_top, uint32_t expressions_size, DeoptimizedFrameInfo *info) |
int | ConvertJSFrameIndexToFrameIndex (int jsframe_index) |
Isolate * | isolate () const |
![]() | |
void * | operator new (size_t size) |
void | operator delete (void *p) |
Static Public Attributes | |
static const int | kBailoutTypesWithCodeEntry = SOFT + 1 |
static const int | kNotDeoptimizationEntry = -1 |
Private Member Functions | |
Deoptimizer (Isolate *isolate, JSFunction *function, BailoutType type, unsigned bailout_id, Address from, int fp_to_sp_delta, Code *optimized_code) | |
Code * | FindOptimizedCode (JSFunction *function, Code *optimized_code) |
void | PrintFunctionName () |
void | DeleteFrameDescriptions () |
void | DoComputeOutputFrames () |
void | DoComputeJSFrame (TranslationIterator *iterator, int frame_index) |
void | DoComputeArgumentsAdaptorFrame (TranslationIterator *iterator, int frame_index) |
void | DoComputeConstructStubFrame (TranslationIterator *iterator, int frame_index) |
void | DoComputeAccessorStubFrame (TranslationIterator *iterator, int frame_index, bool is_setter_stub_frame) |
void | DoComputeCompiledStubFrame (TranslationIterator *iterator, int frame_index) |
void | DoTranslateObject (TranslationIterator *iterator, int object_index, int field_index) |
void | DoTranslateCommand (TranslationIterator *iterator, int frame_index, unsigned output_offset) |
void | DoTranslateObjectAndSkip (TranslationIterator *iterator) |
unsigned | ComputeInputFrameSize () const |
unsigned | ComputeFixedSize (JSFunction *function) const |
unsigned | ComputeIncomingArgumentSize (JSFunction *function) const |
unsigned | ComputeOutgoingArgumentSize () const |
Object * | ComputeLiteral (int index) const |
void | AddObjectStart (intptr_t slot_address, int argc, bool is_arguments) |
void | AddObjectDuplication (intptr_t slot, int object_index) |
void | AddObjectTaggedValue (intptr_t value) |
void | AddObjectDoubleValue (double value) |
void | AddDoubleValue (intptr_t slot_address, double value) |
bool | ArgumentsObjectIsAdapted (int object_index) |
Handle< JSFunction > | ArgumentsObjectFunction (int object_index) |
Handle< Object > | MaterializeNextHeapObject () |
Handle< Object > | MaterializeNextValue () |
Code * | FindDeoptimizingCode (Address addr) |
void | FillInputFrame (Address tos, JavaScriptFrame *frame) |
void | SetPlatformCompiledStubRegisters (FrameDescription *output_frame, CodeStubDescriptor *desc) |
void | CopyDoubleRegisters (FrameDescription *output_frame) |
bool | HasAlignmentPadding (JSFunction *function) |
Static Private Member Functions | |
static void | GenerateDeoptimizationEntries (MacroAssembler *masm, int count, BailoutType type) |
static void | MarkAllCodeForContext (Context *native_context) |
static void | VisitAllOptimizedFunctionsForContext (Context *context, OptimizedFunctionVisitor *visitor) |
static void | DeoptimizeMarkedCodeForContext (Context *native_context) |
static void | PatchCodeForDeoptimization (Isolate *isolate, Code *code) |
Private Attributes | |
Isolate * | isolate_ |
JSFunction * | function_ |
Code * | compiled_code_ |
unsigned | bailout_id_ |
BailoutType | bailout_type_ |
Address | from_ |
int | fp_to_sp_delta_ |
int | has_alignment_padding_ |
FrameDescription * | input_ |
int | output_count_ |
int | jsframe_count_ |
FrameDescription ** | output_ |
List< Object * > | deferred_objects_tagged_values_ |
List< HeapNumberMaterializationDescriptor< int > > | deferred_objects_double_values_ |
List< ObjectMaterializationDescriptor > | deferred_objects_ |
List< HeapNumberMaterializationDescriptor< Address > > | deferred_heap_numbers_ |
Address | stack_fp_ |
Handle< FixedArray > | previously_materialized_objects_ |
int | prev_materialized_count_ |
List< Handle< JSFunction > > | jsframe_functions_ |
List< bool > | jsframe_has_adapted_arguments_ |
List< Handle< Object > > * | materialized_values_ |
List< Handle< Object > > * | materialized_objects_ |
int | materialization_value_index_ |
int | materialization_object_index_ |
CodeTracer::Scope * | trace_scope_ |
Static Private Attributes | |
static const int | kMinNumberOfEntries = 64 |
static const int | kMaxNumberOfEntries = 16384 |
static const int | table_entry_size_ = 8 |
Friends | |
class | FrameDescription |
class | DeoptimizedFrameInfo |
Definition at line 91 of file deoptimizer.h.
Enumerator | |
---|---|
CALCULATE_ENTRY_ADDRESS | |
ENSURE_ENTRY_CODE |
Definition at line 216 of file deoptimizer.h.
v8::internal::Deoptimizer::~Deoptimizer | ( | ) |
Definition at line 648 of file deoptimizer.cc.
References DCHECK, input_, NULL, output_, and trace_scope_.
|
private |
Definition at line 548 of file deoptimizer.cc.
References bailout_type_, CHECK, compiled_code_, ComputeInputFrameSize(), v8::internal::Isolate::counters(), DCHECK, EAGER, FindOptimizedCode(), FrameDescription, function(), v8::internal::Isolate::GetCodeTracer(), input_, isolate(), v8::internal::Code::kind(), LAZY, NULL, v8::internal::FrameDescription::SetFrameType(), size, SOFT, v8::internal::STUB, trace_scope_, and TraceEnabledFor().
Referenced by DebuggerInspectableFrame(), and New().
|
private |
Definition at line 2783 of file deoptimizer.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), and deferred_heap_numbers_.
Referenced by DoTranslateCommand().
|
private |
Definition at line 2775 of file deoptimizer.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), deferred_objects_double_values_, deferred_objects_tagged_values_, and isolate().
Referenced by DoTranslateObject().
|
private |
Definition at line 2763 of file deoptimizer.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), deferred_objects_, and jsframe_count_.
Referenced by DoTranslateCommand(), DoTranslateObject(), and DoTranslateObjectAndSkip().
|
private |
Definition at line 2756 of file deoptimizer.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), deferred_objects_, and jsframe_count_.
Referenced by DoTranslateCommand(), DoTranslateObject(), and DoTranslateObjectAndSkip().
|
private |
Definition at line 2770 of file deoptimizer.cc.
References deferred_objects_tagged_values_.
Referenced by DoTranslateObject().
|
inlineprivate |
Definition at line 356 of file deoptimizer.h.
References v8::internal::List< T, AllocationPolicy >::at(), deferred_objects_, jsframe_count_, and jsframe_functions_.
Referenced by MaterializeNextHeapObject().
Definition at line 350 of file deoptimizer.h.
References v8::internal::List< T, AllocationPolicy >::at(), deferred_objects_, jsframe_count_, and jsframe_has_adapted_arguments_.
Referenced by MaterializeHeapObjects(), and MaterializeNextHeapObject().
|
inline |
Definition at line 151 of file deoptimizer.h.
References bailout_type_.
Referenced by v8::internal::RUNTIME_FUNCTION().
Definition at line 150 of file deoptimizer.h.
References compiled_code_.
Referenced by FindOptimizedCode(), and v8::internal::RUNTIME_FUNCTION().
|
private |
Definition at line 2720 of file deoptimizer.cc.
References ComputeIncomingArgumentSize(), and v8::internal::StandardFrameConstants::kFixedFrameSize.
Referenced by ComputeInputFrameSize(), and DoComputeJSFrame().
|
private |
Definition at line 2728 of file deoptimizer.cc.
References CHECK_EQ, v8::internal::Smi::FromInt(), function(), v8::internal::kPointerSize, and v8::internal::STUB.
Referenced by ComputeFixedSize().
|
private |
Definition at line 2705 of file deoptimizer.cc.
References CHECK, compiled_code_, ComputeFixedSize(), ComputeOutgoingArgumentSize(), fp_to_sp_delta_, function_, v8::internal::StandardFrameConstants::kFixedFrameSizeFromFp, v8::internal::Code::kind(), v8::internal::kPointerSize, and v8::internal::Code::stack_slots().
Referenced by Deoptimizer().
Definition at line 2748 of file deoptimizer.cc.
References compiled_code_, and literals().
Referenced by DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeConstructStubFrame(), DoComputeJSFrame(), DoTranslateCommand(), and DoTranslateObject().
|
private |
Definition at line 2740 of file deoptimizer.cc.
References bailout_id_, compiled_code_, and v8::internal::kPointerSize.
Referenced by ComputeInputFrameSize().
|
static |
Definition at line 515 of file deoptimizer.cc.
References DoComputeOutputFrames().
Referenced by DebuggerInspectableFrame().
Definition at line 120 of file deoptimizer.cc.
References v8::internal::FrameDescription::GetFrameType(), and output_.
Referenced by DebuggerInspectableFrame().
|
private |
Definition at line 114 of file deoptimizer-arm.cc.
References v8::internal::FrameDescription::GetDoubleRegister(), input_, v8::internal::DwVfpRegister::kMaxNumRegisters, and v8::internal::FrameDescription::SetDoubleRegister().
Referenced by DoComputeCompiledStubFrame().
|
static |
Definition at line 136 of file deoptimizer.cc.
References v8::internal::compiler::ARGUMENTS_ADAPTOR, CHECK, CHECK_LT, CHECK_NE, ComputeOutputFrames(), ConvertJSFrameIndexToFrameIndex(), DEBUGGER, DeleteFrameDescriptions(), v8::internal::DeoptimizerData::deoptimized_frame_info_, DeoptimizedFrameInfo, Deoptimizer(), v8::internal::Isolate::deoptimizer_data(), v8::internal::DeoptimizedFrameInfo::expression_count(), FillInputFrame(), v8::internal::JavaScriptFrame::function(), v8::internal::FrameDescription::GetFrameSize(), v8::internal::FrameDescription::GetFrameType(), v8::internal::Code::GetSafepointEntry(), v8::internal::FrameDescription::GetTop(), isolate(), jsframe_count(), v8::internal::StandardFrameConstants::kFixedFrameSizeFromFp, v8::internal::kPointerSize, MaterializeHeapNumbersForDebuggerInspectableFrame(), NULL, output_, v8::internal::DeoptimizedFrameInfo::parameters_count(), and v8::internal::Code::stack_slots().
Referenced by v8::internal::FrameInspector::FrameInspector().
|
static |
Definition at line 224 of file deoptimizer.cc.
References CHECK_EQ, v8::internal::DeoptimizerData::deoptimized_frame_info_, v8::internal::Isolate::deoptimizer_data(), isolate(), and NULL.
Referenced by v8::internal::FrameInspector::~FrameInspector().
|
private |
Definition at line 655 of file deoptimizer.cc.
References CHECK, input_, NULL, output_, and output_count_.
Referenced by DebuggerInspectableFrame(), and Grab().
|
static |
Definition at line 437 of file deoptimizer.cc.
References v8::internal::Context::cast(), DeoptimizeMarkedCodeForContext(), v8::internal::FixedArray::get(), v8::internal::Isolate::GetCodeTracer(), v8::internal::Isolate::heap(), isolate(), MarkAllCodeForContext(), v8::internal::Heap::native_contexts_list(), v8::internal::Context::NEXT_CONTEXT_LINK, and v8::internal::PrintF().
Referenced by v8::Testing::DeoptimizeAll(), v8::Object::ForceDelete(), v8::internal::Heap::GarbageCollectionEpilogue(), and v8::internal::Debug::PrepareForBreakPoints().
|
static |
Definition at line 503 of file deoptimizer.cc.
References DeoptimizeMarkedCodeForContext(), function(), v8::internal::Code::kind(), and v8::internal::Code::set_marked_for_deoptimization().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 470 of file deoptimizer.cc.
References CHECK, DeoptimizeMarkedCodeForContext(), v8::internal::Isolate::GetCodeTracer(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::HeapObject::GetHeap(), v8::internal::HeapObject::GetIsolate(), v8::internal::Heap::isolate(), MarkAllCodeForContext(), v8::internal::Context::native_context(), v8::internal::PrintF(), and V8PRIxPTR.
Referenced by v8::internal::JSObject::SetPropertyCallback(), and v8::Object::TurnOnAccessCheck().
|
static |
Definition at line 454 of file deoptimizer.cc.
References v8::internal::Context::cast(), DeoptimizeMarkedCodeForContext(), v8::internal::FixedArray::get(), v8::internal::Isolate::GetCodeTracer(), v8::internal::Isolate::heap(), isolate(), v8::internal::Heap::native_contexts_list(), v8::internal::Context::NEXT_CONTEXT_LINK, and v8::internal::PrintF().
Referenced by v8::internal::DependentCode::DeoptimizeDependentCodeGroup(), v8::internal::DeoptimizeDependentFunctions(), v8::internal::Heap::DeoptMarkedAllocationSites(), and v8::internal::MarkCompactCollector::Finish().
|
staticprivate |
Definition at line 301 of file deoptimizer.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::StackFrameIterator::Advance(), CHECK, CHECK_EQ, DCHECK, v8::internal::Context::DeoptimizedCodeListHead(), v8::internal::SharedFunctionInfo::EvictFromOptimizedCodeMap(), v8::internal::Isolate::GetCodeTracer(), v8::internal::HeapObject::GetHeap(), v8::internal::Code::GetSafepointEntry(), v8::internal::Isolate::heap(), v8::internal::MarkCompactCollector::InvalidateCode(), v8::internal::Code::is_turbofanned(), v8::internal::Heap::isolate(), isolate(), v8::internal::Code::kind(), v8::internal::Heap::mark_compact_collector(), v8::internal::Code::marked_for_deoptimization(), NULL, v8::internal::Context::OptimizedCodeListHead(), PatchCodeForDeoptimization(), v8::internal::PrintF(), v8::internal::Context::SetDeoptimizedCodeListHead(), v8::internal::Context::SetOptimizedCodeListHead(), v8::internal::Isolate::thread_local_top(), V8PRIxPTR, and VisitAllOptimizedFunctionsForContext().
Referenced by DeoptimizeAll(), DeoptimizeFunction(), DeoptimizeGlobalObject(), and DeoptimizeMarkedCode().
|
private |
Definition at line 1405 of file deoptimizer.cc.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), CHECK, CHECK_EQ, ComputeLiteral(), v8::internal::Code::constant_pool(), DoTranslateCommand(), DoTranslateObjectAndSkip(), FrameDescription, v8::internal::Smi::FromInt(), v8::internal::FrameDescription::GetConstantPool(), v8::internal::FrameDescription::GetContext(), v8::internal::FrameDescription::GetFp(), v8::internal::FrameDescription::GetPc(), v8::internal::FrameDescription::GetTop(), v8::internal::Isolate::heap(), v8::internal::Code::instruction_start(), v8::internal::INTERNAL, isolate_, v8::internal::StandardFrameConstants::kFixedFrameSize, v8::internal::kFPOnStackSize, v8::internal::kPCOnStackSize, v8::internal::kPointerSize, name, NULL, output_, output_count_, output_offset(), v8::internal::pc, v8::internal::PrintF(), v8::internal::FrameDescription::SetCallerConstantPool(), v8::internal::FrameDescription::SetCallerFp(), v8::internal::FrameDescription::SetCallerPc(), v8::internal::FrameDescription::SetConstantPool(), v8::internal::FrameDescription::SetFp(), v8::internal::FrameDescription::SetFrameSlot(), v8::internal::FrameDescription::SetFrameType(), v8::internal::FrameDescription::SetPc(), v8::internal::FrameDescription::SetTop(), trace_scope_, V8PRIxPTR, and v8::internal::Smi::value().
Referenced by DoComputeOutputFrames().
|
private |
Definition at line 1114 of file deoptimizer.cc.
References v8::internal::compiler::ARGUMENTS_ADAPTOR, v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), CHECK, ComputeLiteral(), v8::internal::Code::constant_pool(), DCHECK, DoTranslateCommand(), FrameDescription, v8::internal::Smi::FromInt(), v8::internal::FrameDescription::GetConstantPool(), v8::internal::FrameDescription::GetFp(), v8::internal::FrameDescription::GetPc(), v8::internal::FrameDescription::GetTop(), v8::internal::Isolate::heap(), v8::internal::Code::instruction_start(), isolate_, v8::internal::kFPOnStackSize, v8::internal::ArgumentsAdaptorFrameConstants::kFrameSize, v8::internal::kPCOnStackSize, v8::internal::kPointerSize, NULL, output_, output_count_, output_offset(), v8::internal::PrintF(), v8::internal::FrameDescription::SetCallerConstantPool(), v8::internal::FrameDescription::SetCallerFp(), v8::internal::FrameDescription::SetCallerPc(), v8::internal::FrameDescription::SetConstantPool(), v8::internal::FrameDescription::SetFp(), v8::internal::FrameDescription::SetFrameSlot(), v8::internal::FrameDescription::SetFrameType(), v8::internal::FrameDescription::SetPc(), v8::internal::FrameDescription::SetTop(), trace_scope_, and V8PRIxPTR.
Referenced by DoComputeOutputFrames().
|
private |
Definition at line 1547 of file deoptimizer.cc.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), CHECK, CHECK_EQ, CHECK_GE, v8::internal::Register::code(), compiled_code_, v8::internal::Code::constant_pool(), v8::internal::StubFailureTrampolineFrame::constant_pool_pointer_register(), v8::internal::StubFailureTrampolineFrame::context_register(), CopyDoubleRegisters(), DCHECK, DoTranslateCommand(), v8::internal::Code::entry(), v8::internal::StubFailureTrampolineFrame::fp_register(), FrameDescription, v8::internal::Smi::FromInt(), v8::internal::CodeStubDescriptor::function_mode(), v8::internal::CodeStubDescriptor::GetEnvironmentParameterCount(), v8::internal::FrameDescription::GetFrameSize(), v8::internal::FrameDescription::GetFrameSlot(), v8::internal::FrameDescription::GetRegister(), v8::internal::Isolate::heap(), input_, v8::internal::Code::instruction_start(), v8::internal::Code::is_hydrogen_stub(), v8::internal::Register::is_valid(), v8::internal::CodeStubDescriptor::IsEnvironmentParameterCountRegister(), isolate_, v8::internal::StandardFrameConstants::kCallerSPOffset, v8::internal::StandardFrameConstants::kFixedFrameSize, v8::internal::StandardFrameConstants::kFixedFrameSizeFromFp, v8::internal::kFPOnStackSize, v8::internal::kPCOnStackSize, v8::internal::kPointerSize, v8::internal::FullCodeGenerator::NO_REGISTERS, NULL, output_, v8::internal::PrintF(), v8::internal::FrameDescription::SetCallerConstantPool(), v8::internal::FrameDescription::SetCallerFp(), v8::internal::FrameDescription::SetCallerPc(), v8::internal::FrameDescription::SetConstantPool(), v8::internal::FrameDescription::SetContinuation(), v8::internal::FrameDescription::SetFp(), v8::internal::FrameDescription::SetFrameSlot(), v8::internal::FrameDescription::SetFrameType(), v8::internal::FrameDescription::SetPc(), SetPlatformCompiledStubRegisters(), v8::internal::FrameDescription::SetRegister(), v8::internal::FrameDescription::SetState(), v8::internal::FrameDescription::SetTop(), v8::internal::CodeStubDescriptor::stack_parameter_count(), v8::internal::Code::stub_key(), trace_scope_, V8PRIxPTR, and v8::internal::Smi::value().
Referenced by DoComputeOutputFrames().
|
private |
Definition at line 1238 of file deoptimizer.cc.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), CHECK, CHECK_EQ, ComputeLiteral(), v8::internal::Code::constant_pool(), DCHECK, deferred_objects_, DoTranslateCommand(), FrameDescription, v8::internal::Smi::FromInt(), v8::internal::FrameDescription::GetConstantPool(), v8::internal::FrameDescription::GetContext(), v8::internal::FrameDescription::GetFp(), v8::internal::FrameDescription::GetFrameSlot(), v8::internal::FrameDescription::GetPc(), v8::internal::FrameDescription::GetTop(), v8::internal::Isolate::heap(), v8::internal::Code::instruction_start(), isolate_, v8::internal::ConstructFrameConstants::kConstructorOffset, v8::internal::kFPOnStackSize, v8::internal::ConstructFrameConstants::kFrameSize, v8::internal::kMinInt, v8::internal::kPCOnStackSize, v8::internal::kPointerSize, NULL, output_, output_count_, output_offset(), v8::internal::pc, v8::internal::PrintF(), v8::internal::FrameDescription::SetCallerConstantPool(), v8::internal::FrameDescription::SetCallerFp(), v8::internal::FrameDescription::SetCallerPc(), v8::internal::FrameDescription::SetConstantPool(), v8::internal::FrameDescription::SetFp(), v8::internal::FrameDescription::SetFrameSlot(), v8::internal::FrameDescription::SetFrameType(), v8::internal::FrameDescription::SetPc(), v8::internal::FrameDescription::SetTop(), trace_scope_, and V8PRIxPTR.
Referenced by DoComputeOutputFrames().
|
private |
Definition at line 875 of file deoptimizer.cc.
References bailout_type_, v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), CHECK, CHECK_EQ, v8::internal::Register::code(), compiled_code_, ComputeFixedSize(), ComputeLiteral(), v8::internal::Code::constant_pool(), v8::internal::JavaScriptFrame::constant_pool_pointer_register(), v8::internal::JavaScriptFrame::context_register(), DCHECK, DEBUGGER, v8::internal::BitFieldBase< T, shift, size, U >::decode(), DoTranslateCommand(), EAGER, v8::internal::Code::entry(), v8::internal::JavaScriptFrame::fp_register(), FrameDescription, v8::internal::Smi::FromInt(), function(), function_, v8::internal::FrameDescription::GetConstantPool(), v8::internal::FrameDescription::GetFp(), v8::internal::FrameDescription::GetFrameSize(), v8::internal::FrameDescription::GetFrameSlot(), GetOutputInfo(), v8::internal::FrameDescription::GetPc(), v8::internal::FrameDescription::GetRegister(), v8::internal::FrameDescription::GetTop(), has_alignment_padding_, HasAlignmentPadding(), v8::internal::Isolate::heap(), input_, input_offset(), v8::internal::Code::instruction_start(), v8::internal::Code::is_turbofanned(), isolate_, v8::internal::StandardFrameConstants::kFixedFrameSizeFromFp, v8::internal::kFPOnStackSize, v8::internal::kPCOnStackSize, v8::internal::kPointerSize, LAZY, NULL, output_, output_count_, output_offset(), v8::internal::PrintF(), v8::internal::FrameDescription::SetCallerConstantPool(), v8::internal::FrameDescription::SetCallerFp(), v8::internal::FrameDescription::SetCallerPc(), v8::internal::FrameDescription::SetConstantPool(), v8::internal::FrameDescription::SetContext(), v8::internal::FrameDescription::SetContinuation(), v8::internal::FrameDescription::SetFp(), v8::internal::FrameDescription::SetFrameSlot(), v8::internal::FrameDescription::SetFrameType(), v8::internal::FrameDescription::SetPc(), v8::internal::FrameDescription::SetRegister(), v8::internal::FrameDescription::SetState(), v8::internal::FrameDescription::SetTop(), SOFT, v8::internal::BailoutId::ToInt(), trace_scope_, USE(), and V8PRIxPTR.
Referenced by DoComputeOutputFrames().
|
private |
Definition at line 750 of file deoptimizer.cc.
References v8::internal::DeoptimizationInputData::AstId(), bailout_id_, bailout_type_, v8::internal::Register::code(), compiled_code_, DCHECK, DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeCompiledStubFrame(), DoComputeConstructStubFrame(), DoComputeJSFrame(), EAGER, FATAL, v8::internal::JavaScriptFrame::fp_register(), fp_to_sp_delta_, function_, v8::internal::FrameDescription::GetFunction(), v8::internal::FrameDescription::GetPc(), v8::internal::FrameDescription::GetRegister(), v8::internal::FrameDescription::GetState(), has_alignment_padding_, input_, v8::internal::Code::is_hydrogen_stub(), isolate(), v8::internal::compiler::JS_FRAME, jsframe_count_, v8::internal::Code::kind(), v8::internal::kPointerSize, LOG, MessageFor(), NULL, output_, output_count_, v8::internal::Code::PrintDeoptLocation(), v8::internal::PrintF(), PrintFunctionName(), REGISTER, SOFT, stack_fp_, v8::internal::FullCodeGenerator::State2String(), v8::internal::BailoutId::ToInt(), trace_scope_, USE(), V8PRIxPTR, and v8::internal::Smi::value().
Referenced by ComputeOutputFrames().
|
private |
Definition at line 2421 of file deoptimizer.cc.
References AddDoubleValue(), AddObjectDuplication(), AddObjectStart(), v8::internal::DwVfpRegister::AllocationIndexToString(), ComputeLiteral(), deferred_objects_, DoTranslateObject(), FATAL, v8::internal::Smi::FromInt(), v8::internal::FrameDescription::GetDoubleFrameSlot(), v8::internal::FrameDescription::GetDoubleRegister(), v8::internal::FrameDescription::GetFrameSlot(), v8::internal::FrameDescription::GetOffsetFromSlotIndex(), v8::internal::FrameDescription::GetRegister(), v8::internal::FrameDescription::GetTop(), v8::internal::Isolate::heap(), input_, input_offset(), isolate_, v8::internal::Smi::IsValid(), v8::internal::compiler::JS_FRAME, v8::internal::Smi::kMaxValue, disasm::NameConverter::NameOfCPURegister(), NULL, output_, output_offset(), v8::internal::PrintF(), REGISTER, v8::internal::FrameDescription::SetFrameSlot(), v8::internal::Object::ShortPrint(), trace_scope_, v8::internal::TraceValueType(), V8PRIdPTR, V8PRIuPTR, and V8PRIxPTR.
Referenced by DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeCompiledStubFrame(), DoComputeConstructStubFrame(), and DoComputeJSFrame().
|
private |
Definition at line 2159 of file deoptimizer.cc.
References AddObjectDoubleValue(), AddObjectDuplication(), AddObjectStart(), AddObjectTaggedValue(), v8::internal::DwVfpRegister::AllocationIndexToString(), ComputeLiteral(), deferred_objects_, FATAL, v8::internal::Smi::FromInt(), v8::internal::FrameDescription::GetDoubleFrameSlot(), v8::internal::FrameDescription::GetDoubleRegister(), v8::internal::FrameDescription::GetFrameSlot(), v8::internal::FrameDescription::GetOffsetFromSlotIndex(), v8::internal::FrameDescription::GetRegister(), v8::internal::Isolate::heap(), input_, input_offset(), isolate_, v8::internal::Smi::IsValid(), v8::internal::compiler::JS_FRAME, v8::internal::Smi::kMaxValue, disasm::NameConverter::NameOfCPURegister(), NULL, v8::internal::PrintF(), REGISTER, v8::internal::Object::ShortPrint(), trace_scope_, v8::internal::TraceValueType(), V8PRIdPTR, and V8PRIxPTR.
Referenced by DoTranslateCommand(), and DoTranslateObjectAndSkip().
|
private |
Definition at line 2092 of file deoptimizer.cc.
References AddObjectDuplication(), AddObjectStart(), deferred_objects_, DoTranslateObject(), FATAL, v8::internal::compiler::JS_FRAME, NULL, v8::internal::PrintF(), REGISTER, and trace_scope_.
Referenced by DoComputeAccessorStubFrame().
|
static |
Definition at line 2790 of file deoptimizer.cc.
References v8::internal::MemoryChunk::area_start(), v8::internal::CodeDesc::buffer, CHECK, v8::internal::MemoryChunk::CommitArea(), v8::internal::CopyBytes(), DCHECK, v8::internal::DeoptimizerData::deopt_entry_code_, v8::internal::DeoptimizerData::deopt_entry_code_entries_, v8::internal::Isolate::deoptimizer_data(), EAGER, v8::internal::CpuFeatures::FlushICache(), GenerateDeoptimizationEntries(), v8::internal::Assembler::GetCode(), GetMaxDeoptTableSize(), v8::internal::CodeDesc::instr_size, isolate(), v8::internal::KB, kMaxNumberOfEntries, kMinNumberOfEntries, LAZY, v8::internal::Max(), NULL, v8::internal::AssemblerBase::set_emit_debug_code(), and SOFT.
Referenced by GetDeoptimizationEntry(), and v8::internal::Isolate::Init().
|
static |
|
private |
Definition at line 82 of file deoptimizer-arm.cc.
References v8::internal::Register::code(), v8::internal::fp, v8::internal::FrameDescription::GetFrameSize(), input_, v8::internal::Register::kNumRegisters, v8::internal::kPointerSize, v8::internal::DwVfpRegister::NumAllocatableRegisters(), v8::internal::FrameDescription::SetDoubleRegister(), v8::internal::FrameDescription::SetFrameSlot(), v8::internal::FrameDescription::SetRegister(), v8::internal::sp, and v8::internal::Memory::uint32_at().
Referenced by DebuggerInspectableFrame().
Definition at line 60 of file deoptimizer.cc.
References CHECK, v8::internal::Code::contains(), v8::internal::JSFunction::context(), v8::internal::Context::DeoptimizedCodeListHead(), function_, v8::internal::Code::kind(), v8::internal::Context::native_context(), and NULL.
Referenced by FindOptimizedCode().
|
private |
Definition at line 618 of file deoptimizer.cc.
References bailout_type_, compiled_code(), v8::internal::Code::contains(), DCHECK, DEBUGGER, EAGER, FATAL, v8::internal::Isolate::FindCodeObject(), FindDeoptimizingCode(), from_, isolate_, LAZY, NULL, and SOFT.
Referenced by Deoptimizer().
|
inline |
Definition at line 149 of file deoptimizer.h.
References function_.
Referenced by ComputeIncomingArgumentSize(), DeoptimizeFunction(), Deoptimizer(), DoComputeJSFrame(), v8::internal::RUNTIME_FUNCTION(), and VisitAllOptimizedFunctionsForContext().
|
staticprivate |
Definition at line 232 of file deoptimizer.cc.
Referenced by EnsureCodeForDeoptimizationEntry().
|
static |
Definition at line 672 of file deoptimizer.cc.
References v8::internal::MemoryChunk::area_start(), CALCULATE_ENTRY_ADDRESS, CHECK_EQ, CHECK_GE, CHECK_LT, v8::internal::DeoptimizerData::deopt_entry_code_, v8::internal::Isolate::deoptimizer_data(), ENSURE_ENTRY_CODE, EnsureCodeForDeoptimizationEntry(), isolate(), kBailoutTypesWithCodeEntry, kMaxNumberOfEntries, mode(), NULL, and table_entry_size_.
Referenced by v8::internal::LCodeGen::DeoptimizeBranch(), v8::internal::LCodeGen::DeoptimizeIf(), PatchCodeForDeoptimization(), and v8::internal::ExternalReferenceTable::PopulateTable().
|
static |
Definition at line 690 of file deoptimizer.cc.
References v8::internal::MemoryChunk::area_start(), DCHECK_EQ, v8::internal::DeoptimizerData::deopt_entry_code_, v8::internal::Isolate::deoptimizer_data(), isolate(), kMaxNumberOfEntries, kNotDeoptimizationEntry, NULL, and table_entry_size_.
Referenced by v8::internal::Code::PrintDeoptLocation().
Definition at line 729 of file deoptimizer.cc.
References v8::internal::Context::cast(), DCHECK, v8::internal::Context::DeoptimizedCodeListHead(), v8::internal::FixedArray::get(), v8::internal::Isolate::heap(), isolate(), v8::internal::Code::kind(), v8::internal::Heap::native_contexts_list(), and v8::internal::Context::NEXT_CONTEXT_LINK.
|
static |
Definition at line 101 of file deoptimizer.cc.
References v8::base::OS::CommitPageSize(), v8::internal::kDeoptTableMaxEpilogueCodeSize, kMaxNumberOfEntries, and table_entry_size_.
Referenced by v8::internal::AllocateCodeChunk(), and EnsureCodeForDeoptimizationEntry().
|
static |
Definition at line 707 of file deoptimizer.cc.
References v8::internal::DeoptimizationOutputData::AstId(), v8::internal::SharedFunctionInfo::DebugName(), v8::internal::DeoptimizationOutputData::DeoptPoints(), v8::internal::endl(), FATAL, v8::internal::DeoptimizationOutputData::PcAndState(), v8::internal::String::ToCString(), and v8::internal::Smi::value().
Referenced by DoComputeJSFrame(), v8::internal::OptimizedFrame::Summarize(), and v8::internal::SharedFunctionInfo::VerifyBailoutId().
|
static |
Definition at line 111 of file deoptimizer.cc.
References CHECK_NE, v8::internal::DeoptimizerData::current_, DeleteFrameDescriptions(), v8::internal::Isolate::deoptimizer_data(), isolate(), and NULL.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inlinestatic |
|
private |
Definition at line 122 of file deoptimizer-arm.cc.
Referenced by DoComputeJSFrame().
|
inlinestatic |
Definition at line 235 of file deoptimizer.h.
References input_, and OFFSET_OF.
Referenced by DoComputeJSFrame(), DoTranslateCommand(), and DoTranslateObject().
|
inline |
Definition at line 292 of file deoptimizer.h.
References isolate_.
Referenced by AddObjectDoubleValue(), DebuggerInspectableFrame(), DeleteDebuggerInspectableFrame(), DeoptimizeAll(), v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo(), DeoptimizeMarkedCode(), DeoptimizeMarkedCodeForContext(), Deoptimizer(), DoComputeOutputFrames(), EnsureCodeForDeoptimizationEntry(), GetDeoptimizationEntry(), GetDeoptimizationId(), GetDeoptimizedCodeCount(), Grab(), New(), PatchCodeForDeoptimization(), and VisitAllOptimizedFunctions().
|
inline |
Definition at line 154 of file deoptimizer.h.
References jsframe_count_.
Referenced by DebuggerInspectableFrame(), and MaterializeHeapObjects().
|
staticprivate |
Definition at line 492 of file deoptimizer.cc.
References CHECK_EQ, v8::internal::Code::kind(), v8::internal::Context::OptimizedCodeListHead(), and v8::internal::Code::set_marked_for_deoptimization().
Referenced by DeoptimizeAll(), and DeoptimizeGlobalObject().
void v8::internal::Deoptimizer::MaterializeHeapNumbersForDebuggerInspectableFrame | ( | Address | parameters_top, |
uint32_t | parameters_size, | ||
Address | expressions_top, | ||
uint32_t | expressions_size, | ||
DeoptimizedFrameInfo * | info | ||
) |
Definition at line 2029 of file deoptimizer.cc.
References bailout_type_, CHECK_EQ, DEBUGGER, deferred_heap_numbers_, v8::internal::DeoptimizedFrameInfo::expression_count(), v8::internal::Isolate::factory(), isolate_, v8::internal::kPointerSize, NULL, v8::internal::DeoptimizedFrameInfo::parameters_count(), v8::internal::PrintF(), v8::internal::DeoptimizedFrameInfo::SetExpression(), v8::internal::DeoptimizedFrameInfo::SetParameter(), and trace_scope_.
Referenced by DebuggerInspectableFrame().
void v8::internal::Deoptimizer::MaterializeHeapObjects | ( | JavaScriptFrameIterator * | it | ) |
Definition at line 1922 of file deoptimizer.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), ArgumentsObjectIsAdapted(), v8::internal::List< T, AllocationPolicy >::at(), bailout_type_, CHECK_EQ, DCHECK, DCHECK_NE, DEBUGGER, deferred_heap_numbers_, deferred_objects_, deferred_objects_double_values_, deferred_objects_tagged_values_, v8::internal::Isolate::factory(), v8::internal::JavaScriptFrame::function(), v8::internal::MaterializedObjectStore::Get(), v8::internal::handle(), v8::internal::JavaScriptFrame::has_adapted_arguments(), isolate_, jsframe_count(), jsframe_functions_, jsframe_has_adapted_arguments_, materialization_object_index_, materialization_value_index_, v8::internal::Isolate::materialized_object_store(), materialized_objects_, materialized_values_, MaterializeNextHeapObject(), NULL, v8::internal::Memory::Object_at(), prev_materialized_count_, previously_materialized_objects_, v8::internal::PrintF(), v8::internal::MaterializedObjectStore::Remove(), v8::internal::List< T, AllocationPolicy >::Set(), stack_fp_, and trace_scope_.
Referenced by v8::internal::RUNTIME_FUNCTION().
Definition at line 1804 of file deoptimizer.cc.
References ArgumentsObjectFunction(), ArgumentsObjectIsAdapted(), v8::internal::Handle< T >::cast(), DCHECK_EQ, deferred_objects_, v8::internal::Isolate::factory(), FATAL, v8::internal::Accessors::FunctionGetArguments(), v8::internal::Map::GeneralizeAllFieldRepresentations(), v8::internal::HEAP_NUMBER_TYPE, isolate_, v8::internal::JS_ARRAY_TYPE, v8::internal::JS_OBJECT_TYPE, v8::internal::kDoubleSize, v8::internal::kPointerSize, map, materialization_object_index_, materialization_value_index_, materialized_objects_, MaterializeNextValue(), v8::internal::MUTABLE_HEAP_NUMBER_TYPE, v8::internal::NOT_TENURED, prev_materialized_count_, previously_materialized_objects_, and v8::internal::PrintF().
Referenced by MaterializeHeapObjects(), and MaterializeNextValue().
Definition at line 1909 of file deoptimizer.cc.
References v8::internal::Isolate::heap(), isolate_, materialization_value_index_, materialized_values_, and MaterializeNextHeapObject().
Referenced by MaterializeNextHeapObject().
|
static |
Definition at line 536 of file deoptimizer.cc.
References DEBUGGER, EAGER, FATAL, LAZY, NULL, and SOFT.
Referenced by DoComputeOutputFrames().
|
static |
Definition at line 78 of file deoptimizer.cc.
References CHECK, v8::internal::DeoptimizerData::current_, Deoptimizer(), v8::internal::Isolate::deoptimizer_data(), isolate(), and NULL.
|
inline |
|
inlinestatic |
Definition at line 236 of file deoptimizer.h.
References OFFSET_OF, and output_count_.
|
inlinestatic |
Definition at line 239 of file deoptimizer.h.
References OFFSET_OF, and output_.
Referenced by DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeConstructStubFrame(), DoComputeJSFrame(), and DoTranslateCommand().
|
static |
Definition at line 18 of file deoptimizer-arm.cc.
References v8::internal::Assembler::kInstrSize.
Referenced by v8::internal::LCodeGen::GenerateBodyInstructionPre(), and PatchCodeForDeoptimization().
|
staticprivate |
Definition at line 24 of file deoptimizer-arm.cc.
References v8::internal::Assembler::bkpt(), v8::internal::MacroAssembler::Call(), v8::internal::MacroAssembler::CallSizeNotPredictableCodeSize(), DCHECK, v8::internal::DeoptimizationInputData::DeoptCount(), v8::internal::Code::FindCodeAgeSequence(), GetDeoptimizationEntry(), v8::internal::Code::instruction_end(), v8::internal::Code::instruction_start(), v8::internal::Code::InvalidateRelocation(), isolate(), v8::internal::Assembler::kInstrSize, v8::internal::kNoCodeAgeSequenceLength, LAZY, v8::internal::CodePatcher::masm(), v8::internal::RelocInfo::NONE32, NULL, and patch_size().
Referenced by DeoptimizeMarkedCodeForContext().
|
private |
Definition at line 638 of file deoptimizer.cc.
References compiled_code_, function_, v8::internal::Code::kind(), v8::internal::Code::Kind2String(), v8::internal::PrintF(), v8::internal::JSFunction::PrintName(), and trace_scope_.
Referenced by DoComputeOutputFrames().
|
private |
Definition at line 103 of file deoptimizer-arm.cc.
References v8::internal::Register::code(), v8::internal::CodeStubDescriptor::deoptimization_handler(), v8::internal::CodeStubDescriptor::GetHandlerParameterCount(), isolate_, v8::internal::r0, v8::internal::r1, and v8::internal::FrameDescription::SetRegister().
Referenced by DoComputeCompiledStubFrame().
|
static |
Definition at line 520 of file deoptimizer.cc.
References DEBUGGER, EAGER, FATAL, LAZY, SOFT, and v8::internal::STUB.
Referenced by Deoptimizer().
|
static |
Definition at line 284 of file deoptimizer.cc.
References v8::internal::Context::cast(), v8::internal::FixedArray::get(), v8::internal::Isolate::heap(), isolate(), v8::internal::Heap::native_contexts_list(), v8::internal::Context::NEXT_CONTEXT_LINK, and VisitAllOptimizedFunctionsForContext().
Referenced by v8::internal::DeoptimizeDependentFunctions(), and v8::internal::EnumerateCompiledFunctions().
|
staticprivate |
Definition at line 240 of file deoptimizer.cc.
References CHECK, CHECK_EQ, function(), v8::internal::HeapObject::GetHeap(), v8::internal::Context::IsNativeContext(), NULL, v8::internal::Context::OptimizedFunctionsListHead(), and v8::internal::Context::SetOptimizedFunctionsListHead().
Referenced by DeoptimizeMarkedCodeForContext(), and VisitAllOptimizedFunctions().
|
friend |
Definition at line 454 of file deoptimizer.h.
Referenced by DebuggerInspectableFrame().
|
friend |
Definition at line 453 of file deoptimizer.h.
Referenced by Deoptimizer(), DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeCompiledStubFrame(), DoComputeConstructStubFrame(), and DoComputeJSFrame().
|
private |
Definition at line 408 of file deoptimizer.h.
Referenced by ComputeOutgoingArgumentSize(), and DoComputeOutputFrames().
|
private |
Definition at line 409 of file deoptimizer.h.
Referenced by bailout_type(), Deoptimizer(), DoComputeJSFrame(), DoComputeOutputFrames(), FindOptimizedCode(), MaterializeHeapNumbersForDebuggerInspectableFrame(), and MaterializeHeapObjects().
|
private |
Definition at line 407 of file deoptimizer.h.
Referenced by compiled_code(), ComputeInputFrameSize(), ComputeLiteral(), ComputeOutgoingArgumentSize(), Deoptimizer(), DoComputeCompiledStubFrame(), DoComputeJSFrame(), DoComputeOutputFrames(), and PrintFunctionName().
|
private |
Definition at line 428 of file deoptimizer.h.
Referenced by AddDoubleValue(), MaterializeHeapNumbersForDebuggerInspectableFrame(), and MaterializeHeapObjects().
|
private |
Definition at line 427 of file deoptimizer.h.
Referenced by AddObjectDuplication(), AddObjectStart(), ArgumentsObjectFunction(), ArgumentsObjectIsAdapted(), DoComputeConstructStubFrame(), DoTranslateCommand(), DoTranslateObject(), DoTranslateObjectAndSkip(), MaterializeHeapObjects(), and MaterializeNextHeapObject().
|
private |
Definition at line 426 of file deoptimizer.h.
Referenced by AddObjectDoubleValue(), and MaterializeHeapObjects().
Definition at line 424 of file deoptimizer.h.
Referenced by AddObjectDoubleValue(), AddObjectTaggedValue(), and MaterializeHeapObjects().
|
private |
Definition at line 411 of file deoptimizer.h.
Referenced by ComputeInputFrameSize(), and DoComputeOutputFrames().
|
private |
Definition at line 410 of file deoptimizer.h.
Referenced by FindOptimizedCode().
|
private |
Definition at line 406 of file deoptimizer.h.
Referenced by ComputeInputFrameSize(), DoComputeJSFrame(), DoComputeOutputFrames(), FindDeoptimizingCode(), function(), and PrintFunctionName().
|
private |
Definition at line 412 of file deoptimizer.h.
Referenced by DoComputeJSFrame(), DoComputeOutputFrames(), and has_alignment_padding_offset().
|
private |
Definition at line 415 of file deoptimizer.h.
Referenced by CopyDoubleRegisters(), DeleteFrameDescriptions(), Deoptimizer(), DoComputeCompiledStubFrame(), DoComputeJSFrame(), DoComputeOutputFrames(), DoTranslateCommand(), DoTranslateObject(), FillInputFrame(), input_offset(), and ~Deoptimizer().
|
private |
Definition at line 405 of file deoptimizer.h.
Referenced by DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeCompiledStubFrame(), DoComputeConstructStubFrame(), DoComputeJSFrame(), DoTranslateCommand(), DoTranslateObject(), FindOptimizedCode(), isolate(), MaterializeHeapNumbersForDebuggerInspectableFrame(), MaterializeHeapObjects(), MaterializeNextHeapObject(), MaterializeNextValue(), and SetPlatformCompiledStubRegisters().
|
private |
Definition at line 419 of file deoptimizer.h.
Referenced by AddObjectDuplication(), AddObjectStart(), ArgumentsObjectFunction(), ArgumentsObjectIsAdapted(), DoComputeOutputFrames(), and jsframe_count().
|
private |
Definition at line 436 of file deoptimizer.h.
Referenced by ArgumentsObjectFunction(), and MaterializeHeapObjects().
Definition at line 437 of file deoptimizer.h.
Referenced by ArgumentsObjectIsAdapted(), and MaterializeHeapObjects().
Definition at line 102 of file deoptimizer.h.
Referenced by v8::internal::DeoptimizerData::DeoptimizerData(), GetDeoptimizationEntry(), and v8::internal::DeoptimizerData::~DeoptimizerData().
|
staticprivate |
Definition at line 296 of file deoptimizer.h.
Referenced by EnsureCodeForDeoptimizationEntry(), GetDeoptimizationEntry(), GetDeoptimizationId(), and GetMaxDeoptTableSize().
|
staticprivate |
Definition at line 295 of file deoptimizer.h.
Referenced by EnsureCodeForDeoptimizationEntry().
|
static |
Definition at line 247 of file deoptimizer.h.
Referenced by GetDeoptimizationId().
|
private |
Definition at line 443 of file deoptimizer.h.
Referenced by MaterializeHeapObjects(), and MaterializeNextHeapObject().
|
private |
Definition at line 442 of file deoptimizer.h.
Referenced by MaterializeHeapObjects(), MaterializeNextHeapObject(), and MaterializeNextValue().
Definition at line 441 of file deoptimizer.h.
Referenced by MaterializeHeapObjects(), and MaterializeNextHeapObject().
Definition at line 440 of file deoptimizer.h.
Referenced by MaterializeHeapObjects(), and MaterializeNextValue().
|
private |
Definition at line 421 of file deoptimizer.h.
Referenced by ConvertJSFrameIndexToFrameIndex(), DebuggerInspectableFrame(), DeleteFrameDescriptions(), v8::internal::DeoptimizedFrameInfo::DeoptimizedFrameInfo(), DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeCompiledStubFrame(), DoComputeConstructStubFrame(), DoComputeJSFrame(), DoComputeOutputFrames(), DoTranslateCommand(), output_offset(), and ~Deoptimizer().
|
private |
Definition at line 417 of file deoptimizer.h.
Referenced by DeleteFrameDescriptions(), DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeConstructStubFrame(), DoComputeJSFrame(), DoComputeOutputFrames(), output_count(), and output_count_offset().
|
private |
Definition at line 433 of file deoptimizer.h.
Referenced by MaterializeHeapObjects(), and MaterializeNextHeapObject().
|
private |
Definition at line 432 of file deoptimizer.h.
Referenced by MaterializeHeapObjects(), and MaterializeNextHeapObject().
|
private |
Definition at line 431 of file deoptimizer.h.
Referenced by DoComputeOutputFrames(), and MaterializeHeapObjects().
|
staticprivate |
Definition at line 451 of file deoptimizer.h.
Referenced by v8::internal::Deoptimizer::TableEntryGenerator::GeneratePrologue(), GetDeoptimizationEntry(), GetDeoptimizationId(), and GetMaxDeoptTableSize().
|
private |
Definition at line 449 of file deoptimizer.h.
Referenced by Deoptimizer(), DoComputeAccessorStubFrame(), DoComputeArgumentsAdaptorFrame(), DoComputeCompiledStubFrame(), DoComputeConstructStubFrame(), DoComputeJSFrame(), DoComputeOutputFrames(), DoTranslateCommand(), DoTranslateObject(), DoTranslateObjectAndSkip(), MaterializeHeapNumbersForDebuggerInspectableFrame(), MaterializeHeapObjects(), PrintFunctionName(), and ~Deoptimizer().