V8 Project
|
#include <full-codegen.h>
Public Types | |
enum | BackEdgeState { INTERRUPT , ON_STACK_REPLACEMENT , OSR_AFTER_STACK_CHECK } |
Public Member Functions | |
BackEdgeTable (Code *code, DisallowHeapAllocation *required) | |
uint32_t | length () |
BailoutId | ast_id (uint32_t index) |
uint32_t | loop_depth (uint32_t index) |
uint32_t | pc_offset (uint32_t index) |
Address | pc (uint32_t index) |
Static Public Member Functions | |
static void | Patch (Isolate *isolate, Code *unoptimized_code) |
static void | PatchAt (Code *unoptimized_code, Address pc, BackEdgeState target_state, Code *replacement_code) |
static void | Revert (Isolate *isolate, Code *unoptimized_code) |
static void | AddStackCheck (Handle< Code > code, uint32_t pc_offset) |
static void | RemoveStackCheck (Handle< Code > code, uint32_t pc_offset) |
static BackEdgeState | GetBackEdgeState (Isolate *isolate, Code *unoptimized_code, Address pc_after) |
Private Member Functions | |
Address | entry_at (uint32_t index) |
Private Attributes | |
Address | start_ |
Address | instruction_start_ |
uint32_t | length_ |
Static Private Attributes | |
static const int | kTableLengthSize = kIntSize |
static const int | kAstIdOffset = 0 * kIntSize |
static const int | kPcOffsetOffset = 1 * kIntSize |
static const int | kLoopDepthOffset = 2 * kIntSize |
static const int | kEntrySize = 3 * kIntSize |
Definition at line 877 of file full-codegen.h.
Enumerator | |
---|---|
INTERRUPT | |
ON_STACK_REPLACEMENT | |
OSR_AFTER_STACK_CHECK |
Definition at line 906 of file full-codegen.h.
|
inline |
Definition at line 879 of file full-codegen.h.
References v8::internal::Code::back_edge_table_offset(), DCHECK, v8::internal::Code::instruction_start(), instruction_start_, v8::internal::Code::kind(), kTableLengthSize, length_, start_, and v8::internal::Memory::uint32_at().
Definition at line 1675 of file full-codegen.cc.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), and v8::internal::pc.
Referenced by v8::internal::RUNTIME_FUNCTION().
Definition at line 889 of file full-codegen.h.
References entry_at(), kAstIdOffset, and v8::internal::Memory::uint32_at().
Referenced by v8::internal::Code::TranslateAstIdToPcOffset(), and v8::internal::Code::TranslatePcOffsetToAstId().
Definition at line 943 of file full-codegen.h.
References DCHECK, kEntrySize, length_, and start_.
Referenced by ast_id(), loop_depth(), and pc_offset().
|
static |
|
inline |
Definition at line 887 of file full-codegen.h.
References length_.
Referenced by Patch(), Revert(), v8::internal::Code::TranslateAstIdToPcOffset(), and v8::internal::Code::TranslatePcOffsetToAstId().
Definition at line 894 of file full-codegen.h.
References entry_at(), kLoopDepthOffset, and v8::internal::Memory::uint32_at().
Referenced by Patch(), and Revert().
Definition at line 1627 of file full-codegen.cc.
References v8::internal::Code::allow_osr_at_loop_nesting_level(), v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), DCHECK, DCHECK_EQ, v8::internal::Code::kMaxLoopNestingMarker, length(), loop_depth(), pc(), and v8::internal::Code::set_allow_osr_at_loop_nesting_level().
Referenced by v8::internal::RuntimeProfiler::AttemptOnStackReplacement().
|
static |
Definition at line 902 of file full-codegen.h.
References instruction_start_, and pc_offset().
Referenced by Patch(), and Revert().
Definition at line 898 of file full-codegen.h.
References entry_at(), kPcOffsetOffset, and v8::internal::Memory::uint32_at().
Referenced by pc(), v8::internal::Code::TranslateAstIdToPcOffset(), and v8::internal::Code::TranslatePcOffsetToAstId().
|
static |
Definition at line 1684 of file full-codegen.cc.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), and v8::internal::pc.
Referenced by v8::internal::DisposeOptimizedCompileJob(), and v8::internal::OptimizingCompilerThread::InstallOptimizedFunctions().
Definition at line 1652 of file full-codegen.cc.
References v8::internal::Code::allow_osr_at_loop_nesting_level(), v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), DCHECK, DCHECK_NE, length(), loop_depth(), pc(), and v8::internal::Code::set_allow_osr_at_loop_nesting_level().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
private |
Definition at line 955 of file full-codegen.h.
Referenced by BackEdgeTable(), and pc().
Definition at line 949 of file full-codegen.h.
Referenced by ast_id().
Definition at line 952 of file full-codegen.h.
Referenced by entry_at().
Definition at line 951 of file full-codegen.h.
Referenced by loop_depth().
Definition at line 950 of file full-codegen.h.
Referenced by pc_offset().
Definition at line 948 of file full-codegen.h.
Referenced by BackEdgeTable().
|
private |
Definition at line 956 of file full-codegen.h.
Referenced by BackEdgeTable(), entry_at(), and length().
|
private |
Definition at line 954 of file full-codegen.h.
Referenced by BackEdgeTable(), and entry_at().