| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| #pragma once |
| |
| namespace Js |
| { |
| namespace SimpleJitHelpers |
| { |
| void ProfileParameters(void* framePtr); |
| |
| void CleanImplicitCallFlags(FunctionBody* body); |
| |
| void ProfileCall_DefaultInlineCacheIndex(void* framePtr, ProfileId profileId, Var retval, JavascriptFunction* callee, CallInfo info); |
| void ProfileCall(void* framePtr, ProfileId profileId, InlineCacheIndex inlineCacheIndex, Var retval, Var callee, CallInfo info); |
| void ProfileReturnTypeCall(void* framePtr, ProfileId profileId, Var retval, JavascriptFunction*callee, CallInfo info); |
| |
| Var ProfiledLdLen_A(FunctionBody* body, DynamicObject * instance, ProfileId profileId); |
| Var ProfiledStrictLdThis(Var thisVar, FunctionBody* functionBody); |
| Var ProfiledLdThis(Var thisVar, int moduleID, FunctionBody* functionBody); |
| Var ProfiledSwitch(FunctionBody* functionBody,ProfileId profileId, Var exp); |
| Var ProfiledDivide(FunctionBody* functionBody, ProfileId profileId, Var aLeft, Var aRight); |
| Var ProfiledRemainder(FunctionBody* functionBody, ProfileId profileId, Var aLeft, Var aRight); |
| |
| void StoreArrayHelper(Var arr, uint32 index, Var value); |
| void StoreArraySegHelper(Var arr, uint32 index, Var value); |
| |
| LoopEntryPointInfo* GetScheduledEntryPoint(void* framePtr, uint loopnum); |
| bool IsLoopCodeGenDone(LoopEntryPointInfo* info); |
| void RecordLoopImplicitCallFlags(void* framePtr, uint loopNum, int restoreCallFlags); |
| } |
| } |