v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BackEdgeTable Class Reference

#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)
 

Detailed Description

Definition at line 880 of file full-codegen.h.

Member Enumeration Documentation

Enumerator
INTERRUPT 
ON_STACK_REPLACEMENT 
OSR_AFTER_STACK_CHECK 

Definition at line 909 of file full-codegen.h.

Constructor & Destructor Documentation

Member Function Documentation

void AddStackCheck ( Handle< Code code,
uint32_t  pc_offset 
)
static
BailoutId ast_id ( uint32_t  index)
inline
static BackEdgeState GetBackEdgeState ( Isolate isolate,
Code unoptimized_code,
Address  pc_after 
)
static
uint32_t length ( )
inline
uint32_t loop_depth ( uint32_t  index)
inline

Definition at line 897 of file full-codegen.h.

References Memory::uint32_at().

Referenced by BackEdgeTable::Patch(), and BackEdgeTable::Revert().

static void PatchAt ( Code unoptimized_code,
Address  pc,
BackEdgeState  target_state,
Code replacement_code 
)
static
Address pc ( uint32_t  index)
inline

Definition at line 905 of file full-codegen.h.

References BackEdgeTable::pc_offset().

Referenced by BackEdgeTable::Patch(), and BackEdgeTable::Revert().

uint32_t pc_offset ( uint32_t  index)
inline
void RemoveStackCheck ( Handle< Code code,
uint32_t  pc_offset 
)
static

The documentation for this class was generated from the following files: