/* This file is part of the dynarmic project. * Copyright (c) 2018 MerryMage * This software may be used and distributed according to the terms of the GNU * General Public License version 2 or any later version. */ #pragma once #include #include #include #include "frontend/ir/location_descriptor.h" namespace Dynarmic::BackendX64 { template class BlockRangeInformation { public: void AddRange(boost::icl::discrete_interval range, IR::LocationDescriptor location); void ClearCache(); std::unordered_set InvalidateRanges(const boost::icl::interval_set& ranges); private: boost::icl::interval_map> block_ranges; }; } // namespace Dynarmic::BackendX64