DynamicProfileMutator.h 922 B

12345678910111213141516171819202122232425
  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. #pragma once
  6. #if ENABLE_PROFILE_INFO
  7. #ifdef DYNAMIC_PROFILE_MUTATOR
  8. #define CREATE_MUTATOR_PROC_NAME CreateDynamicProfileMutator
  9. class DynamicProfileMutator
  10. {
  11. public:
  12. virtual void Mutate(Js::DynamicProfileInfo * info) = 0;
  13. virtual void Delete() = 0;
  14. virtual void Initialize(const char16 * options) = 0;
  15. static void Mutate(Js::FunctionBody * functionBody);
  16. static DynamicProfileMutator * GetMutator();
  17. static char const * const CreateMutatorProcName;
  18. typedef DynamicProfileMutator * (*CreateMutatorFunc)();
  19. };
  20. #endif
  21. #endif