From 130746bc856f5c2eb5672cceb0e1304ee2c95b1e Mon Sep 17 00:00:00 2001 From: johannst Date: Wed, 28 Feb 2024 18:32:44 +0000 Subject: deploy: 7cc72737a0140f5f71e9d83d4f87503eb4c7604f --- juicebox_asm/all.html | 3 +- juicebox_asm/enum.MemOp.html | 29 +++++++++-------- juicebox_asm/enum.Reg16.html | 57 +++++++++++++++++---------------- juicebox_asm/enum.Reg32.html | 57 +++++++++++++++++---------------- juicebox_asm/enum.Reg64.html | 57 +++++++++++++++++---------------- juicebox_asm/enum.Reg8.html | 65 +++++++++++++++++++------------------- juicebox_asm/index.html | 10 +++--- juicebox_asm/insn/index.html | 5 +-- juicebox_asm/insn/sidebar-items.js | 2 +- juicebox_asm/insn/trait.Add.html | 7 ++-- juicebox_asm/insn/trait.Call.html | 7 ++-- juicebox_asm/insn/trait.Cmp.html | 7 ++-- juicebox_asm/insn/trait.Dec.html | 7 ++-- juicebox_asm/insn/trait.Jmp.html | 7 ++-- juicebox_asm/insn/trait.Jnz.html | 7 ++-- juicebox_asm/insn/trait.Jz.html | 7 ++-- juicebox_asm/insn/trait.Mov.html | 7 ++-- juicebox_asm/insn/trait.Pop.html | 7 ++++ juicebox_asm/insn/trait.Push.html | 7 ++++ juicebox_asm/insn/trait.Test.html | 7 ++-- juicebox_asm/struct.Asm.html | 27 ++++++++-------- juicebox_asm/struct.Imm16.html | 23 +++++++------- juicebox_asm/struct.Imm32.html | 23 +++++++------- juicebox_asm/struct.Imm64.html | 23 +++++++------- juicebox_asm/struct.Imm8.html | 23 +++++++------- juicebox_asm/struct.Label.html | 25 ++++++++------- juicebox_asm/struct.Runtime.html | 33 +++++++++---------- 27 files changed, 289 insertions(+), 250 deletions(-) create mode 100644 juicebox_asm/insn/trait.Pop.html create mode 100644 juicebox_asm/insn/trait.Push.html (limited to 'juicebox_asm') diff --git a/juicebox_asm/all.html b/juicebox_asm/all.html index b58db88..93155c0 100644 --- a/juicebox_asm/all.html +++ b/juicebox_asm/all.html @@ -1 +1,2 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate +
\ No newline at end of file diff --git a/juicebox_asm/enum.MemOp.html b/juicebox_asm/enum.MemOp.html index aec71c8..47a70ab 100644 --- a/juicebox_asm/enum.MemOp.html +++ b/juicebox_asm/enum.MemOp.html @@ -1,17 +1,18 @@ -MemOp in juicebox_asm - Rust

Enum juicebox_asm::MemOp

source ·
pub enum MemOp {
+MemOp in juicebox_asm - Rust
+    

Enum juicebox_asm::MemOp

source ·
pub enum MemOp {
     Indirect(Reg64),
-    IndirectDisp(Reg64, i32),
+    IndirectDisp(Reg64, i32),
 }
Expand description

Type representing a memory operand.

-

Variants§

§

Indirect(Reg64)

An indirect memory operand, eg mov [rax], rcx.

-
§

IndirectDisp(Reg64, i32)

An indirect memory operand with additional displacement, eg mov [rax + 0x10], rcx.

-

Trait Implementations§

source§

impl Add<MemOp, Imm16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Imm16)

Emit an add instruction.
source§

impl Add<MemOp, Reg16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Reg16)

Emit an add instruction.
source§

impl Cmp<MemOp, Imm16> for Asm

source§

fn cmp(&mut self, op1: MemOp, op2: Imm16)

Emit a compare instruction. Read more
source§

impl Mov<MemOp, Imm16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Imm16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg32> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg32)

Emit an move instruction.
source§

impl Mov<MemOp, Reg64> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg64)

Emit an move instruction.
source§

impl Mov<MemOp, Reg8> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg8)

Emit an move instruction.
source§

impl Mov<Reg16, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg32, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg64, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg8, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: MemOp)

Emit an move instruction.
source§

impl Test<MemOp, Imm16> for Asm

source§

fn test(&mut self, op1: MemOp, op2: Imm16)

Emit a logical compare instruction. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for MemOp

§

impl Send for MemOp

§

impl Sync for MemOp

§

impl Unpin for MemOp

§

impl UnwindSafe for MemOp

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Variants§

§

Indirect(Reg64)

An indirect memory operand, eg mov [rax], rcx.

+
§

IndirectDisp(Reg64, i32)

An indirect memory operand with additional displacement, eg mov [rax + 0x10], rcx.

+

Trait Implementations§

source§

impl Add<MemOp, Imm16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Imm16)

Emit an add instruction.
source§

impl Add<MemOp, Reg16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Reg16)

Emit an add instruction.
source§

impl Cmp<MemOp, Imm16> for Asm

source§

fn cmp(&mut self, op1: MemOp, op2: Imm16)

Emit a compare instruction. Read more
source§

impl Mov<MemOp, Imm16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Imm16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg32> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg32)

Emit an move instruction.
source§

impl Mov<MemOp, Reg64> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg64)

Emit an move instruction.
source§

impl Mov<MemOp, Reg8> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg8)

Emit an move instruction.
source§

impl Mov<Reg16, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg32, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg64, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg8, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: MemOp)

Emit an move instruction.
source§

impl Test<MemOp, Imm16> for Asm

source§

fn test(&mut self, op1: MemOp, op2: Imm16)

Emit a logical compare instruction. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for MemOp

§

impl Send for MemOp

§

impl Sync for MemOp

§

impl Unpin for MemOp

§

impl UnwindSafe for MemOp

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/enum.Reg16.html b/juicebox_asm/enum.Reg16.html index 825fdf4..872d467 100644 --- a/juicebox_asm/enum.Reg16.html +++ b/juicebox_asm/enum.Reg16.html @@ -1,30 +1,31 @@ -Reg16 in juicebox_asm - Rust

Enum juicebox_asm::Reg16

source ·
#[repr(u8)]
pub enum Reg16 { -
Show 16 variants ax, - cx, - dx, - bx, - sp, - bp, - si, - di, - r8w, - r9w, - r10w, - r11w, - r12w, - r13w, - r14w, - r15w, +Reg16 in juicebox_asm - Rust +

Enum juicebox_asm::Reg16

source ·
#[repr(u8)]
pub enum Reg16 { +
Show 16 variants ax = 0, + cx = 1, + dx = 2, + bx = 3, + sp = 4, + bp = 5, + si = 6, + di = 7, + r8w = 8, + r9w = 9, + r10w = 10, + r11w = 11, + r12w = 12, + r13w = 13, + r14w = 14, + r15w = 15,
}
Expand description

Definition of 16 bit registers.

-

Variants§

§

ax

§

cx

§

dx

§

bx

§

sp

§

bp

§

si

§

di

§

r8w

§

r9w

§

r10w

§

r11w

§

r12w

§

r13w

§

r14w

§

r15w

Trait Implementations§

source§

impl Add<MemOp, Reg16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Reg16)

