-
Notifications
You must be signed in to change notification settings - Fork 34
方舟IR节点类词典
Xuan Wu edited this page Sep 10, 2019
·
10 revisions
| 英文 | 中文 | 参考 |
|---|---|---|
| 前缀 D- = | 直接 | direct |
| I- | 间接 | indirect |
| opcode | 操作符 | |
| goto | 跳转 | |
| label | 标记 | |
| addof | 取址 | |
| call | 调用 | |
| bit | 比特 | |
| const | 常量 | |
| FP | 帧址 | frame pointer |
| intrinsic | ?? | indicates an intrinsic function that has no side effect whose return value depends only on the arguments (a pure function) |
| Nary | ?? |
| 英文 | 中文 | 对应操作(空则与英文命名去掉Node相同) | 注 |
|---|---|---|---|
| 存储存取声明(Notmmpl?) | |||
| DassignNode | 直接赋值节点类 | dassign, maydassign | |
| IassignNode | 间接赋值节点类 | ||
| hierarchical控制流操作符 | |||
| BlockNode | 块节点类 | ||
| DoloopNode | 循环节点类 | ||
| WhileStmtNode | While声明节点类 | dowhile, while | |
| IfStmtNode | If声明节点类 | if | |
| SwitchNode | Switch节点类 | ||
| MultiwayNode | 多路节点类 | ||
| ForeachelemNode | 遍历元素节点类 | ||
| 其他操作符 | |||
| CommentNode | 注释节点类 | ||
| UnaryStmtNode | 一元声明节点类 | eval, free, assertnonnull | |
| BinaryStmtNode | 二元声明节点类 | assertge, assertlt | |
| 表达式(Notmmpl?) | |||
| 存储存取操作符 | |||
| AddrofNode | 取址节点类 | dread, addrof | |
| IreadNode | 间接读取节点类 | iread, iaddrof | |
| SizeoftypeNode | 类型大小节点类 | ||
| FieldsDistNode | 文档缺失 | ||
| N元表达式操作符 | |||
| ArrayNode | 数组节点类 | ||
| 声明 | |||
| 存储存取操作符 | |||
| IassignoffNode | 带偏移间接赋值节点类 | ||
| IassignFPoffNode | 帧址带偏移间接赋值节点类 | ||
| RegassignNode | 寄存器赋值节点类 | ||
| 扁平控制流操作符 | |||
| GotoNode | 跳转节点类 | ||
| CondGotoNode | 条件跳转节点类 | brfalse, brtrue | |
| NaryStmtNode | ?? | return | |
| RangegotoNode | 范围跳转节点类 | "range" -- "There must be no gap in the constant integer values specified, and a match is guaranteed within the range of specified constant integer values" | |
| 调用操作符 | |||
| CallNode | 调用节点类 | call, virtualcall, superclasscall, interfacecall, customcall, polymorphiccall, interfaceicall, virtualicall, callassigned, virtualcallassigned, superclasscallassigned, interfacecallassigned, customcallassigned, polymorphiccallassigned, interfaceicallassigned, virtualicallassigned | |
| ICallNode | 间接调用节点类 | icall, icallassigned | |
| IntrinsiccallNode | ?? | intrinsiccall, intrinsiccallwithtype, xintrinsiccall,intrinsiccallassigned, intrinsiccallwithtypeassigned, xintrinsiccallassigned | |
| 带普适实例化调用操作符 | |||
| CallinstantNode | 实例化调用节点类 | callinstant, callinstantassigned, virtualcallinstant, virtualcallinstantassigned, superclasscallinstant, superclasscallinstantassigned, interfacecallinstant, interfacecallinstantassigned | |
| 异常处理 | |||
| JsTryNode | 文档缺失 | ||
| TryNode | Try节点类 | ||
| UnaryStmtNode | 一元声明节点类 | throw | |
| BaseNode | 基础节点类 | jscatch | |
| CatchNode | Catch节点类 | ||
| StmtNode | 声明节点类(编译有误 "undefined reference to", 暂不重命名) | finally, cleanuptry, endtry, retsub | |
| GotoNode | 跳转节点类 | gosub | |
| 同步 | |||
| NaryStmtNode | ?? | syncenter, syncexit | |
| UnaryStmtNode | 一元声明节点类 | decref, incref, decrefreset | |
| 路障(?barriers) | |||
| StmtNode | [见上] | membaracquire, membarrelease, membarstoreload, membarstorestore | |
| 其他操作符 | |||
| LabelNode | 标记节点类 | ||
| 表达式 | |||
| 存储存取指令 | |||
| IreadoffNode | 带偏移间接读取节点类 | ||
| IreadFPoffNode | 帧址带偏移间接读取节点类 | ||
| RegreadNode | 寄存器读取节点类 | ||
| 叶(?leaf)操作符 | |||
| AddroffuncNode | 函数取址节点类 | ||
| AddroflabelNode | 标记取址节点类 | ||
| ConstvalNode | 常量值节点类 | ||
| ConststrNode | 常量字符串节点类 | ||
| Conststr16Node | 常量16字符串节点类 | ||
| 类型转换相关 | |||
| RetypeNode | 类型重置节点类 | retype | |
| TypeCvtNode | 类型转换节点类 | ceil, cvt, floor, round, trunc | |
| 一元表达操作 | |||
| UnaryNode | 一元节点类 | abs, bnot, lnot, neg, recip, sqrt, alloca, malloc | |
| ExtractbitsNode | 比特提取节点类 | sext, zext | |
| GCMallocNode | 自动回收内存分配节点类 | gcmalloc, gcpermalloc | |
| JarrayMallocNode | Java数组内存分配节点类 | gcmallocjarray, gcpermallocjarray | |
| ResolveFuncNode | 文档缺失 | resolveinterfacefunc, resolvevirtualfunc | |
| 二元表达操作 | |||
| BinaryNode | 二元节点类 | add, sub, mul, div, rem, asr, lshr, shl, max, min, band, bior, bxor, CG_array_elem_add, land, lior, cand, cior | |
| CompareNode | 比较节点类 | eq, ge, gt, le, lt, ne, cmp, cmpl, cmpg | |
| 三元表达操作 | |||
| TernaryNode | 三元节点类 | select | |
| N元表达式操作符 | |||
| IntrinsicopNode | ?? | intrinsicop, intrinsicopwithtype | |
| 其他表达式操作符 | |||
| ExtractbitsNode | 比特提取节点类 | ||
| DepositbitsNode | 比特放置节点类 | ||
不在opcodes.def中的其他节点类 |
|||
| DreadNode | 直接读取节点类, 等价于AddrofNode
|