Sha256: 29a005c3253ddc30295cff4f80db2aa6caee9f9e5205ef773aea288ed225074f
Contents?: true
Size: 1.93 KB
Versions: 4
Compression:
Stored size: 1.93 KB
Contents
// Copyright 2017 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_OBJECTS_MAP_INL_H_ #define V8_OBJECTS_MAP_INL_H_ #include "src/field-type.h" #include "src/objects/map.h" // Has to be the last include (doesn't have include guards): #include "src/objects/object-macros.h" namespace v8 { namespace internal { CAST_ACCESSOR(Map) InterceptorInfo* Map::GetNamedInterceptor() { DCHECK(has_named_interceptor()); FunctionTemplateInfo* info = GetFunctionTemplateInfo(); return InterceptorInfo::cast(info->named_property_handler()); } InterceptorInfo* Map::GetIndexedInterceptor() { DCHECK(has_indexed_interceptor()); FunctionTemplateInfo* info = GetFunctionTemplateInfo(); return InterceptorInfo::cast(info->indexed_property_handler()); } bool Map::IsInplaceGeneralizableField(PropertyConstness constness, Representation representation, FieldType* field_type) { if (FLAG_track_constant_fields && FLAG_modify_map_inplace && (constness == kConst)) { // kConst -> kMutable field generalization may happen in-place. return true; } if (representation.IsHeapObject() && !field_type->IsAny()) { return true; } return false; } int NormalizedMapCache::GetIndex(Handle<Map> map) { return map->Hash() % NormalizedMapCache::kEntries; } bool NormalizedMapCache::IsNormalizedMapCache(const HeapObject* obj) { if (!obj->IsFixedArray()) return false; if (FixedArray::cast(obj)->length() != NormalizedMapCache::kEntries) { return false; } #ifdef VERIFY_HEAP if (FLAG_verify_heap) { reinterpret_cast<NormalizedMapCache*>(const_cast<HeapObject*>(obj)) ->NormalizedMapCacheVerify(); } #endif return true; } } // namespace internal } // namespace v8 #include "src/objects/object-macros-undef.h" #endif // V8_OBJECTS_MAP_INL_H_
Version data entries
4 entries across 4 versions & 1 rubygems