5 #ifndef V8_IC_HANDLER_CONFIGURATION_H_ 6 #define V8_IC_HANDLER_CONFIGURATION_H_ 8 #include "src/elements-kind.h" 9 #include "src/field-index.h" 10 #include "src/globals.h" 11 #include "src/maybe-handles.h" 12 #include "src/objects.h" 13 #include "src/objects/data-handler.h" 14 #include "src/utils.h" 17 #include "src/objects/object-macros.h" 44 kApiGetterHolderIsPrototype,
56 :
public BitField<bool, KindBits::kNext, 1> {};
62 :
public BitField<bool, DoAccessCheckOnReceiverBits::kNext, 1> {};
70 kDescriptorIndexBitCount> {};
72 STATIC_ASSERT(DescriptorBits::kNext <= kSmiValueSize);
82 kDescriptorIndexBitCount + 1> {};
84 STATIC_ASSERT(FieldIndexBits::kNext <= kSmiValueSize);
90 :
public BitField<bool, LookupOnReceiverBits::kNext, 1> {};
99 :
public BitField<ElementsKind, ConvertHoleBits::kNext, 8> {};
101 STATIC_ASSERT(ElementsKindBits::kNext <= kSmiValueSize);
107 :
public BitField<unsigned, LookupOnReceiverBits::kNext,
108 kSmiValueSize - LookupOnReceiverBits::kNext> {};
111 static inline Kind GetHandlerKind(
Smi smi_handler);
141 bool holder_is_receiver);
171 ElementsKind elements_kind,
172 bool convert_hole_to_undefined,
174 KeyedAccessLoadMode load_mode);
178 KeyedAccessLoadMode load_mode);
181 static KeyedAccessLoadMode GetKeyedAccessLoadMode(
MaybeObject handler);
201 kApiSetterHolderIsPrototype,
209 enum FieldRepresentation { kSmi, kDouble, kHeapObject, kTagged };
215 :
public BitField<bool, KindBits::kNext, 1> {};
221 :
public BitField<bool, DoAccessCheckOnReceiverBits::kNext, 1> {};
228 kDescriptorIndexBitCount> {};
234 STATIC_ASSERT(DescriptorBits::kNext <= kSmiValueSize);
241 :
public BitField<FieldRepresentation, IsInobjectBits::kNext, 2> {};
244 :
public BitField<unsigned, FieldRepresentationBits::kNext,
245 kDescriptorIndexBitCount + 1> {};
247 STATIC_ASSERT(FieldIndexBits::kNext <= kSmiValueSize);
252 PropertyConstness constness,
267 bool holder_is_receiver);
278 KeyedAccessStoreMode store_mode);
306 #include "src/objects/object-macros-undef.h" 308 #endif // V8_IC_HANDLER_CONFIGURATION_H_