-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create safe slices from cdef_line_buf
#981
Commits on Apr 17, 2024
-
struct DisjointMutBounds
: StoreLocation::caller
.When backtraces are disabled (due to their large performance overhead), we can still capture the `Location::caller()`, which is quite cheap. This is very useful for rare panics in CI, which can be hard to reproduce.
Configuration menu - View commit details
-
Copy full SHA for 0e4fb3c - Browse repository at this point
Copy the full SHA 0e4fb3cView commit details -
trait DisjointMutIndex
: Improve error messages to matchstd
's and…… add `#[track_caller]`s when `debug_assertions`.
Configuration menu - View commit details
-
Copy full SHA for 428787c - Browse repository at this point
Copy the full SHA 428787cView commit details
Commits on Apr 18, 2024
-
struct DisjointMut
: StoreLocation::caller()
and improve out of b……ounds error messages (#980) When backtraces are disabled (due to their large performance overhead), we can still capture the `Location::caller()`, which is quite cheap. This is very useful for rare panics in CI, which can be hard to reproduce. This also makes the out-of-bounds error messages more informative (they say which thing exactly is out of bounds and what the bound was, like `std`).
Configuration menu - View commit details
-
Copy full SHA for 99fc2e4 - Browse repository at this point
Copy the full SHA 99fc2e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 82570be - Browse repository at this point
Copy the full SHA 82570beView commit details -
struct DisjointMut
: Fix missing initializations ofDisjointMut
fi……elds (#978) I found these by running the argon tests in debug mode (not just `debug_assertions`), as these `libstd` assertions are only run in actual debug mode.
Configuration menu - View commit details
-
Copy full SHA for 00df89d - Browse repository at this point
Copy the full SHA 00df89dView commit details
Commits on Apr 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8097a91 - Browse repository at this point
Copy the full SHA 8097a91View commit details -
Configuration menu - View commit details
-
Copy full SHA for c365d13 - Browse repository at this point
Copy the full SHA c365d13View commit details -
Configuration menu - View commit details
-
Copy full SHA for 57bdd9e - Browse repository at this point
Copy the full SHA 57bdd9eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9792f54 - Browse repository at this point
Copy the full SHA 9792f54View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a5dfc5 - Browse repository at this point
Copy the full SHA 5a5dfc5View commit details -
fn Rav1dRefmvsDSPContext::load_tmvs
: Inline `fn RefMvsFrame::as_mut……_dav1d`, as this is the only callsite and we'll need to store stuff on the stack.
Configuration menu - View commit details
-
Copy full SHA for 75d0d06 - Browse repository at this point
Copy the full SHA 75d0d06View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ad9f33 - Browse repository at this point
Copy the full SHA 0ad9f33View commit details -
Configuration menu - View commit details
-
Copy full SHA for dcdb372 - Browse repository at this point
Copy the full SHA dcdb372View commit details -
struct Rav1dRefmvsDSPContext
: Makefn
ptr fields private now that…… there are safer wrapper methods.
Configuration menu - View commit details
-
Copy full SHA for 6b4ef97 - Browse repository at this point
Copy the full SHA 6b4ef97View commit details -
struct RefMvsFrame::{rp,rp_ref}
: Remove raw ptr fields and pass thr……ough the callstack.
Configuration menu - View commit details
-
Copy full SHA for d3f252e - Browse repository at this point
Copy the full SHA d3f252eView commit details -
fn save_tmvs_c
: Makestride
ausize
(it already is on the other…… side of the `fn` ptr boundary).
Configuration menu - View commit details
-
Copy full SHA for 3eb384e - Browse repository at this point
Copy the full SHA 3eb384eView commit details -
struct Rav1dFrameData::{mvs,ref_mvs}
:Arc
ify withOption
<Disjoi……ntMutArcSlice<refmvs_temporal_block>>`s.
Configuration menu - View commit details
-
Copy full SHA for 6420e5a - Browse repository at this point
Copy the full SHA 6420e5aView commit details -
struct Rav1dContext::refmvs_pool
: Remove (for now) now-unused `refm……vs_pool` now that `mvs`s have been `Arc`ified.
Configuration menu - View commit details
-
Copy full SHA for baa4212 - Browse repository at this point
Copy the full SHA baa4212View commit details -
struct Rav1dContext::cdf_pool
: Remove (for now) now-unused `cdf_poo……l` now that `cdf`s have been `Arc`ified.
Configuration menu - View commit details
-
Copy full SHA for 990ff36 - Browse repository at this point
Copy the full SHA 990ff36View commit details -
fn get_prev_frame segid
: Fix overslicing (#979)This fixes a bug from #971 where I was overslicing. It wasn't caught by the normal tests, only the argon tests that only ran on `main` once I merged.
Configuration menu - View commit details
-
Copy full SHA for 2030345 - Browse repository at this point
Copy the full SHA 2030345View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4501b38 - Browse repository at this point
Copy the full SHA 4501b38View commit details -
struct Rav1dRefmvsDSPContext
: Add wrapper methods (#976)`fn splat_mv` is already a method, and `fn rav1d_refmvs_save_tmvs` was already like a method, but as a free `fn`. So this just makes them all methods on `Rav1dRefmvsDspContext`, which helps things for `fn load_tmvs` as I make it and the `mvs` fields safe.
Configuration menu - View commit details
-
Copy full SHA for d862eea - Browse repository at this point
Copy the full SHA d862eeaView commit details -
struct RefMvsFrame::{rp,rp_ref}
: Remove raw ptr fields and pass thr……ough the callstack (#983)
Configuration menu - View commit details
-
Copy full SHA for 9ee877e - Browse repository at this point
Copy the full SHA 9ee877eView commit details -
struct Rav1dFrameData::{mvs,ref_mvs}
:Arc
ify with `Option<Disjoin…Configuration menu - View commit details
-
Copy full SHA for d5c1619 - Browse repository at this point
Copy the full SHA d5c1619View commit details -
struct Rav1dContext::cdf_pool
: Remove now-unusedcdf_pool
(#985)This was already `Arc`ified in a previous PR, so this removes the now unused pool.
Configuration menu - View commit details
-
Copy full SHA for ebfe7ba - Browse repository at this point
Copy the full SHA ebfe7baView commit details -
Configuration menu - View commit details
-
Copy full SHA for aa35bf9 - Browse repository at this point
Copy the full SHA aa35bf9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97a381d - Browse repository at this point
Copy the full SHA 97a381dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 258e619 - Browse repository at this point
Copy the full SHA 258e619View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a08062 - Browse repository at this point
Copy the full SHA 5a08062View commit details -
Configuration menu - View commit details
-
Copy full SHA for baaa8a9 - Browse repository at this point
Copy the full SHA baaa8a9View commit details -
fn rav1d_get_cpu_flags
: Remove#[cfg(feature = "asm")]
; it will j……ust mostly nothing if asm is disabled.
Configuration menu - View commit details
-
Copy full SHA for 34a993e - Browse repository at this point
Copy the full SHA 34a993eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c168aa - Browse repository at this point
Copy the full SHA 3c168aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 213fcaf - Browse repository at this point
Copy the full SHA 213fcafView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b96706 - Browse repository at this point
Copy the full SHA 6b96706View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a9441c - Browse repository at this point
Copy the full SHA 4a9441cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 723e3ee - Browse repository at this point
Copy the full SHA 723e3eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 11a02db - Browse repository at this point
Copy the full SHA 11a02dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef6ff68 - Browse repository at this point
Copy the full SHA ef6ff68View commit details -
Configuration menu - View commit details
-
Copy full SHA for 263bb73 - Browse repository at this point
Copy the full SHA 263bb73View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd3ef93 - Browse repository at this point
Copy the full SHA bd3ef93View commit details -
Configuration menu - View commit details
-
Copy full SHA for f06c06b - Browse repository at this point
Copy the full SHA f06c06bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e263531 - Browse repository at this point
Copy the full SHA e263531View commit details -
Configuration menu - View commit details
-
Copy full SHA for b45e601 - Browse repository at this point
Copy the full SHA b45e601View commit details -
Configuration menu - View commit details
-
Copy full SHA for 56f11c8 - Browse repository at this point
Copy the full SHA 56f11c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96b1e25 - Browse repository at this point
Copy the full SHA 96b1e25View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd2a181 - Browse repository at this point
Copy the full SHA dd2a181View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7667ae3 - Browse repository at this point
Copy the full SHA 7667ae3View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb534ed - Browse repository at this point
Copy the full SHA cb534edView commit details -
fn Rav1dDSPContext::get
: Lazily initialize with aOnceLock
, stori……ng `&'static` refs in `Rav1dContext`.
Configuration menu - View commit details
-
Copy full SHA for 6dc1735 - Browse repository at this point
Copy the full SHA 6dc1735View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15e995a - Browse repository at this point
Copy the full SHA 15e995aView commit details -
fn Rav1dDSPContext::get
: Lazily initialize withOnceLock
and stor……e `&'static`s (#986) * Fixes `dsp` field of #713. * Fixes all `fn *dsp_init`s of #862. * Improves DSP initialization code size of #809. This * Makes all `fn *dsp_init*`s safe. * Changes all `fn *dsp_init*`s into `fn *DSPContext::new`s that directly initialize the type without `unsafe`ly zero initializing it first. This is done by directly initializing in `fn default`, which is for the fallback `fn`s, and then updating the `fn` ptrs in the `fn init_{x86,arm}`s. These `fn`s are also all `const` now, as that was trivial. * Adds `wrap_fn_ptr!` and `enum_map!`s to the array fields of `Rav1dMCDSPContext`, since I needed a default value to initialize the arrays directly if I want it the indices to be named (rather than a normal array, whose order is easy to mix up). `wrap_fn_ptr!` provides that default value, which is then optimized out. * Replaces the `Rav1dContext::dsp` array, which is manually lazily initialized, with `fn Rav1dDSPContext::get`, which uses `OnceLock` for lazy initialization. * Makes the `Rav1dFrameData::dsp` raw ptr into a `&'static` now that we lazily initialize it with `OnceLock`. This also dramatically reduces the code size of DSP initialization (in KiB): | Target | Before | After | | ------------------------------- | ------ | ----- | | `x86_64-unknown-linux-gnu` | 192.5 | 95.6 | | `i686-unknown-linux-gnu` | 106.5 | 39.6 | | `aarch64-unknown-linux-gnu` | 88.2 | 15.3 | | `armv7-unknown-linux-gnueabihf` | 103.8 | 17.0 | This is measured before using `cargo bloat --filter 'dsp_init'` and after using `cargo bloat --filter 'DSPContext::new'`.
Configuration menu - View commit details
-
Copy full SHA for 3ad56bb - Browse repository at this point
Copy the full SHA 3ad56bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for b8b83d5 - Browse repository at this point
Copy the full SHA b8b83d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 217cd21 - Browse repository at this point
Copy the full SHA 217cd21View commit details