v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::compiler::CompilationDependencies Class Reference

#include <compilation-dependencies.h>

Inheritance diagram for v8::internal::compiler::CompilationDependencies:
Collaboration diagram for v8::internal::compiler::CompilationDependencies:

Classes

struct  CompilationDependencyEqual
 
struct  CompilationDependencyHash
 

Public Member Functions

 CompilationDependencies (JSHeapBroker *broker, Zone *zone)
 
V8_WARN_UNUSED_RESULT bool Commit (Handle< Code > code)
 
MapRef DependOnInitialMap (JSFunctionRef function)
 
HeapObjectRef DependOnPrototypeProperty (JSFunctionRef function)
 
void DependOnStableMap (MapRef map)
 
void DependOnNoSlackTrackingChange (MapRef map)
 
void DependOnConstantInDictionaryPrototypeChain (MapRef receiver_map, NameRef property_name, ObjectRef constant, PropertyKind kind)
 
AllocationType DependOnPretenureMode (AllocationSiteRef site)
 
PropertyConstness DependOnFieldConstness (MapRef map, MapRef owner, InternalIndex descriptor)
 
CompilationDependency const * FieldConstnessDependencyOffTheRecord (MapRef map, MapRef owner, InternalIndex descriptor)
 
void DependOnGlobalProperty (PropertyCellRef cell)
 
bool DependOnScriptContextSlotProperty (ContextRef script_context, size_t index, ContextSidePropertyCell::Property property, JSHeapBroker *broker)
 
bool DependOnEmptyContextExtension (ScopeInfoRef scope_info)
 
bool DependOnProtector (PropertyCellRef cell)
 
bool DependOnArrayBufferDetachingProtector ()
 
bool DependOnArrayIteratorProtector ()
 
bool DependOnArraySpeciesProtector ()
 
bool DependOnNoElementsProtector ()
 
bool DependOnPromiseHookProtector ()
 
bool DependOnPromiseSpeciesProtector ()
 
bool DependOnPromiseThenProtector ()
 
bool DependOnMegaDOMProtector ()
 
bool DependOnNoProfilingProtector ()
 
bool DependOnNoUndetectableObjectsProtector ()
 
bool DependOnStringWrapperToPrimitiveProtector ()
 
bool DependOnTypedArrayLengthProtector ()
 
void DependOnElementsKind (AllocationSiteRef site)
 
void DependOnObjectSlotValue (HeapObjectRef object, int offset, ObjectRef value)
 
void DependOnOwnConstantElement (JSObjectRef holder, uint32_t index, ObjectRef element)
 
void DependOnOwnConstantDataProperty (JSObjectRef holder, MapRef map, FieldIndex index, ObjectRef value)
 
void DependOnOwnConstantDoubleProperty (JSObjectRef holder, MapRef map, FieldIndex index, Float64 value)
 
void DependOnOwnConstantDictionaryProperty (JSObjectRef holder, InternalIndex index, ObjectRef value)
 
void DependOnStablePrototypeChains (ZoneVector< MapRef > const &receiver_maps, WhereToStart start, OptionalJSObjectRef last_prototype=OptionalJSObjectRef())
 
void DependOnStablePrototypeChain (MapRef receiver_maps, WhereToStart start, OptionalJSObjectRef last_prototype=OptionalJSObjectRef())
 
void DependOnElementsKinds (AllocationSiteRef site)
 
void DependOnConsistentJSFunctionView (JSFunctionRef function)
 
SlackTrackingPrediction DependOnInitialMapInstanceSizePrediction (JSFunctionRef function)
 
void RecordDependency (CompilationDependency const *dependency)
 
CompilationDependency const * TransitionDependencyOffTheRecord (MapRef target_map) const
 
CompilationDependency const * FieldRepresentationDependencyOffTheRecord (MapRef map, MapRef owner, InternalIndex descriptor, Representation representation) const
 
CompilationDependency const * FieldTypeDependencyOffTheRecord (MapRef map, MapRef owner, InternalIndex descriptor, ObjectRef type) const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Private Types

using CompilationDependencySet
 

Private Member Functions

bool PrepareInstall ()
 
bool PrepareInstallPredictable ()
 

Private Attributes

Zone *const zone_
 
JSHeapBroker *const broker_
 
CompilationDependencySet dependencies_
 

Detailed Description

