-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use unchecked function callbacks for better performance (#186)
* Use unchecked functions with raw values for better performance. This is a follow-up to PR #163. This also improves the NRT annotations for callback delegates, and fixes an regression that prevented to define callbacks taking or returning an interface. * Follow-Up: Pass the ValueRaw as reference when boxing a value, for better performance. * Follow-Up: Always set the first 64 bit of the ValueRaw, to match the behavior of the Rust implementation (and this doesn't seem to affect performance). * Only create the Caller instance if it is actually needed. This allows callbacks that don't use a Caller, Function or object parameter to be allocation-free. * Empty commit to retrigger CI. * Refactor to always pass a StoreContext to the IValueRawConverter<T>, so that allocating a Caller is now only necessary when unboxing Functions. * Simplify handling of V128.
- Loading branch information
Showing
16 changed files
with
7,802 additions
and
5,353 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
Large diffs are not rendered by default.
Oops, something went wrong.
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.