| OLD | NEW |
| (Empty) |
| 1 # Kinds of nodes that can appear in the operand vector | |
| 2 # Each line defines a separate type of expr node. | |
| 3 | |
| 4 # Unknown expression (typically denotes a problem). | |
| 5 UndefinedExp | |
| 6 # A register. Value is the corresponding OperandKind defining the | |
| 7 # register. | |
| 8 ExprRegister | |
| 9 # An operand. Value is the index of the operand for the corresponding | |
| 10 # opcode. Has one kid, which is the root of the translated operand. | |
| 11 OperandReference | |
| 12 # A constant. Value is the value of the constant. | |
| 13 ExprConstant | |
| 14 # A segment address. | |
| 15 ExprSegmentAddress | |
| 16 # A memory offset. Value is zero. Has four kids: base, index, | |
| 17 # scale and disp, where the memory offset is: | |
| 18 # base + index(or undefined) * scale + disp | |
| 19 ExprMemOffset | |
| 20 # The argument isn't translated, but doesn't matter because | |
| 21 # the instruction is not NaCl legal. | |
| 22 ExprNaClIllegal | |
| OLD | NEW |