Definition at line 31 of file compilation-dependencies.h.

Member Typedef Documentation

◆ CompilationDependencySet

Initial value:
ZoneUnorderedSet<const CompilationDependency*, CompilationDependencyHash,
CompilationDependencyEqual>

Definition at line 204 of file compilation-dependencies.h.

Constructor & Destructor Documentation

◆ CompilationDependencies()

v8::internal::compiler::CompilationDependencies::CompilationDependencies ( JSHeapBroker * broker,
Zone * zone )

Definition at line 49 of file compilation-dependencies.cc.

Here is the call graph for this function:

Member Function Documentation

◆ Commit()

bool v8::internal::compiler::CompilationDependencies::Commit ( Handle< Code > code)

Definition at line 1459 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnArrayBufferDetachingProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnArrayBufferDetachingProtector ( )

Definition at line 1363 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnArrayIteratorProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnArrayIteratorProtector ( )

Definition at line 1369 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnArraySpeciesProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnArraySpeciesProtector ( )

Definition at line 1374 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnConsistentJSFunctionView()

void v8::internal::compiler::CompilationDependencies::DependOnConsistentJSFunctionView ( JSFunctionRef function)

Definition at line 1602 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnConstantInDictionaryPrototypeChain()

void v8::internal::compiler::CompilationDependencies::DependOnConstantInDictionaryPrototypeChain ( MapRef receiver_map,
NameRef property_name,
ObjectRef constant,
PropertyKind kind )

Definition at line 1241 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnElementsKind()

void v8::internal::compiler::CompilationDependencies::DependOnElementsKind ( AllocationSiteRef site)

Definition at line 1410 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnElementsKinds()

void v8::internal::compiler::CompilationDependencies::DependOnElementsKinds ( AllocationSiteRef site)

Definition at line 1592 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnEmptyContextExtension()

bool v8::internal::compiler::CompilationDependencies::DependOnEmptyContextExtension ( ScopeInfoRef scope_info)

Definition at line 1320 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnFieldConstness()

PropertyConstness v8::internal::compiler::CompilationDependencies::DependOnFieldConstness ( MapRef map,
MapRef owner,
InternalIndex descriptor )

Definition at line 1256 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnGlobalProperty()

void v8::internal::compiler::CompilationDependencies::DependOnGlobalProperty ( PropertyCellRef cell)

Definition at line 1299 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnInitialMap()

MapRef v8::internal::compiler::CompilationDependencies::DependOnInitialMap ( JSFunctionRef function)

Definition at line 1221 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnInitialMapInstanceSizePrediction()

SlackTrackingPrediction v8::internal::compiler::CompilationDependencies::DependOnInitialMapInstanceSizePrediction ( JSFunctionRef function)

Definition at line 1620 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnMegaDOMProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnMegaDOMProtector ( )

Definition at line 1341 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnNoElementsProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnNoElementsProtector ( )

Definition at line 1379 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnNoProfilingProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnNoProfilingProtector ( )

Definition at line 1346 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnNoSlackTrackingChange()

void v8::internal::compiler::CompilationDependencies::DependOnNoSlackTrackingChange ( MapRef map)

Definition at line 1607 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnNoUndetectableObjectsProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnNoUndetectableObjectsProtector ( )

Definition at line 1357 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnObjectSlotValue()

void v8::internal::compiler::CompilationDependencies::DependOnObjectSlotValue ( HeapObjectRef object,
int offset,
ObjectRef value )

Definition at line 1420 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnOwnConstantDataProperty()

void v8::internal::compiler::CompilationDependencies::DependOnOwnConstantDataProperty ( JSObjectRef holder,
MapRef map,
FieldIndex index,
ObjectRef value )

Definition at line 1434 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnOwnConstantDictionaryProperty()

void v8::internal::compiler::CompilationDependencies::DependOnOwnConstantDictionaryProperty ( JSObjectRef holder,
InternalIndex index,
ObjectRef value )

Definition at line 1446 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnOwnConstantDoubleProperty()

void v8::internal::compiler::CompilationDependencies::DependOnOwnConstantDoubleProperty ( JSObjectRef holder,
MapRef map,
FieldIndex index,
Float64 value )

Definition at line 1440 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnOwnConstantElement()

