🎨 Exported get_new_thread macro out of thread mod

This commit is contained in:
François Autin 2023-03-15 11:05:01 +01:00
parent bed763cf54
commit b379305631

View File

@ -3,6 +3,15 @@ use crate::{simulator::machine::{NUM_INT_REGS, NUM_FP_REGS, STACK_REG}};
const STACK_FENCEPOST: u32 = 0xdeadbeef; const STACK_FENCEPOST: u32 = 0xdeadbeef;
/// Polymorphic macro to get thread without passing a name by default
#[macro_export]
macro_rules! get_new_thread {
() => { Thread::new(DEFAULT_THREAD_NAME) };
($a:literal) => {
Thread::new(&$a.to_string())
};
}
#[derive(PartialEq, Debug)] #[derive(PartialEq, Debug)]
pub struct ThreadContext { pub struct ThreadContext {
pub int_registers: [i64; NUM_INT_REGS], pub int_registers: [i64; NUM_INT_REGS],
@ -102,14 +111,6 @@ mod test {
use super::{Thread, ThreadContext, NUM_INT_REGS, NUM_FP_REGS, ObjectType}; use super::{Thread, ThreadContext, NUM_INT_REGS, NUM_FP_REGS, ObjectType};
const DEFAULT_THREAD_NAME: &str = "test_thread"; const DEFAULT_THREAD_NAME: &str = "test_thread";
/// Polymorphic macro to get thread without passing a name by default
macro_rules! get_new_thread {
() => { Thread::new(DEFAULT_THREAD_NAME) };
($a:literal) => {
Thread::new(&$a.to_string())
};
}
/// This macro allows for getting a Thread for which we've ensured proper initial state /// This macro allows for getting a Thread for which we've ensured proper initial state
/// in case a commit further down the line changes the initial state of threads generated /// in case a commit further down the line changes the initial state of threads generated
/// from Thread::new /// from Thread::new