Emit an add instruction.
source§

impl Clone for Reg16

source§

fn clone(&self) -> Reg16

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Mov<MemOp, Reg16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg16)

Emit an move instruction.
source§

impl Mov<Reg16, Imm16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Imm16)

Emit an move instruction.
source§

impl Mov<Reg16, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg16, Reg16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Reg16)

Emit an move instruction.
source§

impl Copy for Reg16

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg16

§

impl Send for Reg16

§

impl Sync for Reg16

§

impl Unpin for Reg16

§

impl UnwindSafe for Reg16

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Variants§

§

ax = 0

§

cx = 1

§

dx = 2

§

bx = 3

§

sp = 4

§

bp = 5

§

si = 6

§

di = 7

§

r8w = 8

§

r9w = 9

§

r10w = 10

§

r11w = 11

§

r12w = 12

§

r13w = 13

§

r14w = 14

§

r15w = 15

Trait Implementations§

source§

impl Add<MemOp, Reg16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Reg16)

Emit an add instruction.
source§

impl Clone for Reg16

source§

fn clone(&self) -> Reg16

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Mov<MemOp, Reg16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg16)

Emit an move instruction.
source§

impl Mov<Reg16, Imm16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Imm16)

Emit an move instruction.
source§

impl Mov<Reg16, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg16, Reg16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Reg16)

Emit an move instruction.
source§

impl Pop<Reg16> for Asm

source§

fn pop(&mut self, op1: Reg16)

Emit a pop instruction.
source§

impl Push<Reg16> for Asm

source§

fn push(&mut self, op1: Reg16)

Emit a push instruction.
source§

impl Copy for Reg16

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg16

§

impl Send for Reg16

§

impl Sync for Reg16

§

impl Unpin for Reg16

§

impl UnwindSafe for Reg16

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/enum.Reg32.html b/juicebox_asm/enum.Reg32.html index 199deb8..e9ac472 100644 --- a/juicebox_asm/enum.Reg32.html +++ b/juicebox_asm/enum.Reg32.html @@ -1,30 +1,31 @@ -Reg32 in juicebox_asm - Rust

Enum juicebox_asm::Reg32

source ·
#[repr(u8)]
pub enum Reg32 { -
Show 16 variants eax, - ecx, - edx, - ebx, - esp, - ebp, - esi, - edi, - r8d, - r9d, - r10d, - r11d, - r12d, - r13d, - r14d, - r15d, +Reg32 in juicebox_asm - Rust +

Enum juicebox_asm::Reg32

source ·
#[repr(u8)]
pub enum Reg32 { +
Show 16 variants eax = 0, + ecx = 1, + edx = 2, + ebx = 3, + esp = 4, + ebp = 5, + esi = 6, + edi = 7, + r8d = 8, + r9d = 9, + r10d = 10, + r11d = 11, + r12d = 12, + r13d = 13, + r14d = 14, + r15d = 15,
}
Expand description

Definition of 32 bit registers.

-

Variants§

§

eax

§

ecx

§

edx

§

ebx

§

esp

§

ebp

§

esi

§

edi

§

r8d

§

r9d

§

r10d

§

r11d

§

r12d

§

r13d

§

r14d

§

r15d

Trait Implementations§

source§

impl Add<Reg32, Reg32> for Asm

source§

fn add(&mut self, op1: Reg32, op2: Reg32)

Emit an add instruction.
source§

impl Clone for Reg32

source§

fn clone(&self) -> Reg32

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Dec<Reg32> for Asm

source§

fn dec(&mut self, op1: Reg32)

Emit a decrement instruction.
source§

impl Mov<MemOp, Reg32> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg32)

Emit an move instruction.
source§

impl Mov<Reg32, Imm32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Imm32)

Emit an move instruction.
source§

impl Mov<Reg32, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg32, Reg32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Reg32)

Emit an move instruction.
source§

impl Test<Reg32, Reg32> for Asm

source§

fn test(&mut self, op1: Reg32, op2: Reg32)

Emit a logical compare instruction. Read more
source§

impl Copy for Reg32

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg32

§

impl Send for Reg32

§

impl Sync for Reg32

§

impl Unpin for Reg32

§

impl UnwindSafe for Reg32

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Variants§

§

eax = 0

§

ecx = 1

§

edx = 2

§

ebx = 3

§

esp = 4

§

ebp = 5

§

esi = 6

§

edi = 7

§

r8d = 8

§

r9d = 9

§

r10d = 10

§

r11d = 11

§

r12d = 12

§

r13d = 13

§

r14d = 14

§

r15d = 15

Trait Implementations§

source§

impl Add<Reg32, Reg32> for Asm

source§

fn add(&mut self, op1: Reg32, op2: Reg32)

Emit an add instruction.
source§

impl Clone for Reg32

source§

fn clone(&self) -> Reg32

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Dec<Reg32> for Asm

source§

fn dec(&mut self, op1: Reg32)

Emit a decrement instruction.
source§

impl Mov<MemOp, Reg32> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg32)

Emit an move instruction.
source§

impl Mov<Reg32, Imm32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Imm32)

Emit an move instruction.
source§

impl Mov<Reg32, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg32, Reg32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Reg32)

Emit an move instruction.
source§

impl Test<Reg32, Reg32> for Asm

source§

fn test(&mut self, op1: Reg32, op2: Reg32)

Emit a logical compare instruction. Read more
source§

impl Copy for Reg32

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg32

§

impl Send for Reg32

§

impl Sync for Reg32

§

impl Unpin for Reg32

§

impl UnwindSafe for Reg32

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/enum.Reg64.html b/juicebox_asm/enum.Reg64.html index 6c99dc0..faef682 100644 --- a/juicebox_asm/enum.Reg64.html +++ b/juicebox_asm/enum.Reg64.html @@ -1,30 +1,31 @@ -Reg64 in juicebox_asm - Rust

Enum juicebox_asm::Reg64

source ·
#[repr(u8)]
pub enum Reg64 { -
Show 16 variants rax, - rcx, - rdx, - rbx, - rsp, - rbp, - rsi, - rdi, - r8, - r9, - r10, - r11, - r12, - r13, - r14, - r15, +Reg64 in juicebox_asm - Rust +

Enum juicebox_asm::Reg64

source ·
#[repr(u8)]
pub enum Reg64 { +
Show 16 variants rax = 0, + rcx = 1, + rdx = 2, + rbx = 3, + rsp = 4, + rbp = 5, + rsi = 6, + rdi = 7, + r8 = 8, + r9 = 9, + r10 = 10, + r11 = 11, + r12 = 12, + r13 = 13, + r14 = 14, + r15 = 15,
}
Expand description

Definition of 64 bit registers.

-

Variants§

§

rax

§

rcx

§

rdx

§

rbx

§

rsp

§

rbp

§

rsi

§

rdi

§

r8

§

r9

§

r10

§

r11

§

r12

§

r13

§

r14

§

r15

Trait Implementations§

source§

impl Add<Reg64, Reg64> for Asm

source§

fn add(&mut self, op1: Reg64, op2: Reg64)

Emit an add instruction.
source§

impl Call<Reg64> for Asm

source§

fn call(&mut self, op1: Reg64)

Emit a call instruction.
source§

impl Clone for Reg64

source§

fn clone(&self) -> Reg64

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Dec<Reg64> for Asm

source§

fn dec(&mut self, op1: Reg64)

Emit a decrement instruction.
source§

impl Mov<MemOp, Reg64> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg64)

