mergify[bot]
c3890ada8e
Bumps solana_rbpf to version v0.2.23 ( #22954 ) ( #22961 )
...
(cherry picked from commit e05cf4bf97
)
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
2022-02-05 13:08:29 +00:00
mergify[bot]
ceb253ce90
Bumps solana_rbpf to version v0.2.22 ( #22923 ) ( #22955 )
...
* Bumps solana_rbpf to v0.2.22
* Adjusts vm::Config and feature gates.
(cherry picked from commit 96c88d1a5e
)
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
2022-02-05 11:16:22 +00:00
Dmitri Makarov
4d891043d1
Update syscall base costs
2022-01-27 13:36:16 -08:00
Trent Nelson
8bc4cc90d2
Bump version to 1.9.6
2022-01-21 20:15:43 -07:00
mergify[bot]
4079f12a3e
Perf: Store deserialized sysvars in the sysvars cache (backport #22455 ) ( #22480 )
...
* Perf: Store deserialized sysvars in the sysvars cache (#22455 )
* Perf: Store deserialized sysvars in sysvars cache
* add bench
* resolve conflicts
Co-authored-by: Justin Starry <justin@solana.com >
2022-01-15 08:48:34 +00:00
mergify[bot]
a6b7a3b7ff
Refactor: move sysvar cache to new module (backport #22448 ) ( #22461 )
...
* Refactor: move sysvar cache to new module
(cherry picked from commit 7171c95bdd
)
# Conflicts:
# Cargo.lock
# program-runtime/Cargo.toml
# program-runtime/src/invoke_context.rs
# programs/bpf/Cargo.lock
# programs/bpf_loader/src/syscalls.rs
# programs/stake/src/stake_instruction.rs
# programs/vote/src/vote_instruction.rs
# runtime/src/message_processor.rs
* resolve conflicts
Co-authored-by: Justin Starry <justin@solana.com >
2022-01-14 08:43:26 +00:00
mergify[bot]
ae77a52c97
wrap create executor timings datapoint in a module ( #22398 )
...
(cherry picked from commit 428575f9ae
)
Co-authored-by: Trent Nelson <trent@solana.com >
2022-01-09 06:41:44 +00:00
Trent Nelson
cb49ae21b4
Bump version to v1.9.5
2022-01-08 21:17:51 +00:00
Trent Nelson
a4ca18a54d
add excutor creation trace timings
2022-01-08 05:25:37 -07:00
Justin Starry
1f00926874
Add runtime support for address table lookups (backport #22223 ) ( #22354 )
2022-01-08 07:57:04 +08:00
mergify[bot]
7b1da62763
Add execute metrics (backport #22296 ) ( #22335 )
...
* move `ExecuteTimings` from `runtime::bank` to `program_runtime::timings`
(cherry picked from commit 7d32909e17
)
# Conflicts:
# core/Cargo.toml
# ledger/Cargo.toml
# programs/bpf/Cargo.lock
* Add execute metrics
(cherry picked from commit b25e4a200b
)
* Add metrics for executor creation
(cherry picked from commit 848b6dfbdd
)
* Add helper macro for `AddAssign`ing with saturating arithmetic
(cherry picked from commit deb9344e49
)
* Use saturating_add_assign macro
(cherry picked from commit 72fc6096a0
)
* Consolidate process instruction execution timings to own struct
(cherry picked from commit 390ef0fbcd
)
Co-authored-by: Trent Nelson <trent@solana.com >
Co-authored-by: Carl Lin <carl@solana.com >
2022-01-07 09:11:18 +00:00
mergify[bot]
4be6e52a4f
cache executors on failed transactions (backport #22308 ) ( #22328 )
...
* 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 >
2022-01-06 09:14:48 +00:00
mergify[bot]
687cd4779e
Add AccountsDataMeter to InvokeContext ( #21813 ) ( #22299 )
...
(cherry picked from commit 800472ddf5
)
Co-authored-by: Brooks Prumo <brooks@solana.com >
2022-01-06 01:31:11 +00:00
Will Hickey
ba0188a36d
Bump version to 1.9.4 ( #22304 )
2022-01-05 12:02:36 -06:00
Alexander Meißner
264bb903a3
Bump rbpf to v0.2.21 ( #22216 ) ( #22217 )
...
(cherry picked from commit 9139be89b7
)
2022-01-01 20:42:53 +00:00
mergify[bot]
70d5b6aeaf
Bump solana_rbpf to version v0.2.20 ( #22164 ) ( #22207 )
...
(cherry picked from commit 8a43e2d889
)
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
2021-12-31 21:57:20 +00:00
mergify[bot]
113d261a2c
Count compute units even when transaction errors (backport #22182 ) ( #22199 )
...
* Count compute units even when transaction errors (#22182 )
(cherry picked from commit d06e6c7425
)
# Conflicts:
# program-runtime/src/invoke_context.rs
# runtime/src/cost_model.rs
# runtime/src/message_processor.rs
* Resolve conflicts
Co-authored-by: carllin <carl@solana.com >
2021-12-31 21:14:00 +00:00
carllin
7efd0391e9
Revert "Count compute units even when transaction errors (backport #22059 ) ( #22154 )" ( #22175 )
...
This reverts commit 401c542d2a
.
2021-12-30 02:39:25 -05:00
mergify[bot]
401c542d2a
Count compute units even when transaction errors (backport #22059 ) ( #22154 )
...
* Count compute units even when transaction errors (#22059 )
(cherry picked from commit eaa8c67bde
)
# Conflicts:
# program-runtime/src/invoke_context.rs
# runtime/src/bank.rs
# runtime/src/message_processor.rs
* Fix merge conflicts
Co-authored-by: carllin <carl@solana.com >
2021-12-29 08:04:12 +00:00
mergify[bot]
9fbaaa5102
Increment execution timings on errors as well ( #22053 ) ( #22072 )
...
(cherry picked from commit 37f6777ceb
)
Co-authored-by: carllin <carl@solana.com >
2021-12-22 22:50:19 +00:00
Will Hickey
78e7913352
Bump version to 1.9.3 ( #22065 )
2021-12-22 11:41:03 -06:00
mergify[bot]
f4521002b9
Clean up demote program write lock feature (backport #21949 ) ( #21969 )
...
* Clean up demote program write lock feature (#21949 )
* Clean up demote program write lock feature
* fix test
(cherry picked from commit 6ff0be6a82
)
# Conflicts:
# programs/bpf_loader/src/syscalls.rs
# runtime/src/accounts.rs
* resolve conflicts
Co-authored-by: Justin Starry <justin@solana.com >
2021-12-17 04:45:22 +00:00
Michael Vines
bfa6302985
Bump version to 1.9.2
2021-12-15 16:18:14 -08:00
Michael Vines
9f173d3717
Add helper crate to generate syscalls.txt
2021-12-14 21:34:36 -08:00
mergify[bot]
2cd2f3ba7b
Bump rbpf to v0.2.19 ( #21880 ) ( #21891 )
...
* Bump rbpf to v0.2.19
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
(cherry picked from commit 509bcd2e74
)
Co-authored-by: Jack May <jack@solana.com >
2021-12-14 20:30:31 +00:00
Tao Zhu
4b63d51e3e
Bump version to 1.9.1 ( #21802 )
2021-12-11 12:50:36 +00:00
mergify[bot]
2c4765e75a
Bump solana_rbpf to version v0.2.18 ( #21774 ) ( #21786 )
...
(cherry picked from commit a5a0dabe7b
)
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
2021-12-11 02:38:03 +00:00
mergify[bot]
ef970bb14a
- Implicitly fixes invoke_context.return_data not being reset between instructions in process_message. ( #21671 ) ( #21684 )
...
- Lets InvokeContext::process_cross_program_instruction() handle the first invocation depth too.
- Marks InvokeContext::verify(), InvokeContext::verify_and_update() and InvokeContext::process_executable_chain() private.
- Renames InvokeContext::process_cross_program_instruction() to InvokeContext::process_instruction().
- Removes InvokeContext::new_mock_with_sysvars().
(cherry picked from commit 1df88837c8
)
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
2021-12-08 10:48:49 +00:00
Michael Vines
b8837c04ec
Reformat imports to a consistent style for imports
...
rustfmt.toml configuration:
imports_granularity = "One"
group_imports = "One"
2021-12-03 09:19:13 -08:00
Alexander Meißner
015250f96c
Feature gates for rbpf v0.2.16 ( #21590 )
...
- Adds feature reject_section_virtual_address_file_offset_mismatch.
- Adds feature start_verify_shift32_imm.
- Enables enable_symbol_and_section_labels only in the rbpf-cli.
2021-12-03 15:45:25 +01:00
Alexander Meißner
a9d5ef2055
Cleanup: InvokeContext accessors ( #21574 )
...
* Removes blockhash accessors from InvokeContext.
* Removes lamports_per_signature accessors from InvokeContext.
* Removes return_data accessors from InvokeContext.
* Removes feature_set accessor from InvokeContext.
* Removes instruction_recorders and instruction_index accessors from InvokeContext.
* Moves get_sysvars() into InvokeContext.
* Removes compute_meter parameter from InvokeContext::new().
* Removes InvokeContext::new_mock_with_sysvars_and_features().
* Removes InvokeContext::update_timing().
2021-12-03 12:15:22 +01:00
Alexander Meißner
bfdb775ffc
Unifies ThisInvokeContext and dyn trait InvokeContext. ( #21563 )
2021-12-02 18:47:16 +01:00
Alexander Meißner
c825b0a84d
Fixes invoke_context.get_return_data() shadowing program_id. ( #21562 )
2021-12-02 13:12:11 +01:00
Alexander Meißner
6330cbcf33
Refactor: Use InvokeContext in all Syscalls ( #21545 )
...
* Adds ComputeMeter::mock_set_remaining().
* Adds InvokeContext::get_loader()
* Adds a LogCollector to InvokeContext::new_mock().
* Adds "invoke_context: Rc<RefCell<&'a mut dyn InvokeContext>>,"
to all SyscallObjects.
* Adds LogCollector::get_recorded_content().
* Removes loader_id parameter from bind_syscall_context_objects() and create_vm().
2021-12-02 08:58:02 +01:00
Michael Vines
0212a71d3e
Remove unused bpfloader openssl dependency
2021-12-01 09:05:39 -08:00
Alexander Meißner
3da914330d
Fix #21397 ( #21535 )
...
Adds InvokeContext::get_instruction_keyed_accounts() to skip first_instruction_account keyed_accounts in CPI.
2021-12-01 14:57:59 +01:00
Alexander Meißner
b78f5b6032
Refactor: Cleanup InstructionProcessor ( #21404 )
...
* Moves create_message(), native_invoke() and process_cross_program_instruction()
from the InstructionProcessor to the InvokeContext so that they can have a useful "self" parameter.
* Moves InstructionProcessor into InvokeContext and Bank.
* Moves ExecuteDetailsTimings into its own file.
* Moves Executor into invoke_context.rs
* Moves PreAccount into its own file.
* impl AbiExample for BuiltinPrograms
2021-12-01 08:54:42 +01:00
Michael Vines
dd12d90eac
Upgrade to Rust 2021
2021-11-30 20:43:46 -08:00
Michael Vines
098dba607a
Fix more BPF alignment issues on arm64
2021-11-30 18:17:44 -08:00
Alexander Meißner
c9aa7ed5ca
Bumps solana_rbpf to v0.2.16 ( #21492 )
2021-11-30 16:26:36 +01:00
Alexander Meißner
22a2537aac
Refactor: Cleanup program-runtime dyn Traits ( #21395 )
...
* Unifies dyn Trait ComputeMeter, ThisComputeMeter and TransactionComputeMeter.
* Unifies dyn Trait Logger and ThisLogger.
* Moves Logger to log_collector.rs
* Unifies Logger and LogCollector.
* Removes inner RefCell from LogCollector.
* Adds the log::debug!() message to ic_logger_msg!() again.
2021-11-23 13:23:40 +01:00
Jack May
e9c00d1e69
Spit log data charge into two ( #21349 )
2021-11-18 14:02:47 -08:00
Jack May
91fe1278f1
Charge for sol_log_data translates ( #21328 )
2021-11-17 14:11:57 -08:00
Alexander Meißner
e540b1cf3c
Refactor: Move sdk::process_instruction in program-runtime-crate ( #21180 )
...
* Moves the Executor dyn Trait to instruction_processor.rs
* Moves the Logger dyn Trait as well as the ic_msg and ic_logger_msg macros to log_collector.rs,
and moves the stable_log to stable_log.rs
* Moves the ComputeMeter dyn Trait to invoke_context.rs
* Moves the InvokeContext dyn Trait and the ProcessInstructionWithContext type to invoke_context.rs
* Updates cargo files.
* Re-export InvokeContext in program-test
Co-authored-by: Jon Cinque <jon.cinque@gmail.com >
2021-11-17 19:35:07 +01:00
dependabot[bot]
c6baff6698
chore: bump solana_rbpf from 0.2.14 to 0.2.15 ( #21289 )
...
Bumps [solana_rbpf](https://github.com/solana-labs/rbpf ) from 0.2.14 to 0.2.15.
- [Release notes](https://github.com/solana-labs/rbpf/releases )
- [Commits](https://github.com/solana-labs/rbpf/compare/v0.2.14...v0.2.15 )
---
updated-dependencies:
- dependency-name: solana_rbpf
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-16 23:52:01 +00:00
Alexander Meißner
db6d291127
Inverts disable_fees_sysvar
feature gating condition to match is_fee_sysvar_via_syscall_active
. ( #21297 )
2021-11-16 18:41:33 +01:00
Alexander Meißner
0661aa67ed
Adds a feature gate to reject the deployment of programs with unresolved syscall symbols. ( #21298 )
2021-11-16 18:21:16 +01:00
Ben Newhouse
7e600bd451
Fix BPF parameter alignment to work regardless of target ABI ( #21271 )
2021-11-16 16:02:22 +01:00
Alexander Meißner
a4a9b8f6a4
Changes test_serialize_parameters() to use an explicit InvokeContext. ( #21205 )
2021-11-08 18:51:36 +01:00
Alexander Meißner
7200c5106e
Replaces MockInvokeContext by ThisInvokeContext in tests ( #20881 )
...
* Replaces MockInvokeContext by ThisInvokeContext in BpfLoader, SystemInstructionProcessor, CLIs, ConfigProcessor, StakeProcessor and VoteProcessor.
* Finally, removes MockInvokeContext, MockComputeMeter and MockLogger.
* Adjusts assert_instruction_count test.
* Moves ThisInvokeContext to the program-runtime crate.
2021-11-04 21:47:32 +01:00