InternalPropertyList.h 2.1 KB

12345678910111213141516171819202122
  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. 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.
  9. // 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.
  10. // Key in the Dictionary is combination of Type and TypeId and value is dynamicType object.
  11. INTERNALPROPERTY(TypeOfPrototypeObjectDictionary)
  12. INTERNALPROPERTY(NonExtensibleType) // Used to store shared non-extensible type in PathTypeHandler::propertySuccessors map.
  13. INTERNALPROPERTY(SealedType) // Used to store shared sealed type in PathTypeHandler::propertySuccessors map.
  14. INTERNALPROPERTY(FrozenType) // Used to store shared frozen type in PathTypeHandler::propertySuccessors map.
  15. INTERNALPROPERTY(StackTrace) // Stack trace object for Error.stack generation
  16. INTERNALPROPERTY(StackTraceCache) // Cache of Error.stack string
  17. INTERNALPROPERTY(WeakMapKeyMap) // WeakMap data stored on WeakMap key objects
  18. INTERNALPROPERTY(HiddenObject) // Used to store hidden data for JS library code (Intl as an example will use this)
  19. INTERNALPROPERTY(RevocableProxy) // Internal slot for [[RevokableProxy]] for revocable proxy in ES6
  20. INTERNALPROPERTY(MutationBp) // Used to store strong reference to the mutation breakpoint object
  21. #undef INTERNALPROPERTY