Emit an move instruction.
source§

impl Mov<Reg64, Imm64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Imm64)

Emit an move instruction.
source§

impl Mov<Reg64, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg64, Reg64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Reg64)

Emit an move instruction.
source§

impl Test<Reg64, Reg64> for Asm

source§

fn test(&mut self, op1: Reg64, op2: Reg64)

Emit a logical compare instruction. Read more
source§

impl Copy for Reg64

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg64

§

impl Send for Reg64

§

impl Sync for Reg64

§

impl Unpin for Reg64

§

impl UnwindSafe for Reg64

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Variants§

§

rax = 0

§

rcx = 1

§

rdx = 2

§

rbx = 3

§

rsp = 4

§

rbp = 5

§

rsi = 6

§

rdi = 7

§

r8 = 8

§

r9 = 9

§

r10 = 10

§

r11 = 11

§

r12 = 12

§

r13 = 13

§

r14 = 14

§

r15 = 15

Trait Implementations§

source§

impl Add<Reg64, Reg64> for Asm

source§

fn add(&mut self, op1: Reg64, op2: Reg64)

Emit an add instruction.
source§

impl Call<Reg64> for Asm

source§

fn call(&mut self, op1: Reg64)

Emit a call instruction.
source§

impl Clone for Reg64

source§

fn clone(&self) -> Reg64

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Dec<Reg64> for Asm

source§

fn dec(&mut self, op1: Reg64)

Emit a decrement instruction.
source§

impl Mov<MemOp, Reg64> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg64)

Emit an move instruction.
source§

impl Mov<Reg64, Imm64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Imm64)

Emit an move instruction.
source§

impl Mov<Reg64, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg64, Reg64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Reg64)

Emit an move instruction.
source§

impl Pop<Reg64> for Asm

source§

fn pop(&mut self, op1: Reg64)

Emit a pop instruction.
source§

impl Push<Reg64> for Asm

source§

fn push(&mut self, op1: Reg64)

Emit a push instruction.
source§

impl Test<Reg64, Reg64> for Asm

source§

fn test(&mut self, op1: Reg64, op2: Reg64)

Emit a logical compare instruction. Read more
source§

impl Copy for Reg64

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg64

§

impl Send for Reg64

§

impl Sync for Reg64

§

impl Unpin for Reg64

§

impl UnwindSafe for Reg64

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/enum.Reg8.html b/juicebox_asm/enum.Reg8.html index 132cb00..aa8c402 100644 --- a/juicebox_asm/enum.Reg8.html +++ b/juicebox_asm/enum.Reg8.html @@ -1,34 +1,35 @@ -Reg8 in juicebox_asm - Rust

Enum juicebox_asm::Reg8

source ·
#[repr(u8)]
pub enum Reg8 { -
Show 20 variants al, - cl, - dl, - bl, - spl, - bpl, - sil, - dil, - r8l, - r9l, - r10l, - r11l, - r12l, - r13l, - r14l, - r15l, - ah, - ch, - dh, - bh, +Reg8 in juicebox_asm - Rust +

Enum juicebox_asm::Reg8

source ·
#[repr(u8)]
pub enum Reg8 { +
Show 20 variants al = 0, + cl = 1, + dl = 2, + bl = 3, + spl = 4, + bpl = 5, + sil = 6, + dil = 7, + r8l = 8, + r9l = 9, + r10l = 10, + r11l = 11, + r12l = 12, + r13l = 13, + r14l = 14, + r15l = 15, + ah = 16, + ch = 17, + dh = 18, + bh = 19,
}
Expand description

Definition of 8 bit registers.

-

Variants§

§

al

§

cl

§

dl

§

bl

§

spl

§

bpl

§

sil

§

dil

§

r8l

§

r9l

§

r10l

§

r11l

§

r12l

§

r13l

§

r14l

§

r15l

§

ah

§

ch

§

dh

§

bh

Trait Implementations§

source§

impl Clone for Reg8

source§

fn clone(&self) -> Reg8

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Mov<MemOp, Reg8> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg8)

Emit an move instruction.
source§

impl Mov<Reg8, Imm8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Imm8)

Emit an move instruction.
source§

impl Mov<Reg8, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg8, Reg8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Reg8)

Emit an move instruction.
source§

impl Copy for Reg8

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg8

§

impl Send for Reg8

§

impl Sync for Reg8

§

impl Unpin for Reg8

§

impl UnwindSafe for Reg8

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Variants§

§

al = 0

§

cl = 1

§

dl = 2

§

bl = 3

§

spl = 4

§

bpl = 5

§

sil = 6

§

dil = 7

§

r8l = 8

§

r9l = 9

§

r10l = 10

§

r11l = 11

§

r12l = 12

§

r13l = 13

§

r14l = 14

§

r15l = 15

§

ah = 16

§

ch = 17

§

dh = 18

§

bh = 19

Trait Implementations§

source§

impl Clone for Reg8

source§

fn clone(&self) -> Reg8

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Mov<MemOp, Reg8> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg8)

Emit an move instruction.
source§

impl Mov<Reg8, Imm8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Imm8)

Emit an move instruction.
source§

impl Mov<Reg8, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg8, Reg8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Reg8)

Emit an move instruction.
source§

impl Copy for Reg8

Auto Trait Implementations§

§

impl RefUnwindSafe for Reg8

§

impl Send for Reg8

§

impl Sync for Reg8

§

impl Unpin for Reg8

§

impl UnwindSafe for Reg8

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for Twhere - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T> ToOwned for T
where + T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/index.html b/juicebox_asm/index.html index d6639eb..c53f65d 100644 --- a/juicebox_asm/index.html +++ b/juicebox_asm/index.html @@ -1,4 +1,6 @@ -juicebox_asm - Rust

Crate juicebox_asm

source ·
Expand description

A simple x64 jit assembler with a minimal runtime to execute emitted code for fun.

+juicebox_asm - Rust +

Crate juicebox_asm

source ·
Expand description

A simple x64 jit assembler with a minimal runtime to execute emitted code for fun.

The following is an fibonacci example implementation.

use juicebox_asm::{Asm, Reg64, Imm64, Label};
@@ -62,12 +64,12 @@
 
     // Move code into executable page and get function pointer to it.
     let mut rt = Runtime::new();
