// Specific frame size code is in architecture-specific files. We include this to compile-time // specialize the code. #include"arch/arm/callee_save_frame_arm.h" #include"arch/arm64/callee_save_frame_arm64.h" #include"arch/riscv64/callee_save_frame_riscv64.h" #include"arch/x86/callee_save_frame_x86.h" #include"arch/x86_64/callee_save_frame_x86_64.h"
template <InstructionSet> struct CSFSelector; // No definition for unspecialized callee save frame selector.
// Note: kThumb2 is never the kRuntimeISA. template <> struct CSFSelector<InstructionSet::kArm> { using type = arm::ArmCalleeSaveFrame;
}; template <> struct CSFSelector<InstructionSet::kArm64> { using type = arm64::Arm64CalleeSaveFrame;
}; template <> struct CSFSelector<InstructionSet::kRiscv64> { using type = riscv64::Riscv64CalleeSaveFrame;
}; template <> struct CSFSelector<InstructionSet::kX86> { using type = x86::X86CalleeSaveFrame;
}; template <> struct CSFSelector<InstructionSet::kX86_64> { using type = x86_64::X86_64CalleeSaveFrame;
};
} // namespace detail
using RuntimeCalleeSaveFrame = detail::CSFSelector<kRuntimeQuickCodeISA>::type;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.