Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_WASM_OPCODES_H_ | 5 #ifndef V8_WASM_OPCODES_H_ |
| 6 #define V8_WASM_OPCODES_H_ | 6 #define V8_WASM_OPCODES_H_ |
| 7 | 7 |
| 8 #include "src/machine-type.h" | 8 #include "src/machine-type.h" |
| 9 #include "src/signature.h" | 9 #include "src/signature.h" |
| 10 | 10 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 42 const LocalType kAstI32 = MachineRepresentation::kWord32; | 42 const LocalType kAstI32 = MachineRepresentation::kWord32; |
| 43 const LocalType kAstI64 = MachineRepresentation::kWord64; | 43 const LocalType kAstI64 = MachineRepresentation::kWord64; |
| 44 const LocalType kAstF32 = MachineRepresentation::kFloat32; | 44 const LocalType kAstF32 = MachineRepresentation::kFloat32; |
| 45 const LocalType kAstF64 = MachineRepresentation::kFloat64; | 45 const LocalType kAstF64 = MachineRepresentation::kFloat64; |
| 46 // We use kTagged here because kNone is already used by kAstStmt. | 46 // We use kTagged here because kNone is already used by kAstStmt. |
| 47 const LocalType kAstEnd = MachineRepresentation::kTagged; | 47 const LocalType kAstEnd = MachineRepresentation::kTagged; |
| 48 | 48 |
| 49 typedef Signature<LocalType> FunctionSig; | 49 typedef Signature<LocalType> FunctionSig; |
| 50 std::ostream& operator<<(std::ostream& os, const FunctionSig& function); | 50 std::ostream& operator<<(std::ostream& os, const FunctionSig& function); |
| 51 | 51 |
| 52 struct WasmName { | |
|
titzer
2016/04/22 13:35:20
You could as well introduce a typedef to keep the
| |
| 53 const char* name; | |
| 54 uint32_t length; | |
| 55 // TODO(clemensh): Remove whole WasmName, replace by Vector<const char> | |
| 56 inline Vector<const char> toVec() const { | |
| 57 return Vector<const char>(name, length); | |
| 58 } | |
| 59 }; | |
| 60 | |
| 61 // TODO(titzer): Renumber all the opcodes to fill in holes. | 52 // TODO(titzer): Renumber all the opcodes to fill in holes. |
| 62 | 53 |
| 63 // Control expressions and blocks. | 54 // Control expressions and blocks. |
| 64 #define FOREACH_CONTROL_OPCODE(V) \ | 55 #define FOREACH_CONTROL_OPCODE(V) \ |
| 65 V(Nop, 0x00, _) \ | 56 V(Nop, 0x00, _) \ |
| 66 V(Block, 0x01, _) \ | 57 V(Block, 0x01, _) \ |
| 67 V(Loop, 0x02, _) \ | 58 V(Loop, 0x02, _) \ |
| 68 V(If, 0x03, _) \ | 59 V(If, 0x03, _) \ |
| 69 V(IfElse, 0x04, _) \ | 60 V(IfElse, 0x04, _) \ |
| 70 V(Select, 0x05, _) \ | 61 V(Select, 0x05, _) \ |
| (...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 538 default: | 529 default: |
| 539 return "<unknown>"; | 530 return "<unknown>"; |
| 540 } | 531 } |
| 541 } | 532 } |
| 542 }; | 533 }; |
| 543 } // namespace wasm | 534 } // namespace wasm |
| 544 } // namespace internal | 535 } // namespace internal |
| 545 } // namespace v8 | 536 } // namespace v8 |
| 546 | 537 |
| 547 #endif // V8_WASM_OPCODES_H_ | 538 #endif // V8_WASM_OPCODES_H_ |
| OLD | NEW |