-    let fib = unsafe { rt.add_code::<extern "C" fn(u64) -> u64>(&asm.into_code()) };
+    let fib = unsafe { rt.add_code::<extern "C" fn(u64) -> u64>(&asm.into_code()) };
 
     for n in 0..15 {
         let fib_jit = fib(n);
-        println!("fib({}) = {}", n, fib_jit);
+        println!("fib({}) = {}", n, fib_jit);
         assert_eq!(fib_jit, fib_rs(n));
     }
 }
-

Modules

  • Trait definitions of various instructions.

Structs

  • x64 jit assembler.
  • Type representing an 8 bit immediate.
  • Type representing a 16 bit immediate.
  • Type representing a 32 bit immediate.
  • Type representing a 64 bit immediate.
  • A label which is used as target for jump instructions.
  • A simple mmaped runtime with executable pages.

Enums

  • Type representing a memory operand.
  • Definition of 8 bit registers.
  • Definition of 16 bit registers.
  • Definition of 32 bit registers.
  • Definition of 64 bit registers.
\ No newline at end of file +

Modules

  • Trait definitions of various instructions.

Structs

  • x64 jit assembler.
  • Type representing an 8 bit immediate.
  • Type representing a 16 bit immediate.
  • Type representing a 32 bit immediate.
  • Type representing a 64 bit immediate.
  • A label which is used as target for jump instructions.
  • A simple mmaped runtime with executable pages.

Enums

  • Type representing a memory operand.
  • Definition of 8 bit registers.
  • Definition of 16 bit registers.
  • Definition of 32 bit registers.
  • Definition of 64 bit registers.
\ No newline at end of file diff --git a/juicebox_asm/insn/index.html b/juicebox_asm/insn/index.html index f440fba..cf23995 100644 --- a/juicebox_asm/insn/index.html +++ b/juicebox_asm/insn/index.html @@ -1,2 +1,3 @@ -juicebox_asm::insn - Rust

Module juicebox_asm::insn

source ·
Expand description

Trait definitions of various instructions.

-

Traits

  • Trait for add instruction kinds.
  • Trait for call instruction kinds.
  • Trait for cmp instruction kinds.
  • Trait for dec instruction kinds.
  • Trait for jmp instruction kinds.
  • Trait for jnz instruction kinds.
  • Trait for jz instruction kinds.
  • Trait for mov instruction kinds.
  • Trait for test instruction kinds.
\ No newline at end of file +juicebox_asm::insn - Rust +

Module juicebox_asm::insn

source ·
Expand description

Trait definitions of various instructions.

+

Traits

  • Trait for add instruction kinds.
  • Trait for call instruction kinds.
  • Trait for cmp instruction kinds.
  • Trait for dec instruction kinds.
  • Trait for jmp instruction kinds.
  • Trait for jnz instruction kinds.
  • Trait for jz instruction kinds.
  • Trait for mov instruction kinds.
  • Trait for pop instruction kinds.
  • Trait for push instruction kinds.
  • Trait for test instruction kinds.
