Add aligned_and_dynamic_storage feature and imm6 arg to srw opcode#7565
Add aligned_and_dynamic_storage feature and imm6 arg to srw opcode#7565
aligned_and_dynamic_storage feature and imm6 arg to srw opcode#7565Conversation
PR SummaryHigh Risk Overview This changes the Improves diagnostics by introducing Written by Cursor Bugbot for commit d87fc83. This will update automatically on new commits. Configure here. |
|
👍 |
Merging this PR will degrade performance by 18.43%
Performance Changes
Comparing |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Git branch patches in Cargo.toml must not be merged
- Removed the accidental
[patch.crates-io]git-branch overrides fromCargo.tomlso dependencies resolve from published crates.io versions again.
- Removed the accidental
Or push these changes by commenting:
@cursor push 4fbc4cdd14
Preview (4fbc4cdd14)
diff --git a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -242,19 +242,4 @@
vte = "0.13"
walkdir = "2.3"
whoami = "1.5"
-wiremock = "0.6"
-
-[patch.crates-io]
-fuel-core-client = { git = "https://github.com/FuelLabs/fuel-core", branch = "dento/dynamic-storage" }
-fuel-core-storage = { git = "https://github.com/FuelLabs/fuel-core", branch = "dento/dynamic-storage" }
-fuel-core-types = { git = "https://github.com/FuelLabs/fuel-core", branch = "dento/dynamic-storage" }
-
-fuel-asm = { git = "https://github.com/FuelLabs/fuel-vm" }
-fuel-crypto = { git = "https://github.com/FuelLabs/fuel-vm" }
-fuel-types = { git = "https://github.com/FuelLabs/fuel-vm" }
-fuel-tx = { git = "https://github.com/FuelLabs/fuel-vm" }
-fuel-vm = { git = "https://github.com/FuelLabs/fuel-vm" }
-
-fuels = { git = "https://github.com/FuelLabs/fuels-rs", branch = "ironcev/clonable-isuseraccountvariables" }
-fuels-core = { git = "https://github.com/FuelLabs/fuels-rs", branch = "ironcev/clonable-isuseraccountvariables" }
-fuels-accounts = { git = "https://github.com/FuelLabs/fuels-rs", branch = "ironcev/clonable-isuseraccountvariables" }
\ No newline at end of file
+wiremock = "0.6"
\ No newline at end of file|
|
||
| fuels = { git = "https://github.com/FuelLabs/fuels-rs", branch = "ironcev/clonable-isuseraccountvariables" } | ||
| fuels-core = { git = "https://github.com/FuelLabs/fuels-rs", branch = "ironcev/clonable-isuseraccountvariables" } | ||
| fuels-accounts = { git = "https://github.com/FuelLabs/fuels-rs", branch = "ironcev/clonable-isuseraccountvariables" } No newline at end of file |
There was a problem hiding this comment.
Git branch patches in Cargo.toml must not be merged
High Severity
The [patch.crates-io] section pins dependencies to unreleased git branches (fuel-core on dento/dynamic-storage, fuels-rs on ironcev/clonable-isuseraccountvariables, fuel-vm on main). If merged, the main branch would depend on development branches in external repos that could be force-pushed, deleted, or contain unstable code, breaking reproducible builds and potentially introducing regressions.



Description
This PR is the first step in implementing dynamic storage support on compiler and
stdside, as described in the Aligned and dynamic storage RFC.The PR:
aligned_and_dynamic_storageexperimental feature.srwopcode with an immediate offset.__state_read_wordintrinsic with the offset.state_load_wordIR operation with the offset.Additionally, the PR:
tx_field_idin__gtf#7564 by adding a dedicatedCompileError::IntrinsicArgNotConstant.Defining opcodes via the
define_op_codesmacros does not allow for customisations based on feature flags. Also, opcodes are modeled as enums in code generation. Changing the whole mechanics of opcode definition just to support two differentsrwopcodes does not pay off, especially because we do not expectsrwto be used in real-life code. Thus, supporting onlysrw res is_set slot imm6will be a breaking change not hidden behind a feature flag.tx_field_idin__gtf#7564Checklist
Breaking*orNew Featurelabels where relevant.