MCPcopy Create free account

hub / github.com/chc4/lineiform / functions

Functions222 in github.com/chc4/lineiform

Functionbor
(&mut self, mut left: JitTemp, mut right: JitTemp)
tangle/src/oper.rs:378
Functionbxor
(&mut self, mut left: JitTemp, mut right: JitTemp)
tangle/src/oper.rs:418
Functionc_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
Methodcall
(&self, args: A)
lineiform/src/lib.rs:78
Methodcall_mut
(&mut self, args: A)
lineiform/src/lib.rs:63
Methodcall_once
(self, args: A)
lineiform/src/lib.rs:57
Functioncan_disassemble_fn
()
lineiform/src/tracer.rs:207
Functioncan_find_base
()
lineiform/src/tracer.rs:194
Functioncan_resolve_function
()
lineiform/src/tracer.rs:200
Functioncheck_cond
(&mut self, cond: IntCC)
tangle/src/oper.rs:5
Methodcodegen
(&mut self, token: &NodeOwner, region: &mut Region, ops: &mut Assembler)
tangle/src/select.rs:641
Methodcodegen
(&self, token: &NodeOwner, inputs: Vec<PortIdx>, outputs: Vec<PortIdx>, r: &mut Region, ir: &mut IR, ops: &mut
tangle/src/node.rs:185
Methodcodegen
(&self, token: &NodeOwner, inputs: Vec<PortIdx>, outputs: Vec<PortIdx>, r: &mut Region, ir: &mut IR, ops: &mut
tangle/src/node.rs:282
Methodcodegen
(&mut self, token: &NodeOwner, ir: &mut IR, ops: &mut Assembler)
tangle/src/region.rs:743
Functioncompile_expr
(src: &str)
lineiform/src/closure.rs:85
Methodconnect_operands
(&mut self, input: usize, output: usize, r: &mut Region)
tangle/src/node.rs:252
Methodconstant
(n: isize)
tangle/src/node.rs:718
Methodcreate_ports
(&self, r: &mut Region)
tangle/src/node.rs:179
Functiondecode_stream
(data: U)
tangle/src/ir.rs:34
Functiondecode_stream
(data: U)
lineiform/src/tracer.rs:5
Methodderef
(&self)
tangle/src/port.rs:72
Methodderef_mut
(&mut self)
tangle/src/node.rs:701
Methodeq
(&self, other: &RefEquality<Rc<T>>)
tangle/src/select.rs:130
Functionexternal_function
(a: usize)
tangle/src/ir.rs:752
Methodfmt
(&self, fmt: &mut Formatter<'_>)
tangle/src/time.rs:93
Methodfmt
(&self, fmt: &mut core::fmt::Formatter<'_>)
tangle/src/port.rs:31
Methodfmt
(&self, fmt: &mut core::fmt::Formatter<'_>)
tangle/src/node.rs:34
Methodfmt
(&self, fmt: &mut std::fmt::Formatter<'_>)
src/parser.rs:105
Methodfunction
id like for this to just take an ABI parameter but rust deprececated default generic arguments for functions :/
tangle/src/node.rs:732
Functionfunction_add_codegen
()
tangle/src/ir.rs:300
Functionfunction_add_constant
()
tangle/src/ir.rs:419
Functionfunction_bb_if_always_0
()
tangle/src/ir.rs:488
Functionfunction_bb_if_always_1
()
tangle/src/ir.rs:546
Functionfunction_bb_simple
()
tangle/src/ir.rs:444
Functionfunction_inc
()
tangle/src/ir.rs:254
Functionfunction_inc_a_lot
()
tangle/src/ir.rs:393
Functionfunction_inc_codegen
()
tangle/src/ir.rs:284
Functionfunction_inc_disjoint
()
tangle/src/ir.rs:318
Functionfunction_inc_regalloc
()
tangle/src/ir.rs:268
Functionfunction_inc_shared
()
tangle/src/ir.rs:369
Functionfunction_inc_then_add
()
tangle/src/ir.rs:342
Functionfunction_stack_ordering
()
tangle/src/ir.rs:676
Functionfunction_tailcall_external
()
tangle/src/ir.rs:746
Functionfunction_tailcall_with_shuffle
()
tangle/src/ir.rs:773
Functionfunction_use_stack
()
tangle/src/ir.rs:618
Methodget_meta
(&'this self)
tangle/src/port.rs:149
Functionget_ptr_from_closure
(f: &T)
lineiform/src/closure.rs:53
Methodget_time
(&self)
tangle/src/node.rs:175
Methodget_time
(&self)
tangle/src/node.rs:214
Methodhash
(&self, state: &mut H)
tangle/src/select.rs:112
Methodindex
(&self)
tangle/src/port.rs:21
Methodindex
(&self)
tangle/src/node.rs:24
Methodinput_count
(&self)
tangle/src/node.rs:192
Methodis_imm
(&self)
lineiform/src/lift.rs:49
Methodjoin
(self, other: Self)
tangle/src/select.rs:177
Methodleave
()
tangle/src/node.rs:736
Functionmain
()
src/main.rs:47
Methodmax
()
tangle/src/node.rs:28
Methodmeet
(self, other: Self)
tangle/src/select.rs:174
Methodnew
()
tangle/src/time.rs:20
Methodnew
(x: usize)
tangle/src/port.rs:17
Methodnew
(x: usize)
tangle/src/node.rs:20
Methodnew
()
tangle/src/ir.rs:87
Methodnew
()
tangle/src/region.rs:117
Methodnew
()
lineiform/src/closure.rs:36
Methodnew
()
lineiform/src/lib.rs:96
Methodnew
()
lineiform/src/lift.rs:209
Methodnew
this should be a lazy_static
lineiform/src/tracer.rs:91
Methodnew
(tracer: &mut Tracer, f: *const ())
lineiform/src/block.rs:48
Functionoperation
(token: &RefEquality<&NodeOwner>, n: &RefEquality<Rc<NodeCell>>, op: Operation)
tangle/src/select.rs:195
Methodoptimize
(&mut self)
tangle/src/ir.rs:144
Methodoutput_count
(&self)
tangle/src/node.rs:195
Functionparse_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
Functionparse_atom
Now we take all these simple parsers and connect them. We can now parse half of our language!
src/parser.rs:196
Functionparse_bool
Our boolean values are also constant, so we can do it the same way
src/parser.rs:166
Functionparse_builtin
(i: &'a str)
src/parser.rs:154
Functionparse_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
Functionparse_constant
We then add the Expr layer on top
src/parser.rs:206
Functionparse_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
Functionparse_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
Functionparse_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
Functionparse_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
Methodports_callback
(&mut self, inputs: Vec<PortIdx>, outputs: Vec<PortIdx>, r: &mut Region)
tangle/src/node.rs:182
Methodprint
(&self)
tangle/src/ir.rs:234
Methodr#move
(sink: Storage, source: Storage)
tangle/src/node.rs:726
Methodreplace_virtual_with_backing
(&mut self, virts: &mut VirtualRegisterMap)
tangle/src/region.rs:662
Functionsbb
Sub with borrow
tangle/src/oper.rs:266
Methodset_meta
(&'this mut self, meta_val: K)
tangle/src/port.rs:131
Methodset_time
(&mut self, time: Timestamp)
tangle/src/node.rs:172
Methodset_time
(&mut self, time: Timestamp)
tangle/src/node.rs:211
Methodsimple
(op: Operation)
tangle/src/node.rs:722
Functionsimple_function
()
tangle/src/ir.rs:248
Functionsomething
()
lineiform/src/marker.rs:5
Functionsub
(&mut self, left: JitTemp, right: JitTemp)
tangle/src/oper.rs:223
Methodsub_one
(&self)
tangle/src/time.rs:85
Methodtag
(&self)
tangle/src/node.rs:310
Functiontest
(a: Wrapping<usize>, b: Wrapping<usize>)
src/main.rs:109
Functiontest_can_optimize_closure
()
src/main.rs:187
Functiontest_can_optimize_two_closures
()
src/main.rs:198
Functiontest_can_pin_argument
()
src/main.rs:166
← previousnext →101–200 of 222, ranked by callers