![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <map-inference.h>
Public Member Functions | |
MapInference (JSHeapBroker *broker, Node *object, Effect effect) | |
~MapInference () | |
V8_WARN_UNUSED_RESULT bool | HaveMaps () const |
V8_WARN_UNUSED_RESULT bool | AllOfInstanceTypesAreJSReceiver () const |
V8_WARN_UNUSED_RESULT bool | AllOfInstanceTypesAre (InstanceType type) const |
V8_WARN_UNUSED_RESULT bool | AnyOfInstanceTypesAre (InstanceType type) const |
V8_WARN_UNUSED_RESULT ZoneRefSet< Map > const & | GetMaps () |
V8_WARN_UNUSED_RESULT bool | AllOfInstanceTypes (std::function< bool(InstanceType)> f) |
V8_WARN_UNUSED_RESULT bool | Is (MapRef expected_map) |
V8_WARN_UNUSED_RESULT bool | RelyOnMapsViaStability (CompilationDependencies *dependencies) |
bool | RelyOnMapsPreferStability (CompilationDependencies *dependencies, JSGraph *jsgraph, Effect *effect, Control control, const FeedbackSource &feedback) |
void | InsertMapChecks (JSGraph *jsgraph, Effect *effect, Control control, const FeedbackSource &feedback) |
V8_WARN_UNUSED_RESULT Reduction | NoChange () |
Private Types | |
enum | { kReliableOrGuarded , kUnreliableDontNeedGuard , kUnreliableNeedGuard } |
Private Member Functions | |
bool | Safe () const |
void | SetNeedGuardIfUnreliable () |
void | SetGuarded () |
V8_WARN_UNUSED_RESULT bool | AllOfInstanceTypesUnsafe (std::function< bool(InstanceType)> f) const |
V8_WARN_UNUSED_RESULT bool | AnyOfInstanceTypesUnsafe (std::function< bool(InstanceType)> f) const |
V8_WARN_UNUSED_RESULT bool | RelyOnMapsHelper (CompilationDependencies *dependencies, JSGraph *jsgraph, Effect *effect, Control control, const FeedbackSource &feedback) |
Private Attributes | |
JSHeapBroker *const | broker_ |
Node *const | object_ |
ZoneRefSet< Map > | maps_ |
enum v8::internal::compiler::MapInference:: { ... } | maps_state_ |
Definition at line 33 of file map-inference.h.
|
private |
Enumerator | |
---|---|
kReliableOrGuarded | |
kUnreliableDontNeedGuard | |
kUnreliableNeedGuard |
Definition at line 85 of file map-inference.h.
v8::internal::compiler::MapInference::MapInference | ( | JSHeapBroker * | broker, |
Node * | object, | ||
Effect | effect ) |
v8::internal::compiler::MapInference::~MapInference | ( | ) |
bool v8::internal::compiler::MapInference::AllOfInstanceTypes | ( | std::function< bool(InstanceType)> | f | ) |
bool v8::internal::compiler::MapInference::AllOfInstanceTypesAre | ( | InstanceType | type | ) | const |
Definition at line 47 of file map-inference.cc.
bool v8::internal::compiler::MapInference::AllOfInstanceTypesAreJSReceiver | ( | ) | const |
Definition at line 42 of file map-inference.cc.
|
private |
Definition at line 64 of file map-inference.cc.
bool v8::internal::compiler::MapInference::AnyOfInstanceTypesAre | ( | InstanceType | type | ) | const |
Definition at line 53 of file map-inference.cc.
|
private |
Definition at line 72 of file map-inference.cc.
ZoneRefSet< Map > const & v8::internal::compiler::MapInference::GetMaps | ( | ) |
Definition at line 81 of file map-inference.cc.
bool v8::internal::compiler::MapInference::HaveMaps | ( | ) | const |
void v8::internal::compiler::MapInference::InsertMapChecks | ( | JSGraph * | jsgraph, |
Effect * | effect, | ||
Control | control, | ||
const FeedbackSource & | feedback ) |
Definition at line 92 of file map-inference.cc.
Definition at line 86 of file map-inference.cc.
Reduction v8::internal::compiler::MapInference::NoChange | ( | ) |
Definition at line 141 of file map-inference.cc.
|
private |
Definition at line 119 of file map-inference.cc.
bool v8::internal::compiler::MapInference::RelyOnMapsPreferStability | ( | CompilationDependencies * | dependencies, |
JSGraph * | jsgraph, | ||
Effect * | effect, | ||
Control | control, | ||
const FeedbackSource & | feedback ) |
Definition at line 109 of file map-inference.cc.
bool v8::internal::compiler::MapInference::RelyOnMapsViaStability | ( | CompilationDependencies * | dependencies | ) |
Definition at line 103 of file map-inference.cc.
|
private |
|
private |
|
private |
Definition at line 31 of file map-inference.cc.
|
private |
Definition at line 81 of file map-inference.h.
|
private |
Definition at line 84 of file map-inference.h.
enum { ... } v8::internal::compiler::MapInference::maps_state_ |
|
private |
Definition at line 82 of file map-inference.h.