Various cranelift interpreter improvements (#6176)

* Remove the validate_address State trait method

It isn't used anywhere

* Expose the inner Function of a Frame

This is necessary to create your own interpreter that reuses most of
cranelift-interpreter. For example to use a different State
implementation.

* Support the symbol_value and tls_value instructions in the interpreter
This commit is contained in:
bjorn3
2023-04-07 17:22:13 +02:00
committed by GitHub
parent e1777710b1
commit bada17beab
4 changed files with 16 additions and 38 deletions

View File

@@ -92,9 +92,6 @@ pub trait State<'a, V> {
/// in intermediate global values.
fn resolve_global_value(&self, gv: GlobalValue) -> Result<V, MemoryError>;
/// Checks if an address is valid and within a known region of memory
fn validate_address(&self, address: &Address) -> Result<(), MemoryError>;
/// Retrieves the current pinned reg value
fn get_pinned_reg(&self) -> V;
/// Sets a value for the pinned reg
@@ -231,10 +228,6 @@ where
unimplemented!()
}
fn validate_address(&self, _addr: &Address) -> Result<(), MemoryError> {
unimplemented!()
}
fn get_pinned_reg(&self) -> V {
unimplemented!()
}