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
↓ 131 callers
Method
add_unknown
Add all unit mask bits to the set.
perfect/src/events.rs:115
↓ 99 callers
Method
iter
Return an iterator over this set.
perfect/src/events.rs:141
↓ 49 callers
Method
add
Add an event to the set.
perfect/src/events.rs:103
↓ 46 callers
Method
as_desc
(&self)
perfect/src/events/zen2.rs:1192
↓ 43 callers
Method
push
Add an observation to the set.
perfect/src/stats.rs:193
↓ 36 callers
Method
commit
Write assembler to backing memory.
perfect/src/asm.rs:298
↓ 32 callers
Method
gen
(len: usize)
perfect/src/ir.rs:374
↓ 31 callers
Method
as_fn
(&self)
perfect/src/asm.rs:175
↓ 28 callers
Method
iter
Return an iterator over values in the list.
perfect/src/stats.rs:42
↓ 27 callers
Method
measure
Run the provided function with the harness after configuring the performance counters with the given event.
perfect/src/harness.rs:586
↓ 25 callers
Method
emit_ret
(&mut self)
perfect/src/asm.rs:633
↓ 24 callers
Method
get_min
Return the minimum value in the list.
perfect/src/stats.rs:28
↓ 24 callers
Method
len
(&self)
perfect/src/ir.rs:373
↓ 22 callers
Method
add_unknown_nomask
Add all unit mask bits for a particular event to the set.
perfect/src/events.rs:122
↓ 21 callers
Method
push
Add a [BranchDesc] to this set.
perfect/src/ir/branch.rs:78
↓ 20 callers
Method
pad_until
Pad with NOP (up to the 8-byte encoding) until the requested address. Returns the number of emitted bytes.
perfect/src/asm.rs:259
↓ 19 callers
Method
get_max
Return the maximum value in the list.
perfect/src/stats.rs:31
↓ 19 callers
Method
new_dynamic_label
Create a new [DynamicLabel].
perfect/src/asm.rs:208
↓ 18 callers
Method
desc
(&self)
perfect/src/events/zen2.rs:15
↓ 17 callers
Method
emit
(arg: ClearGhistArgs)
perfect-zen2/src/bin/bp.rs:181
↓ 16 callers
Method
emit_rdpmc_end
End the measurement by emitting RDPMC, taking the difference with a previous measurement held in some scratch register, and placing the result in the
perfect/src/asm.rs:807
↓ 16 callers
Method
emit_rdpmc_start
Start a measurement by emitting RDPMC, then moving the result into some scratch register which is expected to live at least until the second measureme
perfect/src/asm.rs:792
↓ 14 callers
Method
next
(&self)
perfect/src/util.rs:491
↓ 13 callers
Method
filter
Return the indexes of all values in the list for which the given function `f` returns `true`.
perfect/src/stats.rs:72
↓ 12 callers
Method
histogram
Return a histogram counting the distribution of all values in the list.
perfect/src/stats.rs:47
↓ 12 callers
Method
offset
(&self)
perfect/src/asm.rs:424
↓ 11 callers
Method
as_bool
(&self)
perfect/src/bin/perfect-env.rs:42
↓ 11 callers
Method
evaluate
(&self, input: usize)
perfect/src/ir/bf.rs:19
↓ 10 callers
Method
cur_addr
Return the current virtual address.
perfect/src/asm.rs:171
↓ 10 callers
Method
place_dynamic_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:554
↓ 10 callers
Method
rdpmc_strat
(mut self, x: RdpmcStrategy)
perfect/src/experiments/template.rs:115
↓ 10 callers
Method
record
Record a set of results along with the associated input data and the particular PMC event. FIXME: This doesn't validate that the number of observatio
perfect/src/stats.rs:309
↓ 9 callers
Method
get_mode
Return the most-frequent value in the list.
perfect/src/stats.rs:34
↓ 8 callers
Method
call
Run the provided function a single time with the harness *without configuring performance counters.
perfect/src/harness.rs:514
↓ 8 callers
Method
emit_lfence
(&mut self)
perfect/src/asm.rs:558
↓ 8 callers
Method
with_set
(self, set: usize)
perfect-zen3/src/bin/collide-probe.rs:59
↓ 7 callers
Method
count
Returns the number of times that a particular value occurs in the list.
perfect/src/stats.rs:60
↓ 7 callers
Method
data
(&self)
perfect/src/stats.rs:79
↓ 7 callers
Method
id
(&self)
perfect/src/events.rs:76
↓ 7 callers
Method
is_valid
Is this set of inputs "valid?" (ie. is the quotient in-range?)
perfect-zen3/src/bin/div.rs:38
↓ 7 callers
Method
len
Return the total number of observations in this set.
perfect/src/stats.rs:187
↓ 7 callers
Method
local_minmax
Return a list of the minimum/maximum observed values across all results.
perfect/src/stats.rs:258
↓ 7 callers
Method
mask
(&self)
perfect/src/events.rs:77
↓ 7 callers
Method
value
Return the 64-bit virtual address as a [`usize`]
perfect-zen2/src/bin/dcache.rs:52
↓ 6 callers
Method
addr
(&self)
perfect-zen2/src/bin/bp.rs:73
↓ 6 callers
Method
arena_alloc
(mut self, base: usize, len: usize)
perfect/src/harness/config.rs:199
↓ 6 callers
Method
emit_nop_sled
(&mut self, n: usize)
perfect/src/asm.rs:673
↓ 6 callers
Method
pinned_core
(mut self, x: Option<usize>)
perfect/src/harness/config.rs:189
↓ 6 callers
Method
prologue_fn
(mut self, x: Option<fn(&mut X64Assembler, I)>)
perfect/src/experiments/template.rs:140
↓ 6 callers
Method
set
Return the set index bits
perfect/src/uarch/vaddr.rs:51
↓ 6 callers
Method
tgt
(&self)
perfect-zen2/src/bin/bp.rs:76
↓ 6 callers
Method
value
Return the 64-bit virtual address as a [`usize`].
perfect/src/uarch/vaddr.rs:77
↓ 5 callers
Method
aligned
(&self)
perfect/src/util.rs:503
↓ 5 callers
Method
clear
(&mut self, init: &[usize; 4])
perfect/src/ir.rs:353
↓ 5 callers
Method
open
(cpu: usize)
perfect/src/util/msr.rs:8
↓ 4 callers
Method
as_byte
(&self)
perfect/src/experiments/decoder.rs:17
↓ 4 callers
Method
as_bytes
(&self)
perfect/src/experiments/decoder.rs:202
↓ 4 callers
Method
as_ptr
(&self)
perfect/src/harness/state.rs:10
↓ 4 callers
Method
emit_aperf_end
(&mut self, scratch: u8, result: u8)
perfect/src/asm.rs:739
↓ 4 callers
Method
emit_aperf_start
(&mut self, scratch: u8)
perfect/src/asm.rs:727
↓ 4 callers
Function
gen_random_addr
()
perfect-zen2/src/bin/bp.rs:10
↓ 4 callers
Method
global_min
Return the minimum observed value and the associated input.
perfect/src/stats.rs:213
↓ 4 callers
Method
len
(&self)
perfect/src/ir/branch.rs:82
↓ 4 callers
Method
offset_mask
(&self)
perfect/src/util.rs:473
↓ 4 callers
Method
print
(&self)
perfect-zen3/src/bin/collide-probe.rs:18
↓ 4 callers
Function
rdpru
()
perfect/src/util.rs:600
↓ 3 callers
Method
as_harness_fn
(&self)
perfect/src/asm.rs:188
↓ 3 callers
Function
compute_utag_map
Build a map of all utags and their associated input bits
perfect-zen2/src/bin/dcache.rs:68
↓ 3 callers
Method
cursor
Return the current offset (in bytes).
perfect/src/asm.rs:168
↓ 3 callers
Function
disas_bytes
(buf: &[u8])
perfect/src/util.rs:393
↓ 3 callers
Function
generate_random_addr
Generate a random virtual address. NOTE: The offset 0x80 is just a hack to make sure our emitters have allocated enough space for us to put a short p
perfect-zen2/src/bin/btb.rs:19
↓ 3 callers
Method
index_mask
(&self)
perfect/src/util.rs:474
↓ 3 callers
Method
last
(&self)
perfect/src/ir/branch.rs:92
↓ 3 callers
Method
local_min
Return a list of the minimum observed values across all results.
perfect/src/stats.rs:243
↓ 3 callers
Method
measure_event
Run and measure the provided function using a single PMC event.
perfect/src/harness.rs:523
↓ 3 callers
Method
name
(&self)
perfect/src/events.rs:71
↓ 3 callers
Method
offset
Return the number of bytes in-between the address and target.
perfect/src/ir/branch.rs:119
↓ 3 callers
Method
post_prologue_fn
(mut self, x: Option<fn(&mut X64Assembler, I)>)
perfect/src/experiments/template.rs:144
↓ 3 callers
Method
speculative_epilogue_fn
(mut self, x: Option<fn(&mut X64Assembler, I)>)
perfect/src/experiments/template.rs:152
↓ 3 callers
Method
zero_strategy
(mut self, x: ZeroStrategy)
perfect/src/harness/config.rs:219
↓ 2 callers
Method
arch_reg
Return the architectural register number for this probe
perfect-zen2/src/bin/zenbleed.rs:493
↓ 2 callers
Method
as_ptr
(&self)
perfect-zen3/src/lib.rs:12
↓ 2 callers
Method
base_addr
Return the base address for the block of emitted code.
perfect/src/asm.rs:162
↓ 2 callers
Method
cmp_rdi
(mut self, x: i32)
perfect/src/harness/config.rs:204
↓ 2 callers
Method
desc
(&self)
perfect/src/events/tremont.rs:16
↓ 2 callers
Method
emit
(padding: usize)
perfect-zen2/src/bin/smc.rs:74
↓ 2 callers
Method
emit
(num_stores: usize)
perfect-zen2/src/bin/stlf.rs:57
↓ 2 callers
Method
emit_flush_btb
(&mut self, iter: usize)
perfect/src/asm.rs:859
↓ 2 callers
Method
emit_je_direct
(&self, f: &mut X64AssemblerFixed)
perfect/src/ir/branch.rs:143
↓ 2 callers
Method
emit_rdpmc_to_addr
(&mut self, counter: i32, addr: i32)
perfect/src/asm.rs:819
↓ 2 callers
Method
emit_sfence
(&mut self)
perfect/src/asm.rs:560
↓ 2 callers
Method
extend
(&mut self, iter: T)
perfect/src/asm.rs:408
↓ 2 callers
Method
first
(&self)
perfect/src/ir/branch.rs:85
↓ 2 callers
Method
free_pregs
(mut self, x: bool)
perfect/src/experiments/template.rs:135
↓ 2 callers
Method
global_max
Return the maximum observed value and the associated input.
perfect/src/stats.rs:199
↓ 2 callers
Method
index
Return the index number of this probe
perfect-zen2/src/bin/zenbleed.rs:498
↓ 2 callers
Method
index_bits
(&self)
perfect/src/util.rs:509
↓ 2 callers
Method
local_avg_usize
Return a list of [integer] averages across all results.
perfect/src/stats.rs:235
↓ 2 callers
Method
measure_events
Run and measure the provided function using one or more PMC events. FIXME: Ideally generate inputs *once* here, not in `.measure()`.
perfect/src/harness.rs:537
↓ 2 callers
Method
pfn
(&self)
perfect/src/util/pagemap.rs:12
next →
1–100 of 580, ranked by callers