pub struct Lut16InstructionDecoder { /* private fields */ }Expand description
Instruction decoder with a look-up-table for 16-bit instruction decoding.
This has 16-bit instruction decoding O(1) complexity, but has a strong cost during initialization to generate the table. The table is initialized using a given base instruction decoder.
The look-up table is only valid outside IT blocks. 16-bit instructions inside an IT block are resolved using the given base decoder.
32-bit wide instructions are resolved using the given base instruction decoder.
Implementations§
Source§impl Lut16InstructionDecoder
impl Lut16InstructionDecoder
pub fn new(version: ArmVersion) -> Self
Trait Implementations§
Source§impl InstructionDecode for Lut16InstructionDecoder
impl InstructionDecode for Lut16InstructionDecoder
Source§fn try_decode(
&self,
ins: u32,
size: InstructionSize,
state: ItState,
) -> Result<Rc<dyn Instruction>, InstructionDecodeError>
fn try_decode( &self, ins: u32, size: InstructionSize, state: ItState, ) -> Result<Rc<dyn Instruction>, InstructionDecodeError>
Tries to decode the given
ins instruction raw code, which can be 16 bit or 32 bit wide
depending on the size argument. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for Lut16InstructionDecoder
impl !Send for Lut16InstructionDecoder
impl !Sync for Lut16InstructionDecoder
impl !UnwindSafe for Lut16InstructionDecoder
impl Freeze for Lut16InstructionDecoder
impl Unpin for Lut16InstructionDecoder
impl UnsafeUnpin for Lut16InstructionDecoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more