mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-26 01:47:56 +00:00
suppress warnings about unused things
Signed-off-by: xermicus <cyrill@parity.io>
This commit is contained in:
Generated
+19
-17
@@ -57,9 +57,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "anyhow"
|
name = "anyhow"
|
||||||
version = "1.0.80"
|
version = "1.0.81"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
|
checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ark-ff"
|
name = "ark-ff"
|
||||||
@@ -297,9 +297,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cc"
|
name = "cc"
|
||||||
version = "1.0.89"
|
version = "1.0.90"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723"
|
checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cfg-if"
|
name = "cfg-if"
|
||||||
@@ -330,9 +330,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "const-hex"
|
name = "const-hex"
|
||||||
version = "1.11.2"
|
version = "1.11.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b37dae8c8ded08d5ec72caa1b4204a5344047cd4a2c7387e3d150020abfbc1c9"
|
checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"cpufeatures",
|
"cpufeatures",
|
||||||
@@ -792,6 +792,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "inkwell"
|
name = "inkwell"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
|
source = "git+https://github.com/TheDan64/inkwell.git#69c5a3fcc3e8b997c36e20021c52adcff664d746"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"either",
|
"either",
|
||||||
"inkwell_internals",
|
"inkwell_internals",
|
||||||
@@ -805,6 +806,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "inkwell_internals"
|
name = "inkwell_internals"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
|
source = "git+https://github.com/TheDan64/inkwell.git#69c5a3fcc3e8b997c36e20021c52adcff664d746"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -1110,7 +1112,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "polkavm"
|
name = "polkavm"
|
||||||
version = "0.9.3"
|
version = "0.9.3"
|
||||||
source = "git+https://github.com/koute/polkavm.git#658b2a612e966c5dde0860e7d95d57ffe87a0fdf"
|
source = "git+https://github.com/koute/polkavm.git#e278c34af27cf2c32fc44bcbfe2b17333312eb02"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
@@ -1122,7 +1124,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "polkavm-assembler"
|
name = "polkavm-assembler"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
source = "git+https://github.com/koute/polkavm.git#658b2a612e966c5dde0860e7d95d57ffe87a0fdf"
|
source = "git+https://github.com/koute/polkavm.git#e278c34af27cf2c32fc44bcbfe2b17333312eb02"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
]
|
]
|
||||||
@@ -1130,7 +1132,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "polkavm-common"
|
name = "polkavm-common"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
source = "git+https://github.com/koute/polkavm.git#658b2a612e966c5dde0860e7d95d57ffe87a0fdf"
|
source = "git+https://github.com/koute/polkavm.git#e278c34af27cf2c32fc44bcbfe2b17333312eb02"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
]
|
]
|
||||||
@@ -1138,7 +1140,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "polkavm-linker"
|
name = "polkavm-linker"
|
||||||
version = "0.9.2"
|
version = "0.9.2"
|
||||||
source = "git+https://github.com/koute/polkavm.git#658b2a612e966c5dde0860e7d95d57ffe87a0fdf"
|
source = "git+https://github.com/koute/polkavm.git#e278c34af27cf2c32fc44bcbfe2b17333312eb02"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gimli",
|
"gimli",
|
||||||
"hashbrown 0.14.3",
|
"hashbrown 0.14.3",
|
||||||
@@ -1152,7 +1154,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "polkavm-linux-raw"
|
name = "polkavm-linux-raw"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
source = "git+https://github.com/koute/polkavm.git#658b2a612e966c5dde0860e7d95d57ffe87a0fdf"
|
source = "git+https://github.com/koute/polkavm.git#e278c34af27cf2c32fc44bcbfe2b17333312eb02"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ppv-lite86"
|
name = "ppv-lite86"
|
||||||
@@ -1209,9 +1211,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.78"
|
version = "1.0.79"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
|
checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
@@ -1799,18 +1801,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror"
|
name = "thiserror"
|
||||||
version = "1.0.57"
|
version = "1.0.58"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
|
checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror-impl",
|
"thiserror-impl",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror-impl"
|
name = "thiserror-impl"
|
||||||
version = "1.0.57"
|
version = "1.0.58"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
|
checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|||||||
+6
-2
@@ -8,8 +8,6 @@ petgraph = "0.6"
|
|||||||
cc = "1.0"
|
cc = "1.0"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
tempfile = "3.8"
|
tempfile = "3.8"
|
||||||
#inkwell = { version = "0.4.0", default-features = false, features = ["llvm16-0", "no-libffi-linking", "target-riscv"] }
|
|
||||||
inkwell = { path = "../inkwell", default-features = false, features = ["serde", "llvm16-0", "no-libffi-linking", "target-riscv"] }
|
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
semver = { version = "1.0", features = [ "serde" ] }
|
semver = { version = "1.0", features = [ "serde" ] }
|
||||||
itertools = "0.12"
|
itertools = "0.12"
|
||||||
@@ -33,3 +31,9 @@ polkavm-linker = { git = "https://github.com/koute/polkavm.git" }
|
|||||||
polkavm = { git = "https://github.com/koute/polkavm.git" }
|
polkavm = { git = "https://github.com/koute/polkavm.git" }
|
||||||
parity-scale-codec = "3.6"
|
parity-scale-codec = "3.6"
|
||||||
alloy-primitives = "0.6"
|
alloy-primitives = "0.6"
|
||||||
|
|
||||||
|
[workspace.dependencies.inkwell]
|
||||||
|
git = "https://github.com/TheDan64/inkwell.git"
|
||||||
|
commit = "69c5a3f"
|
||||||
|
default-features = false
|
||||||
|
features = ["serde", "llvm16-0", "no-libffi-linking", "target-riscv"]
|
||||||
|
|||||||
@@ -4,14 +4,16 @@ YUL and EVM bytecode recompiler to LLVM, targetting RISC-V on PolkaVM.
|
|||||||
|
|
||||||
Code bases of [frontend](https://github.com/matter-labs/era-compiler-solidity) and [code generator](https://github.com/matter-labs/era-compiler-llvm-context) are forked adapted from ZKSync `zksolc`.
|
Code bases of [frontend](https://github.com/matter-labs/era-compiler-solidity) and [code generator](https://github.com/matter-labs/era-compiler-llvm-context) are forked adapted from ZKSync `zksolc`.
|
||||||
|
|
||||||
Primary goal of this codebase currently is to allow for benchmarks comparing runtime performance against ink!, solang and EVM interpreters.
|
# Status
|
||||||
|
|
||||||
|
Currently, primary goal of this codebase is to allow for benchmarks comparing performance against ink! and solang artifacts as well as EVM interpreters.
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
The project is in a very early PoC phase; at this stage don't expect the produced code to be working nor to be correct for anything more than a basic flipper contract yet.
|
The project is in a very early PoC phase. Don't yet expect the produced code to be working nor to be correct for anything more than a basic flipper contract at the current stage.
|
||||||
|
|
||||||
- [ ] Efficient implementations of byte swaps, memset, memmove and the like
|
- [ ] Efficient implementations of byte swaps, memset, memmove and the like
|
||||||
- [ ] Use drink! for integration tests once we have 64bit support in PolkaVM
|
- [ ] Use `drink` for integration tests once we have 64bit support in PolkaVM
|
||||||
- [ ] Exercice `schlau` and possibly `smart-bench` benchmark cases
|
- [ ] Exercice `schlau` and possibly `smart-bench` benchmark cases
|
||||||
- [ ] Tests currently rely on the binary being in $PATH, which is very annoying and requires `cargo install` all the times
|
- [ ] Tests currently rely on the binary being in $PATH, which is very annoying and requires `cargo install` all the times
|
||||||
- [ ] Define how to do deployments
|
- [ ] Define how to do deployments
|
||||||
@@ -25,8 +27,8 @@ The project is in a very early PoC phase; at this stage don't expect the produce
|
|||||||
- [ ] Debug information
|
- [ ] Debug information
|
||||||
- [ ] Look for and implement further optimizations
|
- [ ] Look for and implement further optimizations
|
||||||
- [ ] Differential testing against EVM
|
- [ ] Differential testing against EVM
|
||||||
- [ ] Switch to LLVM 18 which has RV{32,64}E upstream
|
- [ ] Switch to LLVM 18 which has `RV{32,64}E` targets upstream
|
||||||
- [ ] Minimize scope of "stdlib", favorably implement it in high level language instead of LLVM IR.
|
- [ ] Minimize scope of "stdlib"
|
||||||
- [ ] Document differences from EVM
|
- [ ] Document differences from EVM
|
||||||
- [ ] Audit for bugs and correctness
|
- [ ] Audit for bugs and correctness
|
||||||
- [ ] Rebranding
|
- [ ] Rebranding
|
||||||
|
|||||||
@@ -11,4 +11,10 @@ build = "build.rs"
|
|||||||
libc = { workspace = true }
|
libc = { workspace = true }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
cc = { workspace = true }
|
cc = { workspace = true }
|
||||||
|
|
||||||
|
[target.aarch64-apple-darwin]
|
||||||
|
rustflags = [
|
||||||
|
"-C", "link-arg=-undefined",
|
||||||
|
"-C", "link-arg=dynamic_lookup",
|
||||||
|
]
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ name = "era-compiler-llvm-context"
|
|||||||
version = "1.4.1"
|
version = "1.4.1"
|
||||||
authors = [
|
authors = [
|
||||||
"Oleksandr Zarudnyi <a.zarudnyy@matterlabs.dev>",
|
"Oleksandr Zarudnyi <a.zarudnyy@matterlabs.dev>",
|
||||||
|
"Cyrill Leutwiler <cyrill@parity.io>",
|
||||||
]
|
]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|||||||
@@ -3,13 +3,10 @@
|
|||||||
//!
|
//!
|
||||||
|
|
||||||
use inkwell::types::BasicType;
|
use inkwell::types::BasicType;
|
||||||
use inkwell::values::BasicValue;
|
|
||||||
|
|
||||||
use crate::eravm::context::address_space::AddressSpace;
|
|
||||||
use crate::eravm::context::function::declaration::Declaration as FunctionDeclaration;
|
use crate::eravm::context::function::declaration::Declaration as FunctionDeclaration;
|
||||||
use crate::eravm::context::function::llvm_runtime::LLVMRuntime;
|
use crate::eravm::context::function::llvm_runtime::LLVMRuntime;
|
||||||
use crate::eravm::context::function::Function;
|
use crate::eravm::context::function::Function;
|
||||||
use crate::eravm::context::pointer::Pointer;
|
|
||||||
use crate::eravm::context::Context;
|
use crate::eravm::context::Context;
|
||||||
use crate::eravm::Dependency;
|
use crate::eravm::Dependency;
|
||||||
use crate::eravm::WriteLLVM;
|
use crate::eravm::WriteLLVM;
|
||||||
@@ -27,6 +24,7 @@ pub struct DefaultCall {
|
|||||||
name: String,
|
name: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(unused)]
|
||||||
impl DefaultCall {
|
impl DefaultCall {
|
||||||
/// The gas argument index.
|
/// The gas argument index.
|
||||||
pub const ARGUMENT_INDEX_GAS: usize = 0;
|
pub const ARGUMENT_INDEX_GAS: usize = 0;
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
//!
|
//!
|
||||||
|
|
||||||
use inkwell::types::BasicType;
|
use inkwell::types::BasicType;
|
||||||
use inkwell::values::BasicValue;
|
|
||||||
|
|
||||||
use crate::eravm::context::address_space::AddressSpace;
|
use crate::eravm::context::address_space::AddressSpace;
|
||||||
use crate::eravm::context::function::Function;
|
use crate::eravm::context::function::Function;
|
||||||
@@ -121,7 +120,7 @@ where
|
|||||||
let value_join_block = context.append_basic_block("deployer_call_value_join_block");
|
let value_join_block = context.append_basic_block("deployer_call_value_join_block");
|
||||||
|
|
||||||
context.set_basic_block(context.current_function().borrow().entry_block());
|
context.set_basic_block(context.current_function().borrow().entry_block());
|
||||||
let abi_data = crate::eravm::utils::abi_data(
|
let _abi_data = crate::eravm::utils::abi_data(
|
||||||
context,
|
context,
|
||||||
input_offset,
|
input_offset,
|
||||||
input_length,
|
input_length,
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ pub fn create_context(
|
|||||||
let module = llvm.create_module("test");
|
let module = llvm.create_module("test");
|
||||||
let optimizer = Optimizer::new(optimizer_settings);
|
let optimizer = Optimizer::new(optimizer_settings);
|
||||||
|
|
||||||
Context::<DummyDependency>::new(&llvm, module, optimizer, None, true, None)
|
Context::<DummyDependency>::new(llvm, module, optimizer, None, true, None)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@@ -2,10 +2,6 @@
|
|||||||
//! Translates the cryptographic operations.
|
//! Translates the cryptographic operations.
|
||||||
//!
|
//!
|
||||||
|
|
||||||
use inkwell::values::BasicValue;
|
|
||||||
|
|
||||||
use crate::eravm::context::address_space::AddressSpace;
|
|
||||||
use crate::eravm::context::function::Function as EraVMFunction;
|
|
||||||
use crate::eravm::context::Context;
|
use crate::eravm::context::Context;
|
||||||
use crate::eravm::Dependency;
|
use crate::eravm::Dependency;
|
||||||
|
|
||||||
@@ -13,37 +9,12 @@ use crate::eravm::Dependency;
|
|||||||
/// Translates the `sha3` instruction.
|
/// Translates the `sha3` instruction.
|
||||||
///
|
///
|
||||||
pub fn sha3<'ctx, D>(
|
pub fn sha3<'ctx, D>(
|
||||||
context: &mut Context<'ctx, D>,
|
_context: &mut Context<'ctx, D>,
|
||||||
offset: inkwell::values::IntValue<'ctx>,
|
_offset: inkwell::values::IntValue<'ctx>,
|
||||||
length: inkwell::values::IntValue<'ctx>,
|
_length: inkwell::values::IntValue<'ctx>,
|
||||||
) -> anyhow::Result<inkwell::values::BasicValueEnum<'ctx>>
|
) -> anyhow::Result<inkwell::values::BasicValueEnum<'ctx>>
|
||||||
where
|
where
|
||||||
D: Dependency + Clone,
|
D: Dependency + Clone,
|
||||||
{
|
{
|
||||||
Ok(offset.into())
|
todo!()
|
||||||
/*
|
|
||||||
let offset_pointer = context.builder().build_int_to_ptr(
|
|
||||||
offset,
|
|
||||||
context.byte_type().ptr_type(AddressSpace::Heap.into()),
|
|
||||||
"sha3_offset_pointer",
|
|
||||||
)?;
|
|
||||||
|
|
||||||
Ok(context
|
|
||||||
.build_invoke(
|
|
||||||
context.llvm_runtime().sha3,
|
|
||||||
&[
|
|
||||||
offset_pointer.as_basic_value_enum(),
|
|
||||||
length.as_basic_value_enum(),
|
|
||||||
context
|
|
||||||
.bool_const(
|
|
||||||
context
|
|
||||||
.get_function(EraVMFunction::ZKSYNC_NEAR_CALL_ABI_EXCEPTION_HANDLER)
|
|
||||||
.is_some(),
|
|
||||||
)
|
|
||||||
.as_basic_value_enum(),
|
|
||||||
],
|
|
||||||
"sha3_call",
|
|
||||||
)
|
|
||||||
.expect("Always exists"))
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,6 @@
|
|||||||
//! Translates a log or event call.
|
//! Translates a log or event call.
|
||||||
//!
|
//!
|
||||||
|
|
||||||
use inkwell::values::BasicValue;
|
|
||||||
|
|
||||||
use crate::eravm::context::address_space::AddressSpace;
|
|
||||||
use crate::eravm::context::Context;
|
use crate::eravm::context::Context;
|
||||||
use crate::eravm::Dependency;
|
use crate::eravm::Dependency;
|
||||||
|
|
||||||
@@ -18,10 +15,10 @@ use crate::eravm::Dependency;
|
|||||||
/// accept two at once.
|
/// accept two at once.
|
||||||
///
|
///
|
||||||
pub fn log<'ctx, D>(
|
pub fn log<'ctx, D>(
|
||||||
context: &mut Context<'ctx, D>,
|
_context: &mut Context<'ctx, D>,
|
||||||
input_offset: inkwell::values::IntValue<'ctx>,
|
_input_offset: inkwell::values::IntValue<'ctx>,
|
||||||
input_length: inkwell::values::IntValue<'ctx>,
|
_input_length: inkwell::values::IntValue<'ctx>,
|
||||||
topics: Vec<inkwell::values::IntValue<'ctx>>,
|
_topics: Vec<inkwell::values::IntValue<'ctx>>,
|
||||||
) -> anyhow::Result<()>
|
) -> anyhow::Result<()>
|
||||||
where
|
where
|
||||||
D: Dependency + Clone,
|
D: Dependency + Clone,
|
||||||
|
|||||||
@@ -64,15 +64,6 @@ impl TargetMachine {
|
|||||||
///
|
///
|
||||||
pub fn set_target_data(&self, module: &inkwell::module::Module) {
|
pub fn set_target_data(&self, module: &inkwell::module::Module) {
|
||||||
module.set_triple(&self.target_machine.get_triple());
|
module.set_triple(&self.target_machine.get_triple());
|
||||||
let data_layout = self
|
|
||||||
.target_machine
|
|
||||||
.get_target_data()
|
|
||||||
.get_data_layout()
|
|
||||||
.as_str()
|
|
||||||
.to_str()
|
|
||||||
.expect("datalayout sting should be valid")
|
|
||||||
.to_owned();
|
|
||||||
|
|
||||||
module.set_data_layout(&self.target_machine.get_target_data().get_data_layout());
|
module.set_data_layout(&self.target_machine.get_target_data().get_data_layout());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ name = "revive-solidity"
|
|||||||
version = "1.4.0"
|
version = "1.4.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Oleksandr Zarudnyi <a.zarudnyy@matterlabs.dev>",
|
"Oleksandr Zarudnyi <a.zarudnyy@matterlabs.dev>",
|
||||||
|
"Cyrill Leutwiler <cyrill@parity.io>",
|
||||||
]
|
]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|||||||
@@ -1041,13 +1041,13 @@ where
|
|||||||
InstructionName::CALL => {
|
InstructionName::CALL => {
|
||||||
let mut arguments = self.pop_arguments_llvm(context);
|
let mut arguments = self.pop_arguments_llvm(context);
|
||||||
|
|
||||||
let gas = arguments.remove(0).into_int_value();
|
let _gas = arguments.remove(0).into_int_value();
|
||||||
let address = arguments.remove(0).into_int_value();
|
let _address = arguments.remove(0).into_int_value();
|
||||||
let value = arguments.remove(0).into_int_value();
|
let _value = arguments.remove(0).into_int_value();
|
||||||
let input_offset = arguments.remove(0).into_int_value();
|
let _input_offset = arguments.remove(0).into_int_value();
|
||||||
let input_size = arguments.remove(0).into_int_value();
|
let _input_size = arguments.remove(0).into_int_value();
|
||||||
let output_offset = arguments.remove(0).into_int_value();
|
let _output_offset = arguments.remove(0).into_int_value();
|
||||||
let output_size = arguments.remove(0).into_int_value();
|
let _output_size = arguments.remove(0).into_int_value();
|
||||||
|
|
||||||
todo!()
|
todo!()
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -748,15 +748,15 @@ impl FunctionCall {
|
|||||||
Name::Call => {
|
Name::Call => {
|
||||||
let arguments = self.pop_arguments::<D, 7>(context)?;
|
let arguments = self.pop_arguments::<D, 7>(context)?;
|
||||||
|
|
||||||
let gas = arguments[0].value.into_int_value();
|
let _gas = arguments[0].value.into_int_value();
|
||||||
let address = arguments[1].value.into_int_value();
|
let _address = arguments[1].value.into_int_value();
|
||||||
let value = arguments[2].value.into_int_value();
|
let _value = arguments[2].value.into_int_value();
|
||||||
let input_offset = arguments[3].value.into_int_value();
|
let _input_offset = arguments[3].value.into_int_value();
|
||||||
let input_size = arguments[4].value.into_int_value();
|
let _input_size = arguments[4].value.into_int_value();
|
||||||
let output_offset = arguments[5].value.into_int_value();
|
let _output_offset = arguments[5].value.into_int_value();
|
||||||
let output_size = arguments[6].value.into_int_value();
|
let _output_size = arguments[6].value.into_int_value();
|
||||||
|
|
||||||
let simulation_address: Vec<Option<num::BigUint>> = arguments
|
let _simulation_address: Vec<Option<num::BigUint>> = arguments
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|mut argument| argument.constant.take())
|
.map(|mut argument| argument.constant.take())
|
||||||
.collect();
|
.collect();
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ where
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let arguments = call.pop_arguments_llvm::<D, ARGUMENTS_COUNT>(context)?;
|
let _arguments = call.pop_arguments_llvm::<D, ARGUMENTS_COUNT>(context)?;
|
||||||
todo!()
|
todo!()
|
||||||
//era_compiler_llvm_context::eravm_call::raw_far(
|
//era_compiler_llvm_context::eravm_call::raw_far(
|
||||||
// context,
|
// context,
|
||||||
@@ -255,7 +255,7 @@ where
|
|||||||
)
|
)
|
||||||
.map(Some)
|
.map(Some)
|
||||||
}
|
}
|
||||||
identifier @ "system_call" => {
|
_identifier @ "system_call" => {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
identifier @ "system_call_byref" => {
|
identifier @ "system_call_byref" => {
|
||||||
|
|||||||
Reference in New Issue
Block a user