internal static void AddEntry(ulong address, ExecutionMode mode, bool highCq) { if (IsAddressInStaticCodeRange(address)) { Debug.Assert(!highCq); lock (_lock) { ProfiledFuncs.TryAdd(address, new FuncProfile(mode, highCq: false)); } } }
internal static void UpdateEntry(ulong address, ExecutionMode mode, bool highCq) { if (IsAddressInStaticCodeRange(address)) { Debug.Assert(highCq); lock (_lock) { Debug.Assert(ProfiledFuncs.ContainsKey(address)); ProfiledFuncs[address] = new FuncProfile(mode, highCq: true); } } }
internal static void ClearEntries() { ProfiledFuncs.Clear(); ProfiledFuncs.TrimExcess(); }