![]() |
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().