-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Simplify opaque node pointer casting to concrete
**Description** - Remove dependency on `sptr` by adding shim functions in the nightly module as replacement - Remove some `#[inline(always)]` complete and change all other instances to `#[inline]` - Modify `count_words` example to use nul-terminated string internally - Remove the `TaggedPointer::<T>::cast` cast function in favour of casting directly on the resulting `NonNull<T>` **Motivation** - The `sptr` crate hasn't been updated to include strict provenance methods for `NonNull`, see Gankra/sptr#17 - `#[inline(always)]` is generally too strong of a requirement, I'd rather leave it to the compiler heuristic without strong evidence to the contrary. - The `count_words` example was failing on some inputs because of words that were prefixes of other words - The `cast` function was showing up in a hot part of the call stack and it seemed inefficient to carry the data tag over for the cast for my use-case **Testing Done** `./scripts/full-test.sh nightly` See PR for benchmark results
- Loading branch information
Showing
15 changed files
with
259 additions
and
219 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -16,3 +16,6 @@ profile.json | |
|
||
# coverage info | ||
lcov.info | ||
|
||
# perf data | ||
perf.data* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.