mirror of
https://github.com/pezkuwichain/wasm-instrument.git
synced 2026-06-19 00:31:01 +00:00
Merge pull request #149 from paritytech/at-export-parity-wasm
Export the complete `parity-wasm` crate
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "pwasm-utils"
|
name = "pwasm-utils"
|
||||||
version = "0.17.2"
|
version = "0.18.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
authors = ["Nikolay Volf <nikvolf@gmail.com>", "Sergey Pepyakin <s.pepyakin@gmail.com>"]
|
authors = ["Nikolay Volf <nikvolf@gmail.com>", "Sergey Pepyakin <s.pepyakin@gmail.com>"]
|
||||||
license = "MIT/Apache-2.0"
|
license = "MIT/Apache-2.0"
|
||||||
|
|||||||
+3
-11
@@ -1,20 +1,14 @@
|
|||||||
//! Experimental build tool for cargo
|
//! Experimental build tool for cargo
|
||||||
|
|
||||||
#[macro_use]
|
use pwasm_utils::{build, BuildError, SourceTarget, TargetRuntime, logger};
|
||||||
extern crate clap;
|
|
||||||
extern crate glob;
|
|
||||||
extern crate pwasm_utils as utils;
|
|
||||||
extern crate parity_wasm;
|
|
||||||
use pwasm_utils::logger;
|
|
||||||
|
|
||||||
mod source;
|
mod source;
|
||||||
|
|
||||||
use std::{fs, io};
|
use std::{fs, io};
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use clap::{App, Arg};
|
use clap::{App, Arg, crate_version};
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
use utils::{build, BuildError, SourceTarget, TargetRuntime};
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum Error {
|
pub enum Error {
|
||||||
@@ -210,9 +204,7 @@ fn main() {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
extern crate tempdir;
|
use tempdir::TempDir;
|
||||||
|
|
||||||
use self::tempdir::TempDir;
|
|
||||||
use std::fs;
|
use std::fs;
|
||||||
|
|
||||||
use super::process_output;
|
use super::process_output;
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
pub const UNKNOWN_TRIPLET: &str = "wasm32-unknown-unknown";
|
pub const UNKNOWN_TRIPLET: &str = "wasm32-unknown-unknown";
|
||||||
pub const EMSCRIPTEN_TRIPLET: &str = "wasm32-unknown-emscripten";
|
pub const EMSCRIPTEN_TRIPLET: &str = "wasm32-unknown-emscripten";
|
||||||
|
|
||||||
use utils::SourceTarget;
|
use pwasm_utils::SourceTarget;
|
||||||
|
|
||||||
/// Configuration of previous build step (cargo compilation)
|
/// Configuration of previous build step (cargo compilation)
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
extern crate parity_wasm;
|
|
||||||
extern crate pwasm_utils as utils;
|
|
||||||
use pwasm_utils::logger;
|
use pwasm_utils::logger;
|
||||||
extern crate clap;
|
|
||||||
|
|
||||||
use clap::{App, Arg};
|
use clap::{App, Arg};
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
|
|
||||||
|
|||||||
+3
-10
@@ -1,20 +1,13 @@
|
|||||||
extern crate parity_wasm;
|
|
||||||
extern crate pwasm_utils as utils;
|
|
||||||
use pwasm_utils::logger;
|
|
||||||
|
|
||||||
use std::env;
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
pwasm_utils::logger::init();
|
||||||
|
|
||||||
logger::init();
|
let args = std::env::args().collect::<Vec<_>>();
|
||||||
|
|
||||||
let args = env::args().collect::<Vec<_>>();
|
|
||||||
if args.len() != 3 {
|
if args.len() != 3 {
|
||||||
println!("Usage: {} input_file.wasm output_file.wasm", args[0]);
|
println!("Usage: {} input_file.wasm output_file.wasm", args[0]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let module = utils::externalize(
|
let module = pwasm_utils::externalize(
|
||||||
parity_wasm::deserialize_file(&args[1]).expect("Module to deserialize ok"),
|
parity_wasm::deserialize_file(&args[1]).expect("Module to deserialize ok"),
|
||||||
vec!["_free", "_malloc", "_memcpy", "_memset", "_memmove"],
|
vec!["_free", "_malloc", "_memcpy", "_memset", "_memmove"],
|
||||||
);
|
);
|
||||||
|
|||||||
+1
-4
@@ -1,7 +1,4 @@
|
|||||||
extern crate parity_wasm;
|
use pwasm_utils::{self as utils, logger};
|
||||||
extern crate pwasm_utils as utils;
|
|
||||||
use pwasm_utils::logger;
|
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|||||||
+1
-5
@@ -1,8 +1,4 @@
|
|||||||
extern crate parity_wasm;
|
use pwasm_utils::{self as utils, logger};
|
||||||
extern crate pwasm_utils as utils;
|
|
||||||
use pwasm_utils::logger;
|
|
||||||
extern crate clap;
|
|
||||||
|
|
||||||
use clap::{App, Arg};
|
use clap::{App, Arg};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|||||||
+1
-5
@@ -1,8 +1,4 @@
|
|||||||
extern crate parity_wasm;
|
use pwasm_utils::{self as utils, logger};
|
||||||
extern crate pwasm_utils as utils;
|
|
||||||
use pwasm_utils::logger;
|
|
||||||
extern crate clap;
|
|
||||||
|
|
||||||
use clap::{App, Arg};
|
use clap::{App, Arg};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
extern crate pwasm_utils as utils;
|
use pwasm_utils::{logger, stack_height};
|
||||||
extern crate parity_wasm;
|
|
||||||
use pwasm_utils::logger;
|
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use utils::stack_height;
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
logger::init();
|
logger::init();
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
extern crate pwasm_utils as utils;
|
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
@@ -10,7 +8,7 @@ fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Loading module
|
// Loading module
|
||||||
let mut module = utils::Module::from_elements(
|
let mut module = pwasm_utils::Module::from_elements(
|
||||||
&parity_wasm::deserialize_file(&args[1]).expect("Module deserialization to succeed")
|
&parity_wasm::deserialize_file(&args[1]).expect("Module deserialization to succeed")
|
||||||
).expect("Failed to parse parity-wasm format");
|
).expect("Failed to parse parity-wasm format");
|
||||||
|
|
||||||
|
|||||||
+2
-5
@@ -512,9 +512,6 @@ pub fn inject_gas_counter<R: Rules>(
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
extern crate wabt;
|
|
||||||
|
|
||||||
use parity_wasm::{serialize, builder, elements};
|
use parity_wasm::{serialize, builder, elements};
|
||||||
use parity_wasm::elements::Instruction::*;
|
use parity_wasm::elements::Instruction::*;
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -578,7 +575,7 @@ mod tests {
|
|||||||
);
|
);
|
||||||
|
|
||||||
let binary = serialize(injected_module).expect("serialization failed");
|
let binary = serialize(injected_module).expect("serialization failed");
|
||||||
self::wabt::wasm2wat(&binary).unwrap();
|
wabt::wasm2wat(&binary).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -617,7 +614,7 @@ mod tests {
|
|||||||
assert_eq!(injected_module.functions_space(), 2);
|
assert_eq!(injected_module.functions_space(), 2);
|
||||||
|
|
||||||
let binary = serialize(injected_module).expect("serialization failed");
|
let binary = serialize(injected_module).expect("serialization failed");
|
||||||
self::wabt::wasm2wat(&binary).unwrap();
|
wabt::wasm2wat(&binary).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
+1
-3
@@ -771,10 +771,8 @@ pub fn generate(f: &Module) -> Result<Vec<u8>, Error> {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
|
||||||
extern crate wabt;
|
|
||||||
|
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
|
use indoc::indoc;
|
||||||
|
|
||||||
fn load_sample(wat: &'static str) -> super::Module {
|
fn load_sample(wat: &'static str) -> super::Module {
|
||||||
super::parse(&wabt::wat2wasm(wat).expect("faled to parse wat!")[..])
|
super::parse(&wabt::wat2wasm(wat).expect("faled to parse wat!")[..])
|
||||||
|
|||||||
+1
-9
@@ -4,14 +4,6 @@
|
|||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate alloc;
|
extern crate alloc;
|
||||||
|
|
||||||
extern crate byteorder;
|
|
||||||
extern crate parity_wasm;
|
|
||||||
#[macro_use] extern crate log;
|
|
||||||
#[cfg(test)] #[macro_use] extern crate indoc;
|
|
||||||
#[cfg(test)] extern crate rand;
|
|
||||||
#[cfg(test)] extern crate binaryen;
|
|
||||||
|
|
||||||
|
|
||||||
pub mod rules;
|
pub mod rules;
|
||||||
|
|
||||||
mod build;
|
mod build;
|
||||||
@@ -42,7 +34,7 @@ pub use graph::{Module, parse as graph_parse, generate as graph_generate};
|
|||||||
pub use ref_list::{RefList, Entry, EntryRef, DeleteTransaction};
|
pub use ref_list::{RefList, Entry, EntryRef, DeleteTransaction};
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
pub use export_globals::export_mutable_globals;
|
pub use export_globals::export_mutable_globals;
|
||||||
pub use parity_wasm::elements::Instruction;
|
pub use parity_wasm;
|
||||||
|
|
||||||
pub struct TargetSymbols {
|
pub struct TargetSymbols {
|
||||||
pub create: &'static str,
|
pub create: &'static str,
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
use log::LevelFilter;
|
use log::{LevelFilter, trace};
|
||||||
use env_logger::Builder;
|
use env_logger::Builder;
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -5,8 +5,8 @@ use crate::std::collections::{BTreeSet as Set};
|
|||||||
use crate::std::vec::Vec;
|
use crate::std::vec::Vec;
|
||||||
use crate::std::mem;
|
use crate::std::mem;
|
||||||
|
|
||||||
|
use log::trace;
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
|
|
||||||
use crate::symbols::{Symbol, expand_symbols, push_code_symbols, resolve_function};
|
use crate::symbols::{Symbol, expand_symbols, push_code_symbols, resolve_function};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|||||||
@@ -218,8 +218,6 @@ pub fn pack_instance(raw_module: Vec<u8>, mut ctor_module: elements::Module, tar
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
extern crate parity_wasm;
|
|
||||||
|
|
||||||
use parity_wasm::builder;
|
use parity_wasm::builder;
|
||||||
use super::*;
|
use super::*;
|
||||||
use super::super::optimize;
|
use super::super::optimize;
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ use crate::std::collections::BTreeMap as Map;
|
|||||||
|
|
||||||
use crate::std::num::NonZeroU32;
|
use crate::std::num::NonZeroU32;
|
||||||
use crate::std::str::FromStr;
|
use crate::std::str::FromStr;
|
||||||
use crate::Instruction;
|
use parity_wasm::elements::Instruction;
|
||||||
|
|
||||||
pub struct UnknownInstruction;
|
pub struct UnknownInstruction;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
use crate::std::vec::Vec;
|
use crate::std::vec::Vec;
|
||||||
|
|
||||||
|
use log::trace;
|
||||||
use parity_wasm::elements::{self, BlockType, Type};
|
use parity_wasm::elements::{self, BlockType, Type};
|
||||||
use super::{resolve_func_type, Error};
|
use super::{resolve_func_type, Error};
|
||||||
|
|
||||||
@@ -428,7 +429,6 @@ pub(crate) fn compute(func_idx: u32, module: &elements::Module) -> Result<u32, E
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
extern crate wabt;
|
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
|||||||
@@ -374,7 +374,6 @@ fn resolve_func_type(
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
extern crate wabt;
|
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ use crate::std::collections::{HashSet as Set};
|
|||||||
use crate::std::collections::{BTreeSet as Set};
|
use crate::std::collections::{BTreeSet as Set};
|
||||||
use crate::std::vec::Vec;
|
use crate::std::vec::Vec;
|
||||||
|
|
||||||
|
use log::trace;
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
|
|
||||||
#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Copy, Clone, Debug)]
|
#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Copy, Clone, Debug)]
|
||||||
|
|||||||
+1
-5
@@ -1,12 +1,8 @@
|
|||||||
extern crate diff;
|
|
||||||
extern crate pwasm_utils as utils;
|
|
||||||
extern crate wabt;
|
|
||||||
extern crate parity_wasm;
|
|
||||||
|
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::io::{self, Read, Write};
|
use std::io::{self, Read, Write};
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use parity_wasm::elements;
|
use parity_wasm::elements;
|
||||||
|
use pwasm_utils as utils;
|
||||||
|
|
||||||
fn slurp<P: AsRef<Path>>(path: P) -> io::Result<Vec<u8>> {
|
fn slurp<P: AsRef<Path>>(path: P) -> io::Result<Vec<u8>> {
|
||||||
let mut f = fs::File::open(path)?;
|
let mut f = fs::File::open(path)?;
|
||||||
|
|||||||
Reference in New Issue
Block a user