v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#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) |
Definition at line 880 of file full-codegen.h.
enum BackEdgeState |
Enumerator | |
---|---|
INTERRUPT | |
ON_STACK_REPLACEMENT | |
OSR_AFTER_STACK_CHECK |
Definition at line 909 of file full-codegen.h.
|
inline |
Definition at line 882 of file full-codegen.h.
References ASSERT, Code::back_edge_table_offset(), Code::instruction_start(), Code::kind(), and Memory::uint32_at().
Definition at line 1694 of file full-codegen.cc.
References Builtins::builtin(), Isolate::builtins(), and v8::internal::pc.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 892 of file full-codegen.h.
References Memory::uint32_at().
Referenced by Code::TranslateAstIdToPcOffset(), and Code::TranslatePcOffsetToAstId().
|
static |
|
inline |
Definition at line 890 of file full-codegen.h.
Referenced by BackEdgeTable::Patch(), BackEdgeTable::Revert(), Code::TranslateAstIdToPcOffset(), and Code::TranslatePcOffsetToAstId().
|
inline |
Definition at line 897 of file full-codegen.h.
References Memory::uint32_at().
Referenced by BackEdgeTable::Patch(), and BackEdgeTable::Revert().
Definition at line 1646 of file full-codegen.cc.
References Code::allow_osr_at_loop_nesting_level(), ASSERT, ASSERT_EQ, Builtins::builtin(), Isolate::builtins(), v8::internal::INTERRUPT, BackEdgeTable::length(), BackEdgeTable::loop_depth(), BackEdgeTable::pc(), and Code::set_back_edges_patched_for_osr().
Referenced by RuntimeProfiler::AttemptOnStackReplacement().
|
static |
|
inline |
Definition at line 905 of file full-codegen.h.
References BackEdgeTable::pc_offset().
Referenced by BackEdgeTable::Patch(), and BackEdgeTable::Revert().
|
inline |
Definition at line 901 of file full-codegen.h.
References Memory::uint32_at().
Referenced by BackEdgeTable::pc(), Code::TranslateAstIdToPcOffset(), and Code::TranslatePcOffsetToAstId().
Definition at line 1703 of file full-codegen.cc.
References Builtins::builtin(), Isolate::builtins(), and v8::internal::pc.
Referenced by OptimizingCompilerThread::InstallOptimizedFunctions().
Definition at line 1669 of file full-codegen.cc.
References Code::allow_osr_at_loop_nesting_level(), ASSERT, ASSERT_NE, Code::back_edges_patched_for_osr(), Builtins::builtin(), Isolate::builtins(), v8::internal::INTERRUPT, BackEdgeTable::length(), BackEdgeTable::loop_depth(), BackEdgeTable::pc(), Code::set_allow_osr_at_loop_nesting_level(), and Code::set_back_edges_patched_for_osr().
Referenced by v8::internal::RUNTIME_FUNCTION().