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
Function
bor
(&mut self, mut left: JitTemp, mut right: JitTemp)
tangle/src/oper.rs:378
Function
bxor
(&mut self, mut left: JitTemp, mut right: JitTemp)
tangle/src/oper.rs:418
Function
c_fn
Rust closures are rust-call calling convention only. This is a problem, since we want to lift them to our IR, and we don't know what registers are "li
lineiform/src/lib.rs:40
Method
call
(&self, args: A)
lineiform/src/lib.rs:78
Method
call_mut
(&mut self, args: A)
lineiform/src/lib.rs:63
Method
call_once
(self, args: A)
lineiform/src/lib.rs:57
Function
can_disassemble_fn
()
lineiform/src/tracer.rs:207
Function
can_find_base
()
lineiform/src/tracer.rs:194
Function
can_resolve_function
()
lineiform/src/tracer.rs:200
Function
check_cond
(&mut self, cond: IntCC)
tangle/src/oper.rs:5
Method
codegen
(&mut self, token: &NodeOwner, region: &mut Region, ops: &mut Assembler)
tangle/src/select.rs:641
Method
codegen
(&self, token: &NodeOwner, inputs: Vec<PortIdx>, outputs: Vec<PortIdx>, r: &mut Region, ir: &mut IR, ops: &mut
tangle/src/node.rs:185
Method
codegen
(&self, token: &NodeOwner, inputs: Vec<PortIdx>, outputs: Vec<PortIdx>, r: &mut Region, ir: &mut IR, ops: &mut
tangle/src/node.rs:282
Method
codegen
(&mut self, token: &NodeOwner, ir: &mut IR, ops: &mut Assembler)
tangle/src/region.rs:743
Function
compile_expr
(src: &str)
lineiform/src/closure.rs:85
Method
connect_operands
(&mut self, input: usize, output: usize, r: &mut Region)
tangle/src/node.rs:252
Method
constant
(n: isize)
tangle/src/node.rs:718
Method
create_ports
(&self, r: &mut Region)
tangle/src/node.rs:179
Function
decode_stream
(data: U)
tangle/src/ir.rs:34
Function
decode_stream
(data: U)
lineiform/src/tracer.rs:5
Method
deref
(&self)
tangle/src/port.rs:72
Method
deref_mut
(&mut self)
tangle/src/node.rs:701
Method
eq
(&self, other: &RefEquality<Rc<T>>)
tangle/src/select.rs:130
Function
external_function
(a: usize)
tangle/src/ir.rs:752
Method
fmt
(&self, fmt: &mut Formatter<'_>)
tangle/src/time.rs:93
Method
fmt
(&self, fmt: &mut core::fmt::Formatter<'_>)
tangle/src/port.rs:31
Method
fmt
(&self, fmt: &mut core::fmt::Formatter<'_>)
tangle/src/node.rs:34
Method
fmt
(&self, fmt: &mut std::fmt::Formatter<'_>)
src/parser.rs:105
Method
function
id like for this to just take an ABI parameter but rust deprececated default generic arguments for functions :/
tangle/src/node.rs:732
Function
function_add_codegen
()
tangle/src/ir.rs:300
Function
function_add_constant
()
tangle/src/ir.rs:419
Function
function_bb_if_always_0
()
tangle/src/ir.rs:488
Function
function_bb_if_always_1
()
tangle/src/ir.rs:546
Function
function_bb_simple
()
tangle/src/ir.rs:444
Function
function_inc
()
tangle/src/ir.rs:254
Function
function_inc_a_lot
()
tangle/src/ir.rs:393
Function
function_inc_codegen
()
tangle/src/ir.rs:284
Function
function_inc_disjoint
()
tangle/src/ir.rs:318
Function
function_inc_regalloc
()
tangle/src/ir.rs:268
Function
function_inc_shared
()
tangle/src/ir.rs:369
Function
function_inc_then_add
()
tangle/src/ir.rs:342
Function
function_stack_ordering
()
tangle/src/ir.rs:676
Function
function_tailcall_external
()
tangle/src/ir.rs:746
Function
function_tailcall_with_shuffle
()
tangle/src/ir.rs:773
Function
function_use_stack
()
tangle/src/ir.rs:618
Method
get_meta
(&'this self)
tangle/src/port.rs:149
Function
get_ptr_from_closure
(f: &T)
lineiform/src/closure.rs:53
Method
get_time
(&self)
tangle/src/node.rs:175
Method
get_time
(&self)
tangle/src/node.rs:214
Method
hash
(&self, state: &mut H)
tangle/src/select.rs:112
Method
index
(&self)
tangle/src/port.rs:21
Method
index
(&self)
tangle/src/node.rs:24
Method
input_count
(&self)
tangle/src/node.rs:192
Method
is_imm
(&self)
lineiform/src/lift.rs:49
Method
join
(self, other: Self)
tangle/src/select.rs:177
Method
leave
()
tangle/src/node.rs:736
Function
main
()
src/main.rs:47
Method
max
()
tangle/src/node.rs:28
Method
meet
(self, other: Self)
tangle/src/select.rs:174
Method
new
()
tangle/src/time.rs:20
Method
new
(x: usize)
tangle/src/port.rs:17
Method
new
(x: usize)
tangle/src/node.rs:20
Method
new
()
tangle/src/ir.rs:87
Method
new
()
tangle/src/region.rs:117
Method
new
()
lineiform/src/closure.rs:36
Method
new
()
lineiform/src/lib.rs:96
Method
new
()
lineiform/src/lift.rs:209
Method
new
this should be a lazy_static
lineiform/src/tracer.rs:91
Method
new
(tracer: &mut Tracer, f: *const ())
lineiform/src/block.rs:48
Function
operation
(token: &RefEquality<&NodeOwner>, n: &RefEquality<Rc<NodeCell>>, op: Operation)
tangle/src/select.rs:195
Method
optimize
(&mut self)
tangle/src/ir.rs:144
Method
output_count
(&self)
tangle/src/node.rs:195
Function
parse_application
We can now use our new combinator to define the rest of the `Expr`s. Starting with function application, we can see how the parser mirrors our data d
src/parser.rs:237
Function
parse_atom
Now we take all these simple parsers and connect them. We can now parse half of our language!
src/parser.rs:196
Function
parse_bool
Our boolean values are also constant, so we can do it the same way
src/parser.rs:166
Function
parse_builtin
(i: &'a str)
src/parser.rs:154
Function
parse_builtin_op
Continuing the trend of starting from the simplest piece and building up, we start by creating a parser for the built-in operator functions.
src/parser.rs:133
Function
parse_constant
We then add the Expr layer on top
src/parser.rs:206
Function
parse_if
Because `Expr::If` and `Expr::IfElse` are so similar (we easily could have defined `Expr::If` to have an `Option` for the else block), we parse both i
src/parser.rs:251
Function
parse_keyword
The next easiest thing to parse are keywords. We introduce some error handling combinators: `context` for human readable errors and `cut` to prevent b
src/parser.rs:179
Function
parse_num
Next up is number parsing. We're keeping it simple here by accepting any number (> 1) of digits but ending the program if it doesn't fit into an i32.
src/parser.rs:188
Function
parse_quote
A quoted S-expression is list data structure. This example doesn't have the symbol atom, but by adding variables and changing the definition of quote
src/parser.rs:283
Method
ports_callback
(&mut self, inputs: Vec<PortIdx>, outputs: Vec<PortIdx>, r: &mut Region)
tangle/src/node.rs:182
Method
print
(&self)
tangle/src/ir.rs:234
Method
r#move
(sink: Storage, source: Storage)
tangle/src/node.rs:726
Method
replace_virtual_with_backing
(&mut self, virts: &mut VirtualRegisterMap)
tangle/src/region.rs:662
Function
sbb
Sub with borrow
tangle/src/oper.rs:266
Method
set_meta
(&'this mut self, meta_val: K)
tangle/src/port.rs:131
Method
set_time
(&mut self, time: Timestamp)
tangle/src/node.rs:172
Method
set_time
(&mut self, time: Timestamp)
tangle/src/node.rs:211
Method
simple
(op: Operation)
tangle/src/node.rs:722
Function
simple_function
()
tangle/src/ir.rs:248
Function
something
()
lineiform/src/marker.rs:5
Function
sub
(&mut self, left: JitTemp, right: JitTemp)
tangle/src/oper.rs:223
Method
sub_one
(&self)
tangle/src/time.rs:85
Method
tag
(&self)
tangle/src/node.rs:310
Function
test
(a: Wrapping<usize>, b: Wrapping<usize>)
src/main.rs:109
Function
test_can_optimize_closure
()
src/main.rs:187
Function
test_can_optimize_two_closures
()
src/main.rs:198
Function
test_can_pin_argument
()
src/main.rs:166
← previous
next →
101–200 of 222, ranked by callers