solana-test-validator now uses the BPF JIT by default, --no-bpf-jit to disable

This commit is contained in:
Michael Vines
2021-02-09 11:02:04 -08:00
committed by mergify[bot]
parent 8424fe2c12
commit f063f02c41
2 changed files with 15 additions and 0 deletions

View File

@ -49,6 +49,7 @@ pub struct TestValidatorGenesis {
rpc_config: JsonRpcConfig, rpc_config: JsonRpcConfig,
rpc_ports: Option<(u16, u16)>, // (JsonRpc, JsonRpcPubSub), None == random ports rpc_ports: Option<(u16, u16)>, // (JsonRpc, JsonRpcPubSub), None == random ports
warp_slot: Option<Slot>, warp_slot: Option<Slot>,
no_bpf_jit: bool,
accounts: HashMap<Pubkey, Account>, accounts: HashMap<Pubkey, Account>,
programs: Vec<ProgramInfo>, programs: Vec<ProgramInfo>,
} }
@ -84,6 +85,11 @@ impl TestValidatorGenesis {
self self
} }
pub fn bpf_jit(&mut self, bpf_jit: bool) -> &mut Self {
self.no_bpf_jit = !bpf_jit;
self
}
/// Add an account to the test environment /// Add an account to the test environment
pub fn add_account(&mut self, address: Pubkey, account: Account) -> &mut Self { pub fn add_account(&mut self, address: Pubkey, account: Account) -> &mut Self {
self.accounts.insert(address, account); self.accounts.insert(address, account);
@ -394,6 +400,7 @@ impl TestValidator {
}), }),
enforce_ulimit_nofile: false, enforce_ulimit_nofile: false,
warp_slot: config.warp_slot, warp_slot: config.warp_slot,
bpf_jit: !config.no_bpf_jit,
..ValidatorConfig::default() ..ValidatorConfig::default()
}; };

View File

@ -140,6 +140,12 @@ fn main() {
If the ledger already exists then this parameter is silently ignored", If the ledger already exists then this parameter is silently ignored",
), ),
) )
.arg(
Arg::with_name("no_bpf_jit")
.long("no-bpf-jit")
.takes_value(false)
.help("Disable the just-in-time compiler and instead use the interpreter for BPF"),
)
.arg( .arg(
Arg::with_name("clone_account") Arg::with_name("clone_account")
.long("clone") .long("clone")
@ -203,6 +209,7 @@ fn main() {
IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)),
FAUCET_PORT, FAUCET_PORT,
)); ));
let bpf_jit = !matches.is_present("no_bpf_jit");
let mut programs = vec![]; let mut programs = vec![];
if let Some(values) = matches.values_of("bpf_program") { if let Some(values) = matches.values_of("bpf_program") {
@ -376,6 +383,7 @@ fn main() {
faucet_addr, faucet_addr,
..JsonRpcConfig::default() ..JsonRpcConfig::default()
}) })
.bpf_jit(bpf_jit)
.rpc_port(rpc_port) .rpc_port(rpc_port)
.add_programs_with_path(&programs); .add_programs_with_path(&programs);