void v8::internal::compiler::CompilationDependencies::DependOnOwnConstantElement ( JSObjectRef holder,
uint32_t index,
ObjectRef element )

Definition at line 1427 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnPretenureMode()

AllocationType v8::internal::compiler::CompilationDependencies::DependOnPretenureMode ( AllocationSiteRef site)

Definition at line 1248 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnPromiseHookProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnPromiseHookProtector ( )

Definition at line 1384 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnPromiseSpeciesProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnPromiseSpeciesProtector ( )

Definition at line 1389 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnPromiseThenProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnPromiseThenProtector ( )

Definition at line 1394 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnProtector ( PropertyCellRef cell)

Definition at line 1334 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnPrototypeProperty()

HeapObjectRef v8::internal::compiler::CompilationDependencies::DependOnPrototypeProperty ( JSFunctionRef function)

Definition at line 1227 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnScriptContextSlotProperty()

bool v8::internal::compiler::CompilationDependencies::DependOnScriptContextSlotProperty ( ContextRef script_context,
size_t index,
ContextSidePropertyCell::Property property,
JSHeapBroker * broker )

Definition at line 1305 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnStableMap()

void v8::internal::compiler::CompilationDependencies::DependOnStableMap ( MapRef map)

Definition at line 1235 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnStablePrototypeChain()

void v8::internal::compiler::CompilationDependencies::DependOnStablePrototypeChain ( MapRef receiver_maps,
WhereToStart start,
OptionalJSObjectRef last_prototype = OptionalJSObjectRef() )

Definition at line 1565 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnStablePrototypeChains()

void v8::internal::compiler::CompilationDependencies::DependOnStablePrototypeChains ( ZoneVector< MapRef > const & receiver_maps,
WhereToStart start,
OptionalJSObjectRef last_prototype = OptionalJSObjectRef() )

Definition at line 1557 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DependOnStringWrapperToPrimitiveProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnStringWrapperToPrimitiveProtector ( )

Definition at line 1399 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ DependOnTypedArrayLengthProtector()

bool v8::internal::compiler::CompilationDependencies::DependOnTypedArrayLengthProtector ( )

Definition at line 1405 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FieldConstnessDependencyOffTheRecord()

CompilationDependency const * v8::internal::compiler::CompilationDependencies::FieldConstnessDependencyOffTheRecord ( MapRef map,
MapRef owner,
InternalIndex descriptor )

Definition at line 1280 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FieldRepresentationDependencyOffTheRecord()

CompilationDependency const * v8::internal::compiler::CompilationDependencies::FieldRepresentationDependencyOffTheRecord ( MapRef map,
MapRef owner,
InternalIndex descriptor,
Representation representation ) const

Definition at line 1645 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ FieldTypeDependencyOffTheRecord()

CompilationDependency const * v8::internal::compiler::CompilationDependencies::FieldTypeDependencyOffTheRecord ( MapRef map,
MapRef owner,
InternalIndex descriptor,
ObjectRef type ) const

Definition at line 1653 of file compilation-dependencies.cc.

Here is the call graph for this function:

◆ PrepareInstall()

bool v8::internal::compiler::CompilationDependencies::PrepareInstall ( )
private

Definition at line 1511 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrepareInstallPredictable()

bool v8::internal::compiler::CompilationDependencies::PrepareInstallPredictable ( )
private

Definition at line 1529 of file compilation-dependencies.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RecordDependency()

void v8::internal::compiler::CompilationDependencies::RecordDependency ( CompilationDependency const * dependency)

Definition at line 1216 of file compilation-dependencies.cc.

Here is the caller graph for this function:

◆ TransitionDependencyOffTheRecord()

CompilationDependency const * v8::internal::compiler::CompilationDependencies::TransitionDependencyOffTheRecord ( MapRef target_map) const

Definition at line 1634 of file compilation-dependencies.cc.

Here is the call graph for this function:

Member Data Documentation

◆ broker_

JSHeapBroker* const v8::internal::compiler::CompilationDependencies::broker_
private

Definition at line 209 of file compilation-dependencies.h.

◆ dependencies_

CompilationDependencySet v8::internal::compiler::CompilationDependencies::dependencies_
private

Definition at line 210 of file compilation-dependencies.h.

◆ zone_

Zone* const v8::internal::compiler::CompilationDependencies::zone_
private

Definition at line 208 of file compilation-dependencies.h.


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