-
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
|