#include "src/compiler/map-inference.h"
#include "src/compiler/compilation-dependencies.h"
#include "src/compiler/feedback-source.h"
#include "src/compiler/js-graph.h"
#include "src/compiler/simplified-operator.h"
#include "src/objects/map-inl.h"
namespace v8 {
namespace internal {
namespace compiler {
MapInference::MapInference(JSHeapBroker* broker, Node* object, Effect effect)
: … { … }
MapInference::~MapInference() { … }
bool MapInference::Safe() const { … }
void MapInference::SetNeedGuardIfUnreliable() { … }
void MapInference::SetGuarded() { … }
bool MapInference::HaveMaps() const { … }
bool MapInference::AllOfInstanceTypesAreJSReceiver() const { … }
bool MapInference::AllOfInstanceTypesAre(InstanceType type) const { … }
bool MapInference::AnyOfInstanceTypesAre(InstanceType type) const { … }
bool MapInference::AllOfInstanceTypes(std::function<bool(InstanceType)> f) { … }
bool MapInference::AllOfInstanceTypesUnsafe(
std::function<bool(InstanceType)> f) const { … }
bool MapInference::AnyOfInstanceTypesUnsafe(
std::function<bool(InstanceType)> f) const { … }
ZoneRefSet<Map> const& MapInference::GetMaps() { … }
bool MapInference::Is(MapRef expected_map) { … }
void MapInference::InsertMapChecks(JSGraph* jsgraph, Effect* effect,
Control control,
const FeedbackSource& feedback) { … }
bool MapInference::RelyOnMapsViaStability(
CompilationDependencies* dependencies) { … }
bool MapInference::RelyOnMapsPreferStability(
CompilationDependencies* dependencies, JSGraph* jsgraph, Effect* effect,
Control control, const FeedbackSource& feedback) { … }
bool MapInference::RelyOnMapsHelper(CompilationDependencies* dependencies,
JSGraph* jsgraph, Effect* effect,
Control control,
const FeedbackSource& feedback) { … }
Reduction MapInference::NoChange() { … }
}
}
}