* banking_stage: do not insert legacy vote ixs, refactor & unstaked (#2888)
* banking_stage: do not insert legacy vote ixs, refactor & unstaked
* pr feedback: use matches instead of separate fn
(cherry picked from commit 1334fb5248)
# Conflicts:
# core/src/banking_stage/latest_unprocessed_votes.rs
* fix conflicts
* rekey feature to indicate it must not be activated
---------
Co-authored-by: Ashwin Sekar <ashwin@anza.xyz>
Co-authored-by: Ashwin Sekar <ashwin@solana.com>
Runtime: Core BPF Migration: Add checks for executable program account (#2483)
* Runtime: Core BPF: check `executable` on program load
* Runtime: Core BPF: set `executable` on migration
(cherry picked from commit 33119c5df7)
Co-authored-by: Joe C <joe.caulfield@anza.xyz>
Clean up disable_fees_sysvar feature (#2003)
* Clean up disable_fees_sysvar
* Remove bank fees test
* Remove unused rpc response types
* Fixup sysvar_cache tests
* Remove fees-sysvar from bootstrap_validator_stake_lamports; no longer included
* Update account counts, since fees no longer touched
* Update bank hashes in test, since fees sysvar is not populated
* Remove test case passing fees sysvar as account
(cherry picked from commit 1c34908d03)
Co-authored-by: Tyera <tyera@anza.xyz>
Remove deprecated, unused methods from Bank (#1980)
Remove deprecated methods from Bank (not in use)
(cherry picked from commit 0313047046)
Co-authored-by: Tyera <tyera@anza.xyz>
* SVM: hoist `program_modification_slot` up from bank
* SVM: add `check_program_modification_slot` to processing config
* SVM: hoist `program_match_criteria` up from bank
* SVM: drop `get_program_match_critera` from callbacks
* Rename ComputeBudget::max_invoke_stack_height to max_instruction_stack_depth
The new name is consistent with the existing
ComputeBudget::max_instruction_trace_length.
Also expose compute_budget:MAX_INSTRUCTION_DEPTH.
* bpf_loader: use an explicit thread-local pool for stack and heap memory
Use a fixed thread-local pool to hold stack and heap memory. This
mitigates the long standing issue of jemalloc causing TLB shootdowns to
serve such frequent large allocations.
Because we need 1 stack and 1 heap region per instruction, and the
current max instruction nesting is hardcoded to 5, the pre-allocated
size is (MAX_STACK + MAX_HEAP) * 5 * NUM_THREADS. With the current
limits that's about 2.5MB per thread. Note that this is memory that
would eventually get allocated anyway, we're just pre-allocating it now.
* programs/sbf: add test for stack/heap zeroing
Add TEST_STACK_HEAP_ZEROED which tests that stack and heap regions are
zeroed across reuse from the memory pool.
* Add num_partitions field to Rewards proto definition
* Add type to hold rewards plus num_partitions
* Add Bank method to get rewards plus num_partitions for recording
* Update Blockstore::write_rewards to use num_partitions
* Update RewardsRecorderService to handle num_partitions
* Populate num_partitions in ReplayStage::record_rewards
* Write num_partitions to Bigtable
* Reword KeyedRewardsAndNumPartitions method
* Clone immediately
* Determine epoch boundary by checking parent epoch
* Rename UiConfirmedBlock field
* nit: fix comment typo
* Add test_get_rewards_and_partitions
* Add pre-activation test
* Add should_record unit test
* local program cache: add `modified_entries` field
* use `modified_entries` for modified program cache
* invoke context: make `program_cache_for_tx_batch` mutable
* invoke context: unify local program cache instances
* remove `find_program_in_cache` alias
* file based storages
* pr feedback
* add comments
* add tests for buffered reader and file reader
* fix windows clippy
* pr: update tests for jeff comments
* pr feedback
* fix a bug - read at least default min bytes
* Revert "fix a bug - read at least default min bytes"
This reverts commit 52ccd8e022dd8a047596b95b4ab2abc91c7c983c.
* add test coverages flush, reset, reopen functions for append_vec.rs
* one more dead code
* renames
* renames
* renames
* wee wah wee wah grammar police
* rename
* add debug assert
* use const
* const
* reorder
* reorders and renames
---------
Co-authored-by: HaoranYi <haoran.yi@solana.com>