Struct wasm_instrument::gas_metering::ConstantCostRules
source · [−]pub struct ConstantCostRules { /* private fields */ }
Expand description
A type that implements Rules
so that every instruction costs the same.
This is a simplification that is mostly useful for development and testing.
Note
In a production environment it usually makes no sense to assign every instruction
the same cost. A proper implemention of Rules
should be prived that is probably
created by benchmarking.
Implementations
sourceimpl ConstantCostRules
impl ConstantCostRules
sourcepub fn new(instruction_cost: u32, memory_grow_cost: u32) -> Self
pub fn new(instruction_cost: u32, memory_grow_cost: u32) -> Self
Create a new ConstantCostRules
.
Uses instruction_cost
for every instruction and memory_grow_cost
to dynamically
meter the memory growth instruction.
Trait Implementations
sourceimpl Default for ConstantCostRules
impl Default for ConstantCostRules
sourceimpl Rules for ConstantCostRules
impl Rules for ConstantCostRules
sourcefn instruction_cost(&self, _: &Instruction) -> Option<u32>
fn instruction_cost(&self, _: &Instruction) -> Option<u32>
Returns the cost for the passed instruction
. Read more
sourcefn memory_grow_cost(&self) -> MemoryGrowCost
fn memory_grow_cost(&self) -> MemoryGrowCost
Returns the costs for growing the memory using the memory.grow
instruction. Read more
Auto Trait Implementations
impl RefUnwindSafe for ConstantCostRules
impl Send for ConstantCostRules
impl Sync for ConstantCostRules
impl Unpin for ConstantCostRules
impl UnwindSafe for ConstantCostRules
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more