* cache executors on failed transactions (#22308)
(cherry picked from commit 12e160269e
)
# Conflicts:
# program-runtime/src/invoke_context.rs
# runtime/src/bank.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com>
This commit is contained in:
@ -510,7 +510,7 @@ fn process_loader_upgradeable_instruction(
|
||||
use_jit,
|
||||
true,
|
||||
)?;
|
||||
invoke_context.add_executor(&new_program_id, executor);
|
||||
invoke_context.update_executor(&new_program_id, executor);
|
||||
|
||||
let keyed_accounts = invoke_context.get_keyed_accounts()?;
|
||||
let payer = keyed_account_at_index(keyed_accounts, first_instruction_account)?;
|
||||
@ -658,7 +658,7 @@ fn process_loader_upgradeable_instruction(
|
||||
use_jit,
|
||||
true,
|
||||
)?;
|
||||
invoke_context.add_executor(&new_program_id, executor);
|
||||
invoke_context.update_executor(&new_program_id, executor);
|
||||
|
||||
let keyed_accounts = invoke_context.get_keyed_accounts()?;
|
||||
let programdata = keyed_account_at_index(keyed_accounts, first_instruction_account)?;
|
||||
@ -925,7 +925,7 @@ fn process_loader_instruction(
|
||||
create_executor(first_instruction_account, 0, invoke_context, use_jit, true)?;
|
||||
let keyed_accounts = invoke_context.get_keyed_accounts()?;
|
||||
let program = keyed_account_at_index(keyed_accounts, first_instruction_account)?;
|
||||
invoke_context.add_executor(program.unsigned_key(), executor);
|
||||
invoke_context.update_executor(program.unsigned_key(), executor);
|
||||
program.try_account_ref_mut()?.set_executable(true);
|
||||
ic_msg!(
|
||||
invoke_context,
|
||||
|
Reference in New Issue
Block a user