\ No newline at end of file diff --git a/juicebox_asm/insn/sidebar-items.js b/juicebox_asm/insn/sidebar-items.js index 140fc4e..23ed650 100644 --- a/juicebox_asm/insn/sidebar-items.js +++ b/juicebox_asm/insn/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"trait":["Add","Call","Cmp","Dec","Jmp","Jnz","Jz","Mov","Test"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":["Add","Call","Cmp","Dec","Jmp","Jnz","Jz","Mov","Pop","Push","Test"]}; \ No newline at end of file diff --git a/juicebox_asm/insn/trait.Add.html b/juicebox_asm/insn/trait.Add.html index 06adc65..f64bb18 100644 --- a/juicebox_asm/insn/trait.Add.html +++ b/juicebox_asm/insn/trait.Add.html @@ -1,6 +1,7 @@ -Add in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Add

source ·
pub trait Add<T, U> {
+Add in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Add

source ·
pub trait Add<T, U> {
     // Required method
     fn add(&mut self, op1: T, op2: U);
 }
Expand description

Trait for add instruction kinds.

-

Required Methods§

source

fn add(&mut self, op1: T, op2: U)

Emit an add instruction.

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn add(&mut self, op1: T, op2: U)

Emit an add instruction.

+

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Call.html b/juicebox_asm/insn/trait.Call.html index 00b613f..e306d73 100644 --- a/juicebox_asm/insn/trait.Call.html +++ b/juicebox_asm/insn/trait.Call.html @@ -1,6 +1,7 @@ -Call in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Call

source ·
pub trait Call<T> {
+Call in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Call

source ·
pub trait Call<T> {
     // Required method
     fn call(&mut self, op1: T);
 }
Expand description

Trait for call instruction kinds.

-

Required Methods§

source

fn call(&mut self, op1: T)

Emit a call instruction.

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn call(&mut self, op1: T)

Emit a call instruction.

+

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Cmp.html b/juicebox_asm/insn/trait.Cmp.html index 3f88e11..cd38840 100644 --- a/juicebox_asm/insn/trait.Cmp.html +++ b/juicebox_asm/insn/trait.Cmp.html @@ -1,8 +1,9 @@ -Cmp in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Cmp

source ·
pub trait Cmp<T, U> {
+Cmp in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Cmp

source ·
pub trait Cmp<T, U> {
     // Required method
     fn cmp(&mut self, op1: T, op2: U);
 }
Expand description

Trait for cmp instruction kinds.

-

Required Methods§

source

fn cmp(&mut self, op1: T, op2: U)

Emit a compare instruction.

+

Required Methods§

source

fn cmp(&mut self, op1: T, op2: U)

Emit a compare instruction.

Computes op2 - op1 and sets the status flags in the same way as the sub instruction, the result is discarded.

-

Implementors§

\ No newline at end of file +

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Dec.html b/juicebox_asm/insn/trait.Dec.html index e8c6042..d53ac3b 100644 --- a/juicebox_asm/insn/trait.Dec.html +++ b/juicebox_asm/insn/trait.Dec.html @@ -1,6 +1,7 @@ -Dec in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Dec

source ·
pub trait Dec<T> {
+Dec in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Dec

source ·
pub trait Dec<T> {
     // Required method
     fn dec(&mut self, op1: T);
 }
Expand description

Trait for dec instruction kinds.

-

Required Methods§

source

fn dec(&mut self, op1: T)

Emit a decrement instruction.

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn dec(&mut self, op1: T)

Emit a decrement instruction.

+

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Jmp.html b/juicebox_asm/insn/trait.Jmp.html index 9b01a30..21b50fa 100644 --- a/juicebox_asm/insn/trait.Jmp.html +++ b/juicebox_asm/insn/trait.Jmp.html @@ -1,6 +1,7 @@ -Jmp in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Jmp

source ·
pub trait Jmp<T> {
+Jmp in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Jmp

source ·
pub trait Jmp<T> {
     // Required method
     fn jmp(&mut self, op1: T);
 }
Expand description

Trait for jmp instruction kinds.

-

Required Methods§

source

fn jmp(&mut self, op1: T)

Emit an unconditional jump instruction.

-

Implementors§

source§

impl Jmp<&mut Label> for Asm

\ No newline at end of file +

Required Methods§

source

fn jmp(&mut self, op1: T)

Emit an unconditional jump instruction.

+

Implementors§

source§

impl Jmp<&mut Label> for Asm

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Jnz.html b/juicebox_asm/insn/trait.Jnz.html index 9031e08..db1e536 100644 --- a/juicebox_asm/insn/trait.Jnz.html +++ b/juicebox_asm/insn/trait.Jnz.html @@ -1,6 +1,7 @@ -Jnz in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Jnz

source ·
pub trait Jnz<T> {
+Jnz in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Jnz

source ·
pub trait Jnz<T> {
     // Required method
     fn jnz(&mut self, op1: T);
 }
Expand description

Trait for jnz instruction kinds.

-

Required Methods§

source

fn jnz(&mut self, op1: T)

Emit a conditional jump if not zero instruction (ZF = 0).

-

Implementors§

source§

impl Jnz<&mut Label> for Asm

\ No newline at end of file +

Required Methods§

source

fn jnz(&mut self, op1: T)

Emit a conditional jump if not zero instruction (ZF = 0).

+

Implementors§

source§

impl Jnz<&mut Label> for Asm

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Jz.html b/juicebox_asm/insn/trait.Jz.html index fc6e391..799b9bc 100644 --- a/juicebox_asm/insn/trait.Jz.html +++ b/juicebox_asm/insn/trait.Jz.html @@ -1,6 +1,7 @@ -Jz in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Jz

source ·
pub trait Jz<T> {
+Jz in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Jz

source ·
pub trait Jz<T> {
     // Required method
     fn jz(&mut self, op1: T);
 }
Expand description

Trait for jz instruction kinds.

-

Required Methods§

source

fn jz(&mut self, op1: T)

Emit a conditional jump if zero instruction (ZF = 1).

-

Implementors§

source§

impl Jz<&mut Label> for Asm

\ No newline at end of file +

Required Methods§

source

fn jz(&mut self, op1: T)

Emit a conditional jump if zero instruction (ZF = 1).

+

Implementors§

source§

impl Jz<&mut Label> for Asm

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Mov.html b/juicebox_asm/insn/trait.Mov.html index 2022b18..86659f9 100644 --- a/juicebox_asm/insn/trait.Mov.html +++ b/juicebox_asm/insn/trait.Mov.html @@ -1,6 +1,7 @@ -Mov in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Mov

source ·
pub trait Mov<T, U> {
+Mov in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Mov

source ·
pub trait Mov<T, U> {
     // Required method
     fn mov(&mut self, op1: T, op2: U);
 }
Expand description

Trait for mov instruction kinds.

-

Required Methods§

source

fn mov(&mut self, op1: T, op2: U)

Emit an move instruction.

-

Implementors§

\ No newline at end of file +

Required Methods§

source

fn mov(&mut self, op1: T, op2: U)

Emit an move instruction.

+

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Pop.html b/juicebox_asm/insn/trait.Pop.html new file mode 100644 index 0000000..02083ec --- /dev/null +++ b/juicebox_asm/insn/trait.Pop.html @@ -0,0 +1,7 @@ +Pop in juicebox_asm::insn - Rust +

Trait juicebox_asm::insn::Pop

source ·
pub trait Pop<T> {
+    // Required method
+    fn pop(&mut self, op1: T);
+}
Expand description

Trait for pop instruction kinds.

+

Required Methods§

source

fn pop(&mut self, op1: T)

Emit a pop instruction.

+

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Push.html b/juicebox_asm/insn/trait.Push.html new file mode 100644 index 0000000..7b49d03 --- /dev/null +++ b/juicebox_asm/insn/trait.Push.html @@ -0,0 +1,7 @@ +Push in juicebox_asm::insn - Rust +

Trait juicebox_asm::insn::Push

source ·
pub trait Push<T> {
+    // Required method
+    fn push(&mut self, op1: T);
+}
Expand description

Trait for push instruction kinds.

+

Required Methods§

source

fn push(&mut self, op1: T)

Emit a push instruction.

+

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/insn/trait.Test.html b/juicebox_asm/insn/trait.Test.html index 19da176..331dfad 100644 --- a/juicebox_asm/insn/trait.Test.html +++ b/juicebox_asm/insn/trait.Test.html @@ -1,8 +1,9 @@ -Test in juicebox_asm::insn - Rust

Trait juicebox_asm::insn::Test

source ·
pub trait Test<T, U> {
+Test in juicebox_asm::insn - Rust
+    

Trait juicebox_asm::insn::Test

source ·
pub trait Test<T, U> {
     // Required method
     fn test(&mut self, op1: T, op2: U);
 }
Expand description

Trait for test instruction kinds.

-

Required Methods§

source

fn test(&mut self, op1: T, op2: U)

Emit a logical compare instruction.

+

Required Methods§

source

fn test(&mut self, op1: T, op2: U)

Emit a logical compare instruction.

Computes the bit-wise logical AND of first operand and the second operand and sets the SF, ZF, and PF status flags, the result is discarded.

-

Implementors§

\ No newline at end of file +

Implementors§

\ No newline at end of file diff --git a/juicebox_asm/struct.Asm.html b/juicebox_asm/struct.Asm.html index e4eaf87..c8cea5f 100644 --- a/juicebox_asm/struct.Asm.html +++ b/juicebox_asm/struct.Asm.html @@ -1,17 +1,18 @@ -Asm in juicebox_asm - Rust

Struct juicebox_asm::Asm

source ·
pub struct Asm { /* private fields */ }
Expand description

x64 jit assembler.

-

Implementations§

source§

impl Asm

source

pub fn new() -> Asm

Create a new x64 jit assembler.

-
source

pub fn into_code(self) -> Vec<u8>

Consume the assembler and get the emitted code.

+Asm in juicebox_asm - Rust +

Struct juicebox_asm::Asm

source ·
pub struct Asm { /* private fields */ }
Expand description

x64 jit assembler.

+

Implementations§

source§

impl Asm

source

pub fn new() -> Asm

Create a new x64 jit assembler.

+
source

pub fn into_code(self) -> Vec<u8>

Consume the assembler and get the emitted code.

source

pub fn bind(&mut self, label: &mut Label)

Bind the Label to the current location.

source§

impl Asm

source

pub fn nop(&mut self)

Emit a nop instruction.

source§

impl Asm

source

pub fn ret(&mut self)

Emit a ret instruction.

-

Trait Implementations§

source§

impl Add<MemOp, Imm16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Imm16)

Emit an add instruction.
source§

impl Add<MemOp, Reg16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Reg16)

Emit an add instruction.
source§

impl Add<Reg32, Reg32> for Asm

source§

fn add(&mut self, op1: Reg32, op2: Reg32)

Emit an add instruction.
source§

impl Add<Reg64, Reg64> for Asm

source§

fn add(&mut self, op1: Reg64, op2: Reg64)

Emit an add instruction.
source§

impl Call<Reg64> for Asm

source§

fn call(&mut self, op1: Reg64)

Emit a call instruction.
source§

impl Cmp<MemOp, Imm16> for Asm

source§

fn cmp(&mut self, op1: MemOp, op2: Imm16)

Emit a compare instruction. Read more
source§

impl Dec<Reg32> for Asm

source§

fn dec(&mut self, op1: Reg32)

Emit a decrement instruction.
source§

impl Dec<Reg64> for Asm

source§

fn dec(&mut self, op1: Reg64)

Emit a decrement instruction.
source§

impl Jmp<&mut Label> for Asm

source§

fn jmp(&mut self, op1: &mut Label)

Emit an unconditional jump instruction.
source§

impl Jnz<&mut Label> for Asm

source§

fn jnz(&mut self, op1: &mut Label)

Emit a conditional jump if not zero instruction (ZF = 0).
source§

impl Jz<&mut Label> for Asm

source§

fn jz(&mut self, op1: &mut Label)

Emit a conditional jump if zero instruction (ZF = 1).
source§

impl Mov<MemOp, Imm16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Imm16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg32> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg32)

Emit an move instruction.
source§

impl Mov<MemOp, Reg64> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg64)

Emit an move instruction.
source§

impl Mov<MemOp, Reg8> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg8)

Emit an move instruction.
source§

impl Mov<Reg16, Imm16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Imm16)

Emit an move instruction.
source§

impl Mov<Reg16, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg16, Reg16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Reg16)

Emit an move instruction.
source§

impl Mov<Reg32, Imm32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Imm32)

Emit an move instruction.
source§

impl Mov<Reg32, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg32, Reg32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Reg32)

Emit an move instruction.
source§

impl Mov<Reg64, Imm64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Imm64)

