#include "src/objects/transitions.h"
#include <optional>
#include "src/base/small-vector.h"
#include "src/objects/objects-inl.h"
#include "src/objects/transitions-inl.h"
#include "src/utils/utils.h"
namespace v8::internal {
Tagged<Map> TransitionsAccessor::GetSimpleTransition(Isolate* isolate,
DirectHandle<Map> map) { … }
bool TransitionsAccessor::HasSimpleTransitionTo(Tagged<Map> map) { … }
void TransitionsAccessor::InsertHelper(Isolate* isolate, DirectHandle<Map> map,
DirectHandle<Name> name,
DirectHandle<Map> target,
TransitionKindFlag flag) { … }
Tagged<Map> TransitionsAccessor::SearchTransition(
Tagged<Name> name, PropertyKind kind, PropertyAttributes attributes) { … }
Tagged<Map> TransitionsAccessor::SearchSpecial(Tagged<Symbol> name) { … }
bool TransitionsAccessor::IsSpecialTransition(ReadOnlyRoots roots,
Tagged<Name> name) { … }
MaybeHandle<Map> TransitionsAccessor::FindTransitionToField(
DirectHandle<String> name) { … }
void TransitionsAccessor::ForEachTransitionTo(
Tagged<Name> name, const ForEachTransitionCallback& callback,
DisallowGarbageCollection* no_gc) { … }
bool TransitionsAccessor::CanHaveMoreTransitions(Isolate* isolate,
DirectHandle<Map> map) { … }
bool TransitionsAccessor::IsMatchingMap(Tagged<Map> target, Tagged<Name> name,
PropertyKind kind,
PropertyAttributes attributes) { … }
bool TransitionArray::CompactPrototypeTransitionArray(
Isolate* isolate, Tagged<WeakFixedArray> array) { … }
Handle<WeakFixedArray> TransitionArray::GrowPrototypeTransitionArray(
DirectHandle<WeakFixedArray> array, int new_capacity, Isolate* isolate) { … }
bool TransitionsAccessor::PutPrototypeTransition(Isolate* isolate,
DirectHandle<Map> map,
DirectHandle<Object> prototype,
DirectHandle<Map> target_map) { … }
std::optional<Tagged<Map>> TransitionsAccessor::GetPrototypeTransition(
Isolate* isolate, Tagged<Map> map, Tagged<Object> prototype) { … }
Tagged<WeakFixedArray> TransitionsAccessor::GetPrototypeTransitions(
Isolate* isolate, Tagged<Map> map) { … }
void TransitionArray::SetNumberOfPrototypeTransitions(
Tagged<WeakFixedArray> proto_transitions, int value) { … }
int TransitionsAccessor::NumberOfTransitions() { … }
bool TransitionsAccessor::HasPrototypeTransitions() { … }
void TransitionsAccessor::SetMigrationTarget(Isolate* isolate,
DirectHandle<Map> map,
Tagged<Map> migration_target) { … }
Tagged<Map> TransitionsAccessor::GetMigrationTarget() { … }
void TransitionsAccessor::ReplaceTransitions(
Isolate* isolate, DirectHandle<Map> map,
Tagged<MaybeObject> new_transitions) { … }
void TransitionsAccessor::ReplaceTransitions(
Isolate* isolate, DirectHandle<Map> map,
DirectHandle<TransitionArray> new_transitions) { … }
void TransitionsAccessor::SetPrototypeTransitions(
Isolate* isolate, DirectHandle<Map> map,
DirectHandle<WeakFixedArray> proto_transitions) { … }
void TransitionsAccessor::EnsureHasFullTransitionArray(Isolate* isolate,
DirectHandle<Map> map) { … }
void TransitionsAccessor::TraverseTransitionTreeInternal(
const TraverseCallback& callback, DisallowGarbageCollection* no_gc) { … }
#ifdef DEBUG
void TransitionsAccessor::CheckNewTransitionsAreConsistent(
Isolate* isolate, DirectHandle<Map> map, Tagged<Object> transitions) { … }
#endif
int TransitionArray::SearchDetails(int transition, PropertyKind kind,
PropertyAttributes attributes,
int* out_insertion_index) { … }
Tagged<Map> TransitionArray::SearchDetailsAndGetTarget(
int transition, PropertyKind kind, PropertyAttributes attributes) { … }
int TransitionArray::Search(PropertyKind kind, Tagged<Name> name,
PropertyAttributes attributes,
int* out_insertion_index) { … }
Tagged<Map> TransitionArray::SearchAndGetTarget(PropertyKind kind,
Tagged<Name> name,
PropertyAttributes attributes) { … }
void TransitionArray::ForEachTransitionTo(
Tagged<Name> name, const ForEachTransitionCallback& callback) { … }
void TransitionArray::Sort() { … }
bool TransitionsAccessor::HasIntegrityLevelTransitionTo(
Tagged<Map> to, Tagged<Symbol>* out_symbol,
PropertyAttributes* out_integrity_level) { … }
void TransitionsAccessor::EnsureHasSideStepTransitions(Isolate* isolate,
DirectHandle<Map> map) { … }
void TransitionArray::CreateSideStepTransitions(
Isolate* isolate, DirectHandle<TransitionArray> transitions) { … }
std::ostream& operator<<(std::ostream& os, SideStepTransition::Kind sidestep) { … }
}