Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/eigenform/perfect
/ functions
Functions
580 in github.com/eigenform/perfect
⨍
Functions
580
◇
Types & classes
167
Method
fmt
(&self, f: &mut std::fmt::Formatter<'_>)
perfect/src/asm.rs:1077
Method
fmt
(&self, f: &mut std::fmt::Formatter<'_>)
perfect/src/harness/state.rs:41
Method
fnop_marker
(mut self, x: bool)
perfect/src/experiments/template.rs:129
Method
forward_relocation
(&mut self, name: &'static str, target_offset: isize, field_offset: u8, ref_offset: u8, kind
perfect/src/asm.rs:496
Method
from
(x: u8)
perfect/src/asm.rs:976
Method
from_bit
(bit: usize)
perfect/src/util.rs:469
Method
from_cmdline_args
(args: &ExperimentArgs)
perfect/src/harness/config.rs:90
Method
from_kallsyms
Attempt to read/parse `/proc/kallsyms` and return a map of symbols. Returns an empty map if `/proc/kallsyms` cannot be read.
perfect-zen2/src/bin/entrybleed.rs:310
Method
from_number
(num: T)
perfect/src/experiments/branch.rs:67
Method
from_pattern
(size: usize, pattern: &[T])
perfect/src/experiments/branch.rs:81
Method
from_str
(s: &str)
perfect-zen2/src/bin/entrybleed.rs:287
Method
from_u64
Try to create a new [ProbeValue] from an arbitrary [u64]. Returns [Option::None] if the value is not a valid probe.
perfect-zen2/src/bin/zenbleed.rs:516
Method
from_value
(value: usize)
perfect/src/util.rs:465
Method
fs_name
(&self)
perfect/src/events.rs:72
Method
gen_bits
(rng: &mut ThreadRng, num: usize)
perfect-zen3/src/bin/div.rs:110
Method
gen_uniform
Generate a set of uniformly-spaced aligned branches.
perfect/src/ir/branch.rs:25
Method
gen_uniform_offset
Generate a set of uniformly-spaced branches sharing the same offset bits.
perfect/src/ir/branch.rs:43
Method
generate_1bit_candidates
Generate pairs of virtual addresses with 1-bit differences.
perfect-zen2/src/bin/dcache.rs:207
Method
generate_2bit_candidates
Generate pairs of virtual addresses with 2-bit differences.
perfect-zen2/src/bin/dcache.rs:240
Method
generate_candidates_for
Generate pairs consisting of address `a1`, and all (255) other addresses whose utag is the same
perfect-zen2/src/bin/dcache.rs:191
Method
generate_collision_for
Generate a virtual address whose BTB index is colliding with the BTB index for virtual address `addr`.
perfect-zen2/src/bin/btb.rs:188
Method
generate_filename
( case_results: &ExperimentCaseResults<E, I>, event: &E, event_results: &EventResults<
perfect/src/stats.rs:400
Method
generate_inputs
Generate a list of inputs to measured code.
perfect/src/harness.rs:483
Method
get_avg
Return the [`f32`] average over values in this list.
perfect/src/stats.rs:103
Method
get_last_value
(&self)
perfect/src/stats.rs:19
Method
get_value
(&self, idx: usize)
perfect/src/stats.rs:16
Method
global_label
( &mut self, name: &'static str)
perfect/src/asm.rs:457
Method
global_relocation
(&mut self, name: &'static str, target_offset: isize, field_offset: u8, ref_offset: u8, kind
perfect/src/asm.rs:471
Method
handler_addr
(mut self, addr: usize)
perfect/src/harness/config.rs:169
Method
harness_addr
(mut self, addr: usize)
perfect/src/harness/config.rs:159
Method
harness_size
(mut self, size: usize)
perfect/src/harness/config.rs:164
Method
hibits
Return the micro-tag input bits
perfect/src/uarch/vaddr.rs:66
Function
it_works
()
perfect-tremont/src/lib.rs:10
Method
iter
(&self)
perfect/src/experiments.rs:52
Method
iter_ith_input
Return an iterator over the `i`-th input variable for each event.
perfect/src/stats.rs:325
Method
last_mut
(&mut self)
perfect/src/ir/branch.rs:95
Method
len
Return the number of observed values.
perfect/src/stats.rs:25
Method
local_avg_f32
Return a list of [`f32`] averages across all results.
perfect/src/stats.rs:227
Method
local_label
(&mut self, name: &'static str)
perfect/src/asm.rs:452
Method
local_min_first_nonzero
Return the input value and result value of the first non-zero result value that occured in *any* of the observations within this set.
perfect/src/stats.rs:264
Method
local_min_pairwise_diff
Obtain the minimum for each observation, then return a list of pairwise differences [as signed integers] between them.
perfect/src/stats.rs:275
Method
local_mode
Return a list of the mode for observed values across all results.
perfect/src/stats.rs:253
Function
main
()
perfect-zen2/src/bin/fp.rs:124
Function
main
()
perfect-zen2/src/bin/int.rs:9
Function
main
()
perfect-zen2/src/bin/ldq.rs:8
Function
main
()
perfect-zen2/src/bin/rob.rs:8
Function
main
()
perfect-zen2/src/bin/zenbleed.rs:11
Function
main
()
perfect-zen2/src/bin/stq.rs:8
Function
main
()
perfect-zen2/src/bin/btb.rs:28
Function
main
()
perfect-zen2/src/bin/smc.rs:8
Function
main
()
perfect-zen2/src/bin/opcache.rs:5
Function
main
()
perfect-zen2/src/bin/pmc.rs:366
Function
main
()
perfect-zen2/src/bin/stlf.rs:7
Function
main
()
perfect-zen2/src/bin/bp-pattern.rs:247
Function
main
()
perfect-zen2/src/bin/tbb.rs:8
Function
main
()
perfect-zen2/src/bin/dispatch.rs:8
Function
main
()
perfect-zen2/src/bin/prefetch.rs:9
Function
main
()
perfect-zen2/src/bin/memfile.rs:9
Function
main
()
perfect-zen2/src/bin/bp.rs:726
Function
main
()
perfect-zen2/src/bin/dcache.rs:8
Function
main
()
perfect-zen2/src/bin/specdec.rs:17
Function
main
()
perfect-zen2/src/bin/entrybleed.rs:10
Function
main
()
perfect-zen2/src/bin/flush-reload.rs:7
Function
main
()
perfect-zen2/src/bin/rename.rs:9
Function
main
()
perfect-tremont/src/bin/rename.rs:61
Function
main
()
perfect/src/bin/perfect-env.rs:146
Function
main
()
perfect-zen3/src/bin/collide-probe.rs:523
Function
main
()
perfect-zen3/src/bin/div.rs:9
Method
make_perf_cfg
Build a [`perf_event::Counter`] for controlling a PMC. NOTE: The event select MSRs are different between Intel and AMD, so the bits passed through a
perfect/src/harness.rs:464
Method
make_perf_cfg_amd
Generate the config bits for the raw perf_event (AMD).
perfect/src/harness.rs:452
Method
make_perf_cfg_intel
Generate the config bits for the raw perf_event (Intel).
perfect/src/harness.rs:445
Method
max_addr
Return the last address for the block of emitted code.
perfect/src/asm.rs:165
Method
measure_event_for_case
Measure a single case (with a single event) from a [`TestGroup`].
perfect-zen2/src/bin/pmc.rs:400
Method
measure_floor
For the given events, emit and measure the "floor" associated with our emitted code (which we can use to normalize our measurements during the actual
perfect-zen2/src/bin/prefetch.rs:130
Method
measure_group
Measure an entire [`TestGroup`].
perfect-zen2/src/bin/pmc.rs:419
Method
measure_inner_loop
( harness_fn: HarnessFn, measured_fn: MeasuredFn, iters: usize, inputs: &[(usi
perfect/src/harness.rs:570
Method
misprediction_strat
(mut self, x: MispredictionStrategy)
perfect/src/experiments/template.rs:110
Method
mmap_fixed
Obtain a anonymous fixed mapping at the requested address. NOTE: Userspace ends at `0000_7fff_ffff_ffff`. See https://www.kernel.org/doc/html/latest/
perfect/src/asm.rs:59
Method
mmap_fixed
Explicitly map some region into the current virtual address space.
perfect/src/util.rs:296
Method
mmap_fixed_ro
(addr: usize, len: usize)
perfect/src/util.rs:311
Method
mprotect
(&mut self, prot: ProtFlags)
perfect/src/asm.rs:200
Method
new
Synthesize a new probe from an architectural register number and an index number.
perfect-zen2/src/bin/zenbleed.rs:509
Method
new
(pattern: BitVec<usize, Msb0>, outcomes: BitVec<usize, Msb0>, predictions: BitVec<usize, Msb0>
perfect-zen2/src/bin/bp-pattern.rs:57
Method
new
(base_addr: usize, idx: u8, brn_off: usize, tgt_off: usize)
perfect-zen2/src/bin/bp.rs:25
Method
new
Create a new virtual address from the given offset, set index, micro-tag input bits, and high bits.
perfect-zen2/src/bin/dcache.rs:58
Method
new
(mask: u8, name: &'static str)
perfect/src/events.rs:23
Method
new
(cfg: HarnessConfig)
perfect/src/harness.rs:99
Method
new
( desc: &'static str, func: fn(&mut X64Assembler, I) )
perfect/src/experiments.rs:33
Method
new
Create a new assembler and allocate the requested backing memory.
perfect/src/asm.rs:128
Method
new
Create an empty set of observations for the given event `E`
perfect/src/stats.rs:178
Method
new
(addr: usize, align: Align)
perfect/src/util.rs:487
Method
new
(init: &[usize; 4])
perfect/src/ir.rs:350
Method
new
Create an empty [BranchSet].
perfect/src/ir/branch.rs:73
Method
new
(slice: &[T])
perfect/src/experiments/branch.rs:60
Method
new
(desc: &'static str, func: fn(&mut X64Assembler))
perfect/src/experiments/pmcdisc.rs:21
Method
new
()
perfect/src/harness/state.rs:9
Method
new
()
perfect/src/harness/signal.rs:29
Method
new
Create a new virtual address from the given offset, set index, micro-tag input bits, and high bits.
perfect/src/uarch/vaddr.rs:83
Method
new
Create a new virtual address from the given offset, set index, micro-tag input bits, and high bits.
perfect-zen3/src/bin/collide-probe.rs:97
Method
new_anon
(func: fn(&mut X64Assembler))
perfect/src/experiments/pmcdisc.rs:24
← previous
next →
301–400 of 580, ranked by callers