#include <functional>
#include <sstream>
#include <tuple>
#include <type_traits>
#include <utility>
#include "base/compiler.hh"
#include "sim/guest_abi/definition.hh"
#include "sim/guest_abi/layout.hh"
Go to the source code of this file.
|
| template<typename ABI, typename Ret, bool store_ret, typename Target, typename State, typename Args, std::size_t... I> |
| static std::enable_if_t<!store_ret, Ret > | gem5::guest_abi::callFromHelper (Target &target, ThreadContext *tc, State &state, Args &&args, std::index_sequence< I... >) |
| template<typename ABI, typename Ret, bool store_ret, typename Target, typename State, typename Args, std::size_t... I> |
| static std::enable_if_t< store_ret, Ret > | gem5::guest_abi::callFromHelper (Target &target, ThreadContext *tc, State &state, Args &&args, std::index_sequence< I... >) |
| template<typename ABI, typename Ret, bool store_ret, typename ... Args> |
| static Ret | gem5::guest_abi::callFrom (ThreadContext *tc, typename ABI::State &state, std::function< Ret(ThreadContext *, Args...)> target) |
| template<typename ABI, typename Ret, typename ... Args> |
| static void | gem5::guest_abi::dumpArgsFrom (std::ostream &os, ThreadContext *tc, typename ABI::State &state) |