From 16ec45b97c07a1ebc3ef2a33345bf15ddeca4c81 Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Fri, 17 Dec 2021 23:18:51 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20Add=20loop=5Fwhile()=20fn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- machine/src/arch/aarch64/mod.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/machine/src/arch/aarch64/mod.rs b/machine/src/arch/aarch64/mod.rs index c0fb793..b4b5928 100644 --- a/machine/src/arch/aarch64/mod.rs +++ b/machine/src/arch/aarch64/mod.rs @@ -39,3 +39,14 @@ pub fn loop_until bool>(f: F) { asm::nop(); } } + +/// Loop while a passed function returns `true`. +#[inline] +pub fn loop_while bool>(f: F) { + loop { + if !f() { + break; + } + asm::nop(); + } +}