solana/programs/bpf
Jeff Washington (jwash) b2152be3b2
introduce bucket map (#19848)
* introduce bucket map

* rename BucketMap bits to num_buckets_pow2

* use u64::BITS

* Store the number of buckets in BucketMapConfig as a regular number

* remove redundant type aliases

* use Slot from sdk

* use Arc::clone() instead

* fixup erase drives

* rename num_buckets to max_buckets

* add doc to BucketMapConfig::new()

* add more documentation

* rename to DEFAULT_CAPACITY_POW2

* doc

* add more traits while we can

* rename capacity to capacity_pow2

* fix a naming for max_buckets_pow2

* remove unused/incorrect DataBucket::bytes

* rework benches a bit

* fixup bench docs

* rename create_bucket_capacity_pow2 to bucket_capacity_when_created_pow2

* rename BucketMapKeyValue to BucketItem

* rename to items_in_range

* remove values()

* remove addref and unref

* remove more addref and unref

* resurect addref and unref since tests use 'em for now

* rename to BucketStorage

* move stats in bucket_stats

* remove specializations (i don't think they are needed)

* move MaxSearch and RefCount into lib.rs

* move BucketItem to bucket_item.rs

* add doc

* keys no longer returns an option

* Revert "remove specializations (i don't think they are needed)"

This reverts commit b22f78e072cf0f7107851b08e58c2e3fead3f64d.

Co-authored-by: Brooks Prumo <brooks@solana.com>
2021-09-17 15:11:27 -05:00
..
benches Bank::new -> Bank::new_for_benches (#19063) 2021-08-04 17:30:43 -05:00
c Add return data implementation 2021-09-10 14:25:54 +01:00
rust Add return data implementation 2021-09-10 14:25:54 +01:00
tests Cleanup and standardize precompiles (#19918) 2021-09-17 11:36:57 -07:00
.gitignore
Cargo.lock introduce bucket map (#19848) 2021-09-17 15:11:27 -05:00
Cargo.toml Bumps solana_rbpf to v0.2.14 (#18869) 2021-08-04 09:50:28 +02:00
build.rs Add ecrecover syscall (#17720) 2021-07-07 13:15:14 -07:00