Emit an move instruction.
source§

impl Mov<Reg64, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg64, Reg64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Reg64)

Emit an move instruction.
source§

impl Mov<Reg8, Imm8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Imm8)

Emit an move instruction.
source§

impl Mov<Reg8, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg8, Reg8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Reg8)

Emit an move instruction.
source§

impl Test<MemOp, Imm16> for Asm

source§

fn test(&mut self, op1: MemOp, op2: Imm16)

Emit a logical compare instruction. Read more
source§

impl Test<Reg32, Reg32> for Asm

source§

fn test(&mut self, op1: Reg32, op2: Reg32)

Emit a logical compare instruction. Read more
source§

impl Test<Reg64, Reg64> for Asm

source§

fn test(&mut self, op1: Reg64, op2: Reg64)

Emit a logical compare instruction. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Asm

§

impl Send for Asm

§

impl Sync for Asm

§

impl Unpin for Asm

§

impl UnwindSafe for Asm

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Trait Implementations§

source§

impl Add<MemOp, Imm16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Imm16)

Emit an add instruction.
source§

impl Add<MemOp, Reg16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Reg16)

Emit an add instruction.
source§

impl Add<Reg32, Reg32> for Asm

source§

fn add(&mut self, op1: Reg32, op2: Reg32)

Emit an add instruction.
source§

impl Add<Reg64, Reg64> for Asm

source§

fn add(&mut self, op1: Reg64, op2: Reg64)

Emit an add instruction.
source§

impl Call<Reg64> for Asm

source§

fn call(&mut self, op1: Reg64)

Emit a call instruction.
source§

impl Cmp<MemOp, Imm16> for Asm

source§

fn cmp(&mut self, op1: MemOp, op2: Imm16)

Emit a compare instruction. Read more
source§

impl Dec<Reg32> for Asm

source§

fn dec(&mut self, op1: Reg32)

Emit a decrement instruction.
source§

impl Dec<Reg64> for Asm

source§

fn dec(&mut self, op1: Reg64)

Emit a decrement instruction.
source§

impl Jmp<&mut Label> for Asm

source§

fn jmp(&mut self, op1: &mut Label)

Emit an unconditional jump instruction.
source§

impl Jnz<&mut Label> for Asm

source§

fn jnz(&mut self, op1: &mut Label)

Emit a conditional jump if not zero instruction (ZF = 0).
source§

impl Jz<&mut Label> for Asm

source§

fn jz(&mut self, op1: &mut Label)

Emit a conditional jump if zero instruction (ZF = 1).
source§

impl Mov<MemOp, Imm16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Imm16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg16)

Emit an move instruction.
source§

impl Mov<MemOp, Reg32> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg32)

Emit an move instruction.
source§

impl Mov<MemOp, Reg64> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg64)

Emit an move instruction.
source§

impl Mov<MemOp, Reg8> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Reg8)

Emit an move instruction.
source§

impl Mov<Reg16, Imm16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Imm16)

Emit an move instruction.
source§

impl Mov<Reg16, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg16, Reg16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Reg16)

Emit an move instruction.
source§

impl Mov<Reg32, Imm32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Imm32)

Emit an move instruction.
source§

impl Mov<Reg32, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg32, Reg32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Reg32)

Emit an move instruction.
source§

impl Mov<Reg64, Imm64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Imm64)

Emit an move instruction.
source§

impl Mov<Reg64, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg64, Reg64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Reg64)

Emit an move instruction.
source§

impl Mov<Reg8, Imm8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Imm8)

Emit an move instruction.
source§

impl Mov<Reg8, MemOp> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: MemOp)

Emit an move instruction.
source§

impl Mov<Reg8, Reg8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Reg8)

Emit an move instruction.
source§

impl Pop<Reg16> for Asm

source§

fn pop(&mut self, op1: Reg16)

Emit a pop instruction.
source§

impl Pop<Reg64> for Asm

source§

fn pop(&mut self, op1: Reg64)

Emit a pop instruction.
source§

impl Push<Reg16> for Asm

source§

fn push(&mut self, op1: Reg16)

Emit a push instruction.
source§

impl Push<Reg64> for Asm

source§

fn push(&mut self, op1: Reg64)

Emit a push instruction.
source§

impl Test<MemOp, Imm16> for Asm

source§

fn test(&mut self, op1: MemOp, op2: Imm16)

Emit a logical compare instruction. Read more
source§

impl Test<Reg32, Reg32> for Asm

source§

fn test(&mut self, op1: Reg32, op2: Reg32)

Emit a logical compare instruction. Read more
source§

impl Test<Reg64, Reg64> for Asm

source§

fn test(&mut self, op1: Reg64, op2: Reg64)

Emit a logical compare instruction. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Asm

§

impl Send for Asm

§

impl Sync for Asm

§

impl Unpin for Asm

§

impl UnwindSafe for Asm

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/struct.Imm16.html b/juicebox_asm/struct.Imm16.html index 1216553..7e7b386 100644 --- a/juicebox_asm/struct.Imm16.html +++ b/juicebox_asm/struct.Imm16.html @@ -1,12 +1,13 @@ -Imm16 in juicebox_asm - Rust

Struct juicebox_asm::Imm16

source ·
pub struct Imm16(/* private fields */);
Expand description

Type representing a 16 bit immediate.

-

Trait Implementations§

source§

impl Add<MemOp, Imm16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Imm16)

Emit an add instruction.
source§

