Home | History | Annotate | Download | only in src

Lines Matching refs:kind

2309 void Map::PrintReconfiguration(FILE* file, int modify_index, PropertyKind kind,
2319 os << ": " << (kind == kData ? "kData" : "ACCESSORS") << ", attrs: ";
2480 os << "<Code: " << Code::Kind2String(code->kind()) << ">";
3382 StoreMode store_mode, PropertyKind kind, PropertyAttributes attributes,
3520 Map* next = TransitionArray::SearchTransition(current, details.kind(), name,
3526 DCHECK_EQ(details.kind(), next_details.kind());
3684 DCHECK_EQ(kData, details.kind());
3695 // Reconfigures elements kind to |new_elements_kind| and/or property at
3738 // If it's just a representation generalization case (i.e. property kind and
3750 DCHECK_EQ(new_kind, old_details.kind());
3798 if (old_details.kind() != new_kind ||
3814 // From here on, use the map with correct elements kind as root map.
3830 property_kind_reconfiguration = old_details.kind() != new_kind;
3835 // If property kind is not reconfigured merge the result with
3844 next_kind = old_details.kind();
3859 DCHECK_EQ(next_kind, tmp_details.kind());
3917 DCHECK_EQ(new_kind, details.kind());
3940 next_kind = old_details.kind();
3953 DCHECK_EQ(next_kind, tmp_details.kind());
4009 property_kind_reconfiguration = old_details.kind() != new_kind;
4016 // descriptor. If property kind is not reconfigured merge the result with
4026 DCHECK_EQ(target_details.kind(), old_details.kind());
4027 next_kind = target_details.kind();
4040 DCHECK_EQ(next_kind, target_details.kind());
4101 // In case of property kind reconfiguration it is not necessary to
4103 property_kind_reconfiguration = old_details.kind() != new_kind;
4114 next_kind = old_details.kind();
4175 split_kind = split_prop_details.kind();
4270 // Try to follow existing elements kind transitions.
4273 // From here on, use the map with correct elements kind as root map.
4293 new_map, old_details.kind(), old_descriptors->GetKey(i),
4300 DCHECK_EQ(old_details.kind(), new_details.kind());
4924 ElementsKind kind = elements_kind();
4925 bool packed = IsFastPackedElementsKind(kind);
4928 if (IsTransitionableFastElementsKind(kind)) {
4932 root_map = root_map->LookupElementsTransitionMap(kind);
4934 // Starting from the next existing elements kind transition try to
4956 // Ensure we are requested to search elements kind transition "near the root".
4961 ElementsKind kind = map->elements_kind();
4962 while (kind != to_kind) {
4965 kind = next_map->elements_kind();
5012 ElementsKind kind = map->elements_kind();
5018 if (IsFastElementsKind(kind)) {
5019 while (kind != to_kind && !IsTerminalElementsKind(kind)) {
5020 kind = GetNextTransitionElementsKind(kind);
5021 current_map = Map::CopyAsElementsKind(current_map, kind, flag);
5026 // In case we are exiting the fast elements kind system, just add the map in
5028 if (kind != to_kind) {
5067 // Check if we can go back in the elements kind transition chain.
5092 Handle<Map> Map::AsElementsKind(Handle<Map> map, ElementsKind kind) {
5093 Handle<Map> closest_map(FindClosestElementsTransition(*map, kind));
5095 if (closest_map->elements_kind() == kind) {
5099 return AddMissingElementsTransitions(closest_map, kind);
7286 ElementsKind kind,
7289 if (IsFastObjectElementsKind(kind) || kind == FAST_STRING_WRAPPER_ELEMENTS) {
7298 DCHECK(kind == DICTIONARY_ELEMENTS || kind == SLOW_STRING_WRAPPER_ELEMENTS);
7330 ElementsKind kind = GetElementsKind();
7331 switch (kind) {
7353 if (ReferencesObjectFromElements(elements, kind, obj)) return true;
7367 kind = arguments->IsDictionary() ? DICTIONARY_ELEMENTS :
7369 if (ReferencesObjectFromElements(arguments, kind, obj)) return true;
7922 ElementsKind kind = copy->GetElementsKind();
7923 if (copying && IsFastSmiOrObjectElementsKind(kind) &&
7993 switch (kind) {
8312 if (details.kind() == kData) {
8970 Handle<Map> Map::CopyAsElementsKind(Handle<Map> map, ElementsKind kind,
8974 // Ensure we are requested to add elements kind transition "near the root".
8982 kind == DICTIONARY_ELEMENTS));
8983 DCHECK(!IsFastElementsKind(kind) ||
8984 IsMoreGeneralElementsKindTransition(map->elements_kind(), kind));
8985 DCHECK(kind != map->elements_kind());
8994 new_map->set_elements_kind(kind);
9004 new_map->set_elements_kind(kind);
9010 LanguageMode language_mode, FunctionKind kind) {
9020 int map_index = Context::FunctionMapIndex(language_mode, kind);
9273 PropertyKind kind,
9282 map, map->elements_kind(), descriptor, FORCE_FIELD, kind, attributes,
9287 map->PrintReconfiguration(stdout, descriptor, kind, attributes);
9292 map, descriptor, kind, attributes, Representation::None(),
9330 DCHECK_EQ(kAccessor, descriptors->GetDetails(descriptor).kind());
11564 if (code()->kind() != Code::OPTIMIZED_FUNCTION) return false;
11647 DCHECK(code->kind() == Code::OPTIMIZED_FUNCTION);
11667 code.ToHandleChecked()->kind() == Code::OPTIMIZED_FUNCTION);
11746 Code::cast(cell->value())->kind() == Code::OPTIMIZED_FUNCTION));
12199 // the appropriate transitioned elements kind maps.
12201 ElementsKind kind = current_map->elements_kind();
12202 DCHECK_EQ(GetInitialFastElementsKind(), kind);
12203 native_context->set(Context::ArrayMapIndex(kind), *current_map);
12204 for (int i = GetSequenceIndexFromFastElementsKind(kind) + 1;
12282 IsGeneratorFunction(function->shared()->kind()));
12301 IsGeneratorFunction(function->shared()->kind())
12497 if (IsSubclassConstructor(function->shared()->kind())) {
12699 bool to_boolean, const char* type_of, byte kind) {
12709 oddball->set_kind(kind);
13145 if (!IsSubclassConstructor(shared->kind())) {
13233 DCHECK(abstract_code()->kind() == AbstractCode::FUNCTION ||
13234 abstract_code()->kind() == AbstractCode::INTERPRETED_FUNCTION ||
13235 abstract_code()->kind() == AbstractCode::BUILTIN);
13290 shared_info->set_kind(lit->kind());
13291 if (!IsConstructable(lit->kind(), lit->language_mode())) {
13328 if (code()->kind() == Code::FUNCTION) {
13605 DCHECK(kind() == FUNCTION || (is_optimized_code() && is_turbofanned()) ||
13723 DCHECK(kind() == FUNCTION);
13734 DCHECK(kind() == FUNCTION);
13820 (kind() == OPTIMIZED_FUNCTION ||
13821 (kind() == FUNCTION && !has_debug_break_slots()))
13944 // Identify kind of code.
13945 const char* Code::Kind2String(Kind kind) {
13946 switch (kind) {
13956 // Identify kind of code.
13957 const char* AbstractCode::Kind2String(Kind kind) {
13958 if (kind < AbstractCode::INTERPRETED_FUNCTION)
13959 return Code::Kind2String((Code::Kind)kind);
13960 if (kind == AbstractCode::INTERPRETED_FUNCTION) return "INTERPRETED_FUNCTION";
13966 DCHECK(code->kind() == OPTIMIZED_FUNCTION);
13977 DCHECK(kind() == OPTIMIZED_FUNCTION);
14060 Code::Kind stub_kind = static_cast<Code::Kind>(iterator.Next());
14061 os << "{kind=" << stub_kind << "}";
14260 Kind kind, ExtraICState extra) {
14262 if ((kind == STORE_IC || kind == KEYED_STORE_IC) &&
14272 os << "kind = " << Kind2String(kind()) << "\n";
14278 if (!IC::ICUseVector(kind())) {
14282 PrintExtraICState(os, kind(), extra_ic_state());
14294 } else if (kind() == BUILTIN) {
14299 } else if (kind() == BYTECODE_HANDLER) {
14305 if (kind() == OPTIMIZED_FUNCTION) {
14311 : kind() == Code::FUNCTION
14321 int back_edge_offset = (kind() == Code::FUNCTION)
14349 if (kind() == FUNCTION) {
14353 } else if (kind() == OPTIMIZED_FUNCTION) {
14381 } else if (kind() == FUNCTION) {
14410 if (kind() == FUNCTION) {
14412 } else if (kind() == OPTIMIZED_FUNCTION) {
15091 ElementsKind kind = FAST_HOLEY_SMI_ELEMENTS;
15099 kind = FAST_HOLEY_DOUBLE_ELEMENTS;
15103 return kind;
15162 ElementsKind kind = object->GetElementsKind();
15165 if (IsSloppyArgumentsElements(kind)) {
15168 } else if (IsStringWrapperElementsKind(kind)) {
15173 kind = dictionary_kind;
15175 kind = ShouldConvertToFastElements(*object,
15183 kind = dictionary_kind;
15187 if (IsHoleyElementsKind(kind) || !object->IsJSArray() || index > old_length) {
15189 kind = GetHoleyElementsKind(kind);
15191 to = GetMoreGeneralElementsKind(kind, to);
15255 ElementsKind kind = transition_info->GetElementsKind();
15256 // if kind is holey ensure that to_kind is as well.
15257 if (IsHoleyElementsKind(kind)) {
15260 if (IsMoreGeneralElementsKindTransition(kind, to_kind)) {
15272 ElementsKindToString(kind),
15281 ElementsKind kind = site->GetElementsKind();
15282 // if kind is holey ensure that to_kind is as well.
15283 if (IsHoleyElementsKind(kind)) {
15286 if (IsMoreGeneralElementsKindTransition(kind, to_kind)) {
15290 ElementsKindToString(kind),
17209 if (info->code()->kind() != Code::FUNCTION || info->code()->IsOld()) {
17603 if (details.kind() != kAccessor) continue;
18124 return Smi::cast(kind());
18892 original_details.kind() == kData && details.kind() == kAccessor;