Skip to content

Commit 15c54fa

Browse files
committed
Upgrade to twox-hash 2.0
1 parent d09946a commit 15c54fa

File tree

3 files changed

+20
-39
lines changed

3 files changed

+20
-39
lines changed

Cargo.lock

Lines changed: 2 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ sha3 = { version = "0.10.8", default-features = false }
7575
siphasher = { version = "1.0.1", default-features = false }
7676
slab = { version = "0.4.8", default-features = false }
7777
smallvec = { version = "1.13.2", default-features = false }
78-
twox-hash = { version = "1.6.3", default-features = false }
78+
twox-hash = { version = "2.0.0", default-features = false, features = ["xxhash64"] }
7979
wasmi = { version = "0.38.0", default-features = false }
8080
x25519-dalek = { version = "2.0.0-rc.3", default-features = false, features = ["alloc", "precomputed-tables", "static_secrets", "zeroize"] }
8181
zeroize = { version = "1.7.0", default-features = false, features = ["alloc"] }

lib/src/executor/host.rs

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1794,50 +1794,41 @@ impl ReadyToRun {
17941794
.alloc_write_and_return_pointer(host_fn.name(), iter::once(out.as_bytes()))
17951795
}
17961796
HostFunction::ext_hashing_twox_64_version_1 => {
1797-
let mut h0 = twox_hash::XxHash::with_seed(0);
1797+
let r0 =
17981798
{
17991799
let data = expect_pointer_size!(0);
1800-
h0.write(data.as_ref());
1801-
}
1802-
let r0 = h0.finish();
1800+
twox_hash::XxHash64::oneshot(0, data.as_ref())
1801+
};
18031802

18041803
self.inner
18051804
.alloc_write_and_return_pointer(host_fn.name(), iter::once(&r0.to_le_bytes()))
18061805
}
18071806
HostFunction::ext_hashing_twox_128_version_1 => {
1808-
let mut h0 = twox_hash::XxHash::with_seed(0);
1809-
let mut h1 = twox_hash::XxHash::with_seed(1);
1810-
{
1807+
let [r0, r1] = {
18111808
let data = expect_pointer_size!(0);
18121809
let data = data.as_ref();
1813-
h0.write(data);
1814-
h1.write(data);
1815-
}
1816-
let r0 = h0.finish();
1817-
let r1 = h1.finish();
1810+
[
1811+
twox_hash::XxHash64::oneshot(0, data),
1812+
twox_hash::XxHash64::oneshot(1, data),
1813+
]
1814+
};
18181815

18191816
self.inner.alloc_write_and_return_pointer(
18201817
host_fn.name(),
18211818
iter::once(&r0.to_le_bytes()).chain(iter::once(&r1.to_le_bytes())),
18221819
)
18231820
}
18241821
HostFunction::ext_hashing_twox_256_version_1 => {
1825-
let mut h0 = twox_hash::XxHash::with_seed(0);
1826-
let mut h1 = twox_hash::XxHash::with_seed(1);
1827-
let mut h2 = twox_hash::XxHash::with_seed(2);
1828-
let mut h3 = twox_hash::XxHash::with_seed(3);
1829-
{
1822+
let [r0, r1, r2, r3] = {
18301823
let data = expect_pointer_size!(0);
18311824
let data = data.as_ref();
1832-
h0.write(data);
1833-
h1.write(data);
1834-
h2.write(data);
1835-
h3.write(data);
1836-
}
1837-
let r0 = h0.finish();
1838-
let r1 = h1.finish();
1839-
let r2 = h2.finish();
1840-
let r3 = h3.finish();
1825+
[
1826+
twox_hash::XxHash64::oneshot(0, data),
1827+
twox_hash::XxHash64::oneshot(1, data),
1828+
twox_hash::XxHash64::oneshot(2, data),
1829+
twox_hash::XxHash64::oneshot(3, data),
1830+
]
1831+
};
18411832

18421833
self.inner.alloc_write_and_return_pointer(
18431834
host_fn.name(),

0 commit comments

Comments
 (0)