impl Cmp<MemOp, Imm16> for Asm

source§

fn cmp(&mut self, op1: MemOp, op2: Imm16)

Emit a compare instruction. Read more
source§

impl From<i16> for Imm16

source§

fn from(imm: i16) -> Self

Converts to this type from the input type.
source§

impl From<i8> for Imm16

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<u16> for Imm16

source§

fn from(imm: u16) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm16

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl Mov<MemOp, Imm16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Imm16)

Emit an move instruction.
source§

impl Mov<Reg16, Imm16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Imm16)

Emit an move instruction.
source§

impl Test<MemOp, Imm16> for Asm

source§

fn test(&mut self, op1: MemOp, op2: Imm16)

Emit a logical compare instruction. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm16

§

impl Send for Imm16

§

impl Sync for Imm16

§

impl Unpin for Imm16

§

impl UnwindSafe for Imm16

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Imm16 in juicebox_asm - Rust +

Struct juicebox_asm::Imm16

source ·
pub struct Imm16(/* private fields */);
Expand description

Type representing a 16 bit immediate.

+

Trait Implementations§

source§

impl Add<MemOp, Imm16> for Asm

source§

fn add(&mut self, op1: MemOp, op2: Imm16)

Emit an add instruction.
source§

impl Cmp<MemOp, Imm16> for Asm

source§

fn cmp(&mut self, op1: MemOp, op2: Imm16)

Emit a compare instruction. Read more
source§

impl From<i16> for Imm16

source§

fn from(imm: i16) -> Self

Converts to this type from the input type.
source§

impl From<i8> for Imm16

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<u16> for Imm16

source§

fn from(imm: u16) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm16

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl Mov<MemOp, Imm16> for Asm

source§

fn mov(&mut self, op1: MemOp, op2: Imm16)

Emit an move instruction.
source§

impl Mov<Reg16, Imm16> for Asm

source§

fn mov(&mut self, op1: Reg16, op2: Imm16)

Emit an move instruction.
source§

impl Test<MemOp, Imm16> for Asm

source§

fn test(&mut self, op1: MemOp, op2: Imm16)

Emit a logical compare instruction. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm16

§

impl Send for Imm16

§

impl Sync for Imm16

§

impl Unpin for Imm16

§

impl UnwindSafe for Imm16

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/struct.Imm32.html b/juicebox_asm/struct.Imm32.html index 8a2d937..4e4da0b 100644 --- a/juicebox_asm/struct.Imm32.html +++ b/juicebox_asm/struct.Imm32.html @@ -1,12 +1,13 @@ -Imm32 in juicebox_asm - Rust

Struct juicebox_asm::Imm32

source ·
pub struct Imm32(/* private fields */);
Expand description

Type representing a 32 bit immediate.

-

Trait Implementations§

source§

impl From<i16> for Imm32

source§

fn from(imm: i16) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Imm32

source§

fn from(imm: i32) -> Self

Converts to this type from the input type.
source§

impl From<i8> for Imm32

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<u16> for Imm32

source§

fn from(imm: u16) -> Self

Converts to this type from the input type.
source§

impl From<u32> for Imm32

source§

fn from(imm: u32) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm32

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl Mov<Reg32, Imm32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Imm32)

Emit an move instruction.

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm32

§

impl Send for Imm32

§

impl Sync for Imm32

§

impl Unpin for Imm32

§

impl UnwindSafe for Imm32

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Imm32 in juicebox_asm - Rust +

Struct juicebox_asm::Imm32

source ·
pub struct Imm32(/* private fields */);
Expand description

Type representing a 32 bit immediate.

+

Trait Implementations§

source§

impl From<i16> for Imm32

source§

fn from(imm: i16) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Imm32

source§

fn from(imm: i32) -> Self

Converts to this type from the input type.
source§

impl From<i8> for Imm32

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<u16> for Imm32

source§

fn from(imm: u16) -> Self

Converts to this type from the input type.
source§

impl From<u32> for Imm32

source§

fn from(imm: u32) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm32

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl Mov<Reg32, Imm32> for Asm

source§

fn mov(&mut self, op1: Reg32, op2: Imm32)

Emit an move instruction.

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm32

§

impl Send for Imm32

§

impl Sync for Imm32

§

impl Unpin for Imm32

§

impl UnwindSafe for Imm32

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/struct.Imm64.html b/juicebox_asm/struct.Imm64.html index cb711ee..33f84e2 100644 --- a/juicebox_asm/struct.Imm64.html +++ b/juicebox_asm/struct.Imm64.html @@ -1,12 +1,13 @@ -Imm64 in juicebox_asm - Rust

Struct juicebox_asm::Imm64

source ·
pub struct Imm64(/* private fields */);
Expand description

Type representing a 64 bit immediate.

-

Trait Implementations§

source§

impl From<i16> for Imm64

source§

fn from(imm: i16) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Imm64

source§

fn from(imm: i32) -> Self

Converts to this type from the input type.
source§

impl From<i64> for Imm64

source§

fn from(imm: i64) -> Self

Converts to this type from the input type.
source§

impl From<i8> for Imm64

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<isize> for Imm64

source§

fn from(imm: isize) -> Self

Converts to this type from the input type.
source§

impl From<u16> for Imm64

source§

fn from(imm: u16) -> Self

Converts to this type from the input type.
source§

impl From<u32> for Imm64

source§

fn from(imm: u32) -> Self

Converts to this type from the input type.
source§

impl From<u64> for Imm64

source§

fn from(imm: u64) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm64

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Imm64

source§

fn from(imm: usize) -> Self

Converts to this type from the input type.
source§

impl Mov<Reg64, Imm64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Imm64)

Emit an move instruction.

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm64

§

impl Send for Imm64

§

impl Sync for Imm64

§

impl Unpin for Imm64

§

impl UnwindSafe for Imm64

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Imm64 in juicebox_asm - Rust +

Struct juicebox_asm::Imm64

source ·
pub struct Imm64(/* private fields */);
Expand description

Type representing a 64 bit immediate.

+

Trait Implementations§

source§

impl From<i16> for Imm64

source§

fn from(imm: i16) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Imm64

source§

fn from(imm: i32) -> Self

Converts to this type from the input type.
source§

impl From<i64> for Imm64

source§

fn from(imm: i64) -> Self

Converts to this type from the input type.
source§

impl From<i8> for Imm64

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<isize> for Imm64

source§

fn from(imm: isize) -> Self

Converts to this type from the input type.
source§

impl From<u16> for Imm64

source§

fn from(imm: u16) -> Self

Converts to this type from the input type.
source§

impl From<u32> for Imm64

source§

fn from(imm: u32) -> Self

Converts to this type from the input type.
source§

impl From<u64> for Imm64

source§

fn from(imm: u64) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm64

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl From<usize> for Imm64

source§

fn from(imm: usize) -> Self

Converts to this type from the input type.
source§

impl Mov<Reg64, Imm64> for Asm

source§

fn mov(&mut self, op1: Reg64, op2: Imm64)

Emit an move instruction.

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm64

§

impl Send for Imm64

