Skip to content

Commit 7b826f3

Browse files
committed
feat: wrap the call manager in a box
We copy it around quite a bit, this should reduce some time we spend in memcpy.
1 parent e45b032 commit 7b826f3

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

fvm/src/call_manager/default.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use crate::{account_actor, syscall_error};
1818

1919
/// The default [`CallManager`] implementation.
2020
#[repr(transparent)]
21-
pub struct DefaultCallManager<M>(Option<InnerDefaultCallManager<M>>);
21+
pub struct DefaultCallManager<M>(Option<Box<InnerDefaultCallManager<M>>>);
2222

2323
#[doc(hidden)]
2424
#[derive(Deref, DerefMut)]
@@ -64,15 +64,15 @@ where
6464
type Machine = M;
6565

6666
fn new(machine: M, gas_limit: i64, origin: Address, nonce: u64) -> Self {
67-
DefaultCallManager(Some(InnerDefaultCallManager {
67+
DefaultCallManager(Some(Box::new(InnerDefaultCallManager {
6868
machine,
6969
gas_tracker: GasTracker::new(gas_limit, 0),
7070
origin,
7171
nonce,
7272
num_actors_created: 0,
7373
call_stack_depth: 0,
7474
backtrace: Backtrace::default(),
75-
}))
75+
})))
7676
}
7777

7878
fn send<K>(

0 commit comments

Comments
 (0)