Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/chc4/lineiform
/ functions
Functions
222 in github.com/chc4/lineiform
⨍
Functions
222
◇
Types & classes
68
↓ 84 callers
Method
clone
(&self)
tangle/src/select.rs:837
↓ 62 callers
Method
connect_input
(&'a mut self, idx: usize, input: PortIdx, r: &'a mut Region)
tangle/src/node.rs:242
↓ 57 callers
Method
add_body
( &mut self, mut n: T, ir: &mut IR, f: F)
tangle/src/node.rs:104
↓ 39 callers
Method
sinks
(&self)
tangle/src/node.rs:218
↓ 26 callers
Method
push
(mut self)
tangle/src/time.rs:43
↓ 23 callers
Method
add_argument
(&mut self, ir: &mut IR)
tangle/src/node.rs:115
↓ 19 callers
Method
add_return
(&mut self, ir: &mut IR)
tangle/src/node.rs:124
↓ 17 callers
Method
connect_output
(&mut self, idx: usize, output: PortIdx, r: &mut Region)
tangle/src/node.rs:247
↓ 17 callers
Method
set_body
(&mut self, f: NodeVariant::Function<A, O>)
tangle/src/ir.rs:120
↓ 16 callers
Method
connect_ports
(&mut self, input: PortIdx, output: PortIdx)
tangle/src/region.rs:150
↓ 15 callers
Method
compile_fn
(&mut self)
tangle/src/ir.rs:212
↓ 14 callers
Method
in_region
(&mut self, r: RegionIdx, f: F)
tangle/src/ir.rs:133
↓ 13 callers
Method
add_port
(&mut self)
tangle/src/region.rs:145
↓ 12 callers
Method
constrain
(&mut self, port: PortIdx, store: Storage)
tangle/src/region.rs:199
↓ 12 callers
Method
speedup
(&mut self, f: F)
lineiform/src/lib.rs:104
↓ 11 callers
Method
set_storage
(&mut self, store: Storage)
tangle/src/port.rs:121
↓ 10 callers
Method
need_int
(&mut self)
src/parser.rs:77
↓ 9 callers
Method
set_variant
(&mut self, var: EdgeVariant)
tangle/src/port.rs:117
↓ 8 callers
Method
add_input
(&mut self, p: PortIdx, r: &mut Region)
tangle/src/node.rs:232
↓ 7 callers
Method
add_node
(&mut self, token: &mut NodeOwner, mut n: T, f: F)
tangle/src/region.rs:130
↓ 7 callers
Method
add_output
(&mut self, r: &mut Region)
tangle/src/node.rs:236
↓ 5 callers
Method
disassemble
(&mut self, f: *const (), f_size: usize)
lineiform/src/tracer.rs:143
↓ 5 callers
Method
sources
(&self)
tangle/src/node.rs:222
↓ 4 callers
Method
add_stack_slot
(&mut self, ir: &mut IR)
tangle/src/node.rs:133
↓ 4 callers
Method
format
(&self)
lineiform/src/lift.rs:787
↓ 4 callers
Method
increment
(mut self)
tangle/src/time.rs:29
↓ 4 callers
Method
pull
(mut self)
tangle/src/time.rs:50
↓ 3 callers
Method
assume_args
(mut self, pinning: Vec<(Location, JitValue)>)
lineiform/src/block.rs:43
↓ 3 callers
Method
input_count
(&self, token: &NodeOwner)
tangle/src/node.rs:274
↓ 3 callers
Method
lower
(&mut self, f: Function<A, O>)
lineiform/src/lift.rs:267
↓ 3 callers
Method
need_keyword
(&mut self)
src/parser.rs:84
↓ 3 callers
Method
port_for
Get the Tangle port that corrosponds with the requested operand. If we have `mov eax, ecx`, we want to resolve ecx to the last emitted ecx port. This
lineiform/src/lift.rs:618
↓ 3 callers
Method
port_for_register
Return a port representing the current live value of the required register
lineiform/src/lift.rs:712
↓ 3 callers
Function
s_exp
Before continuing, we need a helper function to parse lists. A list starts with `(` and ends with a matching `)`. By putting whitespace and newline pa
src/parser.rs:217
↓ 3 callers
Method
stack
(&self)
lineiform/src/lift.rs:217
↓ 3 callers
Method
store
Store the value corrosponding with the given PortIdx in the storage location of the operand, using the required memory width.
lineiform/src/lift.rs:653
↓ 2 callers
Method
_type
(&self)
src/parser.rs:91
↓ 2 callers
Method
add_sink
(&mut self)
tangle/src/region.rs:166
↓ 2 callers
Method
constant
(&mut self, c: isize)
lineiform/src/lift.rs:770
↓ 2 callers
Method
constrain_abi_storage
(&mut self, s: &AbiStorage, port: PortIdx)
tangle/src/region.rs:172
↓ 2 callers
Method
edges_row
(&self, region: &Region)
tangle/src/select.rs:478
↓ 2 callers
Method
get_base
It's either this or make everyone use a linker script, which sucks
lineiform/src/tracer.rs:107
↓ 2 callers
Method
get_symbol_from_address
Get symbol containing an address.
lineiform/src/tracer.rs:131
↓ 2 callers
Method
partial_cmp
(&self, other: &Timestamp)
tangle/src/time.rs:57
↓ 2 callers
Method
ports
(&self)
tangle/src/node.rs:226
↓ 2 callers
Method
provide_arguments
this probably has to be something to do with a generic argument that has a Tracable trait
tangle/src/abi.rs:34
↓ 2 callers
Method
provide_returns
(&self, request: Vec<AbiRequest>)
tangle/src/abi.rs:49
↓ 2 callers
Method
regalloc
(&mut self)
tangle/src/ir.rs:148
↓ 2 callers
Method
validate
(&mut self)
tangle/src/ir.rs:187
↓ 1 callers
Method
add
TODO: correct width of operands and output
lineiform/src/lift.rs:778
↓ 1 callers
Method
add_function
(&mut self, f: NodeVariant::Function<A, O>)
tangle/src/ir.rs:111
↓ 1 callers
Method
add_source
(&mut self)
tangle/src/region.rs:160
↓ 1 callers
Method
allocate_physical_for_virtual
(&mut self, virts: &mut VirtualRegisterMap)
tangle/src/region.rs:522
↓ 1 callers
Method
annotate_port_times_and_hints
(&mut self, virts: &mut VirtualRegisterMap)
tangle/src/region.rs:453
↓ 1 callers
Method
apply_constraints
(&mut self)
tangle/src/region.rs:180
↓ 1 callers
Method
attach_ports
Set the node that each port is attached to
tangle/src/region.rs:710
↓ 1 callers
Function
break_here
(a: usize)
lineiform/src/lib.rs:71
↓ 1 callers
Method
codegen
(&mut self)
tangle/src/ir.rs:197
↓ 1 callers
Method
connect_block_params
(&mut self, virts: &mut VirtualRegisterMap, token: &NodeOwner)
tangle/src/region.rs:670
↓ 1 callers
Method
create_dependencies
Using which port is attaached to which node, create edges between nodes denoting dependencies
tangle/src/region.rs:719
↓ 1 callers
Method
create_ports
(&mut self, token: &mut NodeOwner, r: &mut Region)
tangle/src/node.rs:258
↓ 1 callers
Method
create_virtual_registers
Create and populate virtual registers for all ports
tangle/src/region.rs:252
↓ 1 callers
Method
decrement
(mut self)
tangle/src/time.rs:36
↓ 1 callers
Method
deref
(&self)
tangle/src/node.rs:695
↓ 1 callers
Method
dump
(&self)
lineiform/src/lift.rs:235
↓ 1 callers
Method
effective_address
(&mut self, ip: usize, loc: Operand)
lineiform/src/lift.rs:730
↓ 1 callers
Method
emit
(&mut self, ip: usize, inst: &Instruction)
lineiform/src/lift.rs:489
↓ 1 callers
Method
format
(&self, instructions: &Vec<Instruction>)
lineiform/src/tracer.rs:159
↓ 1 callers
Function
generate_closure
(expr: Expr)
lineiform/src/closure.rs:91
↓ 1 callers
Function
get_elf
(buf: &'a [u8])
lineiform/src/tracer.rs:170
↓ 1 callers
Method
get_symbol_from_vaddr
Get symbol for vaddr. The vaddr may be in the middle of a symbol.
lineiform/src/tracer.rs:123
↓ 1 callers
Method
jump_target
(&mut self, op: Operand, ip: usize, ms: Option<u8>)
lineiform/src/lift.rs:669
↓ 1 callers
Method
max
()
tangle/src/port.rs:25
↓ 1 callers
Function
mul_two
(u: Wrapping<usize>)
lineiform/src/tracer.rs:181
↓ 1 callers
Method
new_region
Create a region in this IR instance at the top-most level.
tangle/src/ir.rs:101
↓ 1 callers
Method
observe_state_outputs
(&mut self)
tangle/src/region.rs:434
↓ 1 callers
Method
operand_value
Get the JitValue of an operand, of the correct width; if it can be represented as a JitValue::Const attempt to do so. This function should be used spa
lineiform/src/lift.rs:700
↓ 1 callers
Method
output_count
(&self, token: &NodeOwner)
tangle/src/node.rs:278
↓ 1 callers
Function
parse_expr
We tie them all together again, making a top-level expression parser!
src/parser.rs:295
↓ 1 callers
Method
ports_callback
(&mut self, inputs: Vec<PortIdx>, outputs: Vec<PortIdx>, r: &mut Region)
tangle/src/node.rs:325
↓ 1 callers
Method
propogate_state_edges
(&mut self)
tangle/src/region.rs:408
↓ 1 callers
Method
remove_nops
(&mut self, token: &mut NodeOwner)
tangle/src/region.rs:235
↓ 1 callers
Method
run
(&mut self, token: &NodeOwner, region: &mut Region, virt_map: &mut VirtualRegisterMap)
tangle/src/select.rs:531
↓ 1 callers
Method
set_node
(&mut self, n: NodeIdx)
tangle/src/port.rs:160
↓ 1 callers
Method
shift_stack
Move the stack either up or down N slots. -1 becomes a -4 or -8
lineiform/src/lift.rs:752
↓ 1 callers
Method
translate
Translate a Function into Cranelift IR.
lineiform/src/lift.rs:290
Function
adc
Add with carry
tangle/src/oper.rs:123
Function
add
Get left+right for JitValues. if FLAG is true, then self.context.flags are updated with eflags
tangle/src/oper.rs:87
Function
add_one
(u: Wrapping<usize>)
lineiform/src/tracer.rs:185
Method
add_one
(&self)
tangle/src/time.rs:80
Method
as_variant
(&'a self, token: &'a NodeOwner)
tangle/src/node.rs:201
Method
as_variant_mut
(&'a mut self, token: &'a mut NodeOwner)
tangle/src/node.rs:205
Method
atom
(u: usize)
lineiform/src/closure.rs:8
Method
atom_wrap
(u: parser::Int)
lineiform/src/closure.rs:12
Function
band
(&mut self, mut left: JitTemp, mut right: JitTemp)
tangle/src/oper.rs:335
Method
bb
()
tangle/src/node.rs:740
Method
bcall
()
tangle/src/node.rs:744
Method
bif
()
tangle/src/node.rs:748
Function
bitselect
(&mut self, mut control: JitTemp, mut left: JitTemp, mut right: JitTemp)
tangle/src/oper.rs:454
Function
bnot
(&mut self, val: JitTemp)
tangle/src/oper.rs:508
next →
1–100 of 222, ranked by callers