§

impl Sync for Imm64

§

impl Unpin for Imm64

§

impl UnwindSafe for Imm64

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/struct.Imm8.html b/juicebox_asm/struct.Imm8.html index b59a1df..6392d93 100644 --- a/juicebox_asm/struct.Imm8.html +++ b/juicebox_asm/struct.Imm8.html @@ -1,12 +1,13 @@ -Imm8 in juicebox_asm - Rust

Struct juicebox_asm::Imm8

source ·
pub struct Imm8(/* private fields */);
Expand description

Type representing an 8 bit immediate.

-

Trait Implementations§

source§

impl From<i8> for Imm8

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm8

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl Mov<Reg8, Imm8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Imm8)

Emit an move instruction.

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm8

§

impl Send for Imm8

§

impl Sync for Imm8

§

impl Unpin for Imm8

§

impl UnwindSafe for Imm8

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+Imm8 in juicebox_asm - Rust +

Struct juicebox_asm::Imm8

source ·
pub struct Imm8(/* private fields */);
Expand description

Type representing an 8 bit immediate.

+

Trait Implementations§

source§

impl From<i8> for Imm8

source§

fn from(imm: i8) -> Self

Converts to this type from the input type.
source§

impl From<u8> for Imm8

source§

fn from(imm: u8) -> Self

Converts to this type from the input type.
source§

impl Mov<Reg8, Imm8> for Asm

source§

fn mov(&mut self, op1: Reg8, op2: Imm8)

Emit an move instruction.

Auto Trait Implementations§

§

impl RefUnwindSafe for Imm8

§

impl Send for Imm8

§

impl Sync for Imm8

§

impl Unpin for Imm8

§

impl UnwindSafe for Imm8

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/struct.Label.html b/juicebox_asm/struct.Label.html index 63fc164..330a823 100644 --- a/juicebox_asm/struct.Label.html +++ b/juicebox_asm/struct.Label.html @@ -1,4 +1,5 @@ -Label in juicebox_asm - Rust

Struct juicebox_asm::Label

source ·
pub struct Label { /* private fields */ }
Expand description

A label which is used as target for jump instructions.

+Label in juicebox_asm - Rust +

Struct juicebox_asm::Label

source ·
pub struct Label { /* private fields */ }
Expand description

A label which is used as target for jump instructions.

use juicebox_asm::{Asm, Label, Reg64};
 use juicebox_asm::insn::{Mov, Jmp};
@@ -13,15 +14,15 @@ asm.bind(&mut lbl);

Panics

Panics if the label is dropped while not yet bound, or having unresolved relocations. This is mainly a safety-guard to detect wrong usage.

-

Implementations§

source§

impl Label

source

pub fn new() -> Label

Create a new unbound Label.

-

Trait Implementations§

source§

impl Drop for Label

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Jmp<&mut Label> for Asm

source§

fn jmp(&mut self, op1: &mut Label)

Emit an unconditional jump instruction.
source§

impl Jnz<&mut Label> for Asm

source§

fn jnz(&mut self, op1: &mut Label)

Emit a conditional jump if not zero instruction (ZF = 0).
source§

impl Jz<&mut Label> for Asm

source§

fn jz(&mut self, op1: &mut Label)

Emit a conditional jump if zero instruction (ZF = 1).

Auto Trait Implementations§

§

impl RefUnwindSafe for Label

§

impl Send for Label

§

impl Sync for Label

§

impl Unpin for Label

§

impl UnwindSafe for Label

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Implementations§

source§

impl Label

source

pub fn new() -> Label

Create a new unbound Label.

+

Trait Implementations§

source§

impl Drop for Label

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Jmp<&mut Label> for Asm

source§

fn jmp(&mut self, op1: &mut Label)

Emit an unconditional jump instruction.
source§

impl Jnz<&mut Label> for Asm

source§

fn jnz(&mut self, op1: &mut Label)

Emit a conditional jump if not zero instruction (ZF = 0).
source§

impl Jz<&mut Label> for Asm

source§

fn jz(&mut self, op1: &mut Label)

Emit a conditional jump if zero instruction (ZF = 1).

Auto Trait Implementations§

§

impl RefUnwindSafe for Label

§

impl Send for Label

§

impl Sync for Label

§

impl Unpin for Label

§

impl UnwindSafe for Label

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file diff --git a/juicebox_asm/struct.Runtime.html b/juicebox_asm/struct.Runtime.html index 9fee473..7872799 100644 --- a/juicebox_asm/struct.Runtime.html +++ b/juicebox_asm/struct.Runtime.html @@ -1,8 +1,9 @@ -Runtime in juicebox_asm - Rust

Struct juicebox_asm::Runtime

source ·
pub struct Runtime { /* private fields */ }
Expand description

A simple mmaped runtime with executable pages.

-

Implementations§

source§

impl Runtime

source

pub fn new() -> Runtime

Create a new Runtime.

+Runtime in juicebox_asm - Rust +

Struct juicebox_asm::Runtime

source ·
pub struct Runtime { /* private fields */ }
Expand description

A simple mmaped runtime with executable pages.

+

Implementations§

source§

impl Runtime

source

pub fn new() -> Runtime

Create a new Runtime.

Panics

Panics if the mmap call fails.

-
source

pub unsafe fn add_code<F>(&mut self, code: impl AsRef<[u8]>) -> F

Add the block of code to the runtime and a get function pointer of type F.

+
source

pub fn with_profile() -> Runtime

source

pub unsafe fn add_code<F>(&mut self, code: impl AsRef<[u8]>) -> F

Add the block of code to the runtime and a get function pointer of type F.

Panics

Panics if the code does not fit on the mmaped pages or is empty.

Safety
@@ -12,26 +13,26 @@ pointer is only valid until the
let mut rt = juicebox_asm::Runtime::new();
 
 let code = [ 0x90 /* nop */, 0xc3 /* ret */ ];
-let nop = unsafe { rt.add_code::<extern "C" fn()>(&code) };
+let nop = unsafe { rt.add_code::<extern "C" fn()>(&code) };
 
 nop();
-
source

pub fn dump(&self)

Dump the code added so far to the runtime into a file called jit.asm in the processes +

source

pub fn dump(&self)

Dump the code added so far to the runtime into a file called jit.asm in the processes current working directory.

The code can be inspected with a disassembler as for example ndiasm from nasm.us.

ndisasm -b 64 jit.asm
 
Panics

Panics if writing the file failed.

-

Trait Implementations§

source§

impl Drop for Runtime

source§

fn drop(&mut self)

Unmaps the code page. This invalidates all the function pointer returned by +

Trait Implementations§

source§

impl Drop for Runtime

source§

fn drop(&mut self)

Unmaps the code page. This invalidates all the function pointer returned by Runtime::add_code.

-

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for Twhere - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

+

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where + T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where + T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+
source§

impl<T, U> Into<U> for T
where + U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for Twhere - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file +From<T> for U chooses to do.

+
source§

impl<T, U> TryFrom<U> for T
where + U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where + U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\ No newline at end of file -- cgit v1.2.3