SimpleJitProfilingHelpers.h 1.7 KB

12345678910111213141516171819202122232425262728293031
  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. namespace Js
  7. {
  8. namespace SimpleJitHelpers
  9. {
  10. void ProfileParameters(void* framePtr);
  11. void CleanImplicitCallFlags(FunctionBody* body);
  12. void ProfileCall_DefaultInlineCacheIndex(void* framePtr, ProfileId profileId, Var retval, JavascriptFunction* callee, CallInfo info);
  13. void ProfileCall(void* framePtr, ProfileId profileId, InlineCacheIndex inlineCacheIndex, Var retval, Var callee, CallInfo info);
  14. void ProfileReturnTypeCall(void* framePtr, ProfileId profileId, Var retval, JavascriptFunction*callee, CallInfo info);
  15. Var ProfiledLdThis(Var thisVar, int moduleID, FunctionBody* functionBody);
  16. Var ProfiledSwitch(FunctionBody* functionBody,ProfileId profileId, Var exp);
  17. Var ProfiledDivide(FunctionBody* functionBody, ProfileId profileId, Var aLeft, Var aRight);
  18. Var ProfiledRemainder(FunctionBody* functionBody, ProfileId profileId, Var aLeft, Var aRight);
  19. void StoreArrayHelper(Var arr, uint32 index, Var value);
  20. void StoreArraySegHelper(Var arr, uint32 index, Var value);
  21. LoopEntryPointInfo* GetScheduledEntryPoint(void* framePtr, uint loopnum);
  22. bool IsLoopCodeGenDone(LoopEntryPointInfo* info);
  23. void RecordLoopImplicitCallFlags(void* framePtr, uint loopNum, int restoreCallFlags);
  24. }
  25. }