InternalPropertyList.h 2.7 KB

1234567891011121314151617181920212223242526272829
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. // This is the list of internal properties used in the Chakra engine.
  6. // They become nameless compile time known PropertyRecords, stored as static
  7. // fields on the InternalPropertyRecords class.
  8. // NOTE: When new property is added here, please evaluate if the property's value needs to be restored to nullptr
  9. // when it gets reset to undefined inside DynamicObject::ResetObject()
  10. INTERNALPROPERTY(TypeOfPrototypeObjectInlined) // Used to store the type of the prototype object in the prototype objects slots. Only DynamicTypes having TypeIds_Object are saved in this slot.
  11. // Used to store the type of the prototype object in the prototype objects slots. Everything else (except ExternalType) are stored in this slot as Dictionary.
  12. // Key in the Dictionary is combination of Type and TypeId and value is dynamicType object.
  13. INTERNALPROPERTY(TypeOfPrototypeObjectDictionary)
  14. INTERNALPROPERTY(NonExtensibleType) // Used to store shared non-extensible type in PathTypeHandler::propertySuccessors map.
  15. INTERNALPROPERTY(SealedType) // Used to store shared sealed type in PathTypeHandler::propertySuccessors map.
  16. INTERNALPROPERTY(FrozenType) // Used to store shared frozen type in PathTypeHandler::propertySuccessors map.
  17. INTERNALPROPERTY(StackTrace) // Stack trace object for Error.stack generation
  18. INTERNALPROPERTY(StackTraceCache) // Cache of Error.stack string
  19. INTERNALPROPERTY(WeakMapKeyMap) // WeakMap data stored on WeakMap key objects
  20. INTERNALPROPERTY(HiddenObject) // Used to store internal slot data for JS library code (Intl as an example will use this)
  21. INTERNALPROPERTY(CachedUCollator) // Used to store cached UCollator objects for Intl.Collator
  22. INTERNALPROPERTY(CachedUNumberFormat) // Used to store cached UNumberFormat objects for Intl.NumberFormat and Intl.PluralRules
  23. INTERNALPROPERTY(CachedUDateFormat) // Used to store cached UDateFormat objects for Intl.DateTimeFormat
  24. INTERNALPROPERTY(CachedUPluralRules) // Used to store cached UPluralRules objects for Intl.PluralRules
  25. INTERNALPROPERTY(RevocableProxy) // Internal slot for [[RevokableProxy]] for revocable proxy in ES6
  26. INTERNALPROPERTY(MutationBp) // Used to store strong reference to the mutation breakpoint object
  27. #undef INTERNALPROPERTY