From 4c1f3c84bdba53c514713fbaaf00431efd60d21c Mon Sep 17 00:00:00 2001 From: iximeow Date: Sun, 23 Jun 2024 10:11:57 -0700 Subject: add more conditional inlining for 32-bit and 16-bit decoders --- src/real_mode/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/real_mode') diff --git a/src/real_mode/mod.rs b/src/real_mode/mod.rs index 68ab6dd..b73f38a 100644 --- a/src/real_mode/mod.rs +++ b/src/real_mode/mod.rs @@ -5706,7 +5706,8 @@ const OPCODES: [OpcodeRecord; 256] = [ ]; #[allow(non_snake_case)] -#[inline(always)] +#[cfg_attr(feature="profiling", inline(never))] +#[cfg_attr(not(feature="profiling"), inline(always))] pub(self) fn read_E< T: Reader<::Address, ::Word>, S: DescriptionSink, @@ -6445,6 +6446,7 @@ impl DecodeCtx { } } +#[cfg_attr(feature="profiling", inline(never))] fn read_opc_hotpath< T: Reader<::Address, ::Word>, S: DescriptionSink, @@ -6495,6 +6497,8 @@ fn read_opc_hotpath< } } +#[cfg_attr(feature="profiling", inline(never))] +#[cfg_attr(not(feature="profiling"), inline(always))] fn read_with_annotations< T: Reader<::Address, ::Word>, S: DescriptionSink, @@ -6655,6 +6659,8 @@ fn read_with_annotations< Ok(()) } +#[cfg_attr(feature="profiling", inline(never))] +#[cfg_attr(not(feature="profiling"), inline(always))] fn read_operands< T: Reader<::Address, ::Word>, S: DescriptionSink -- cgit v1.1