| Index: src/wasm/wasm-opcodes.h
 | 
| diff --git a/src/wasm/wasm-opcodes.h b/src/wasm/wasm-opcodes.h
 | 
| index 52f85aab0a61c367225a4e5bde1cffeab14bf540..1a3aa9cf2a3610b69ed358c957e14a2dabece652 100644
 | 
| --- a/src/wasm/wasm-opcodes.h
 | 
| +++ b/src/wasm/wasm-opcodes.h
 | 
| @@ -330,16 +330,21 @@ enum WasmOpcode {
 | 
|  };
 | 
|  
 | 
|  // The reason for a trap.
 | 
| +#define FOREACH_WASM_TRAPREASON(V) \
 | 
| +  V(TrapUnreachable)          \
 | 
| +  V(TrapMemOutOfBounds)       \
 | 
| +  V(TrapDivByZero)            \
 | 
| +  V(TrapDivUnrepresentable)   \
 | 
| +  V(TrapRemByZero)            \
 | 
| +  V(TrapFloatUnrepresentable) \
 | 
| +  V(TrapFuncInvalid)          \
 | 
| +  V(TrapFuncSigMismatch)
 | 
| +
 | 
|  enum TrapReason {
 | 
| -  kTrapUnreachable,
 | 
| -  kTrapMemOutOfBounds,
 | 
| -  kTrapDivByZero,
 | 
| -  kTrapDivUnrepresentable,
 | 
| -  kTrapRemByZero,
 | 
| -  kTrapFloatUnrepresentable,
 | 
| -  kTrapFuncInvalid,
 | 
| -  kTrapFuncSigMismatch,
 | 
| +#define DECLARE_ENUM(name) k##name,
 | 
| +  FOREACH_WASM_TRAPREASON(DECLARE_ENUM)
 | 
|    kTrapCount
 | 
| +#undef DECLARE_ENUM
 | 
|  };
 | 
|  
 | 
|  // A collection of opcode-related static methods.
 | 
| @@ -349,6 +354,9 @@ class WasmOpcodes {
 | 
|    static const char* OpcodeName(WasmOpcode opcode);
 | 
|    static FunctionSig* Signature(WasmOpcode opcode);
 | 
|  
 | 
| +  static int TrapReasonToMessageId(TrapReason reason);
 | 
| +  static const char* TrapReasonMessage(TrapReason reason);
 | 
| +
 | 
|    static byte MemSize(MachineType type) {
 | 
|      return 1 << ElementSizeLog2Of(type.representation());
 | 
|    }
 | 
| @@ -508,29 +516,6 @@ class WasmOpcodes {
 | 
|          return "<unknown>";
 | 
|      }
 | 
|    }
 | 
| -
 | 
| -  static const char* TrapReasonName(TrapReason reason) {
 | 
| -    switch (reason) {
 | 
| -      case kTrapUnreachable:
 | 
| -        return "unreachable";
 | 
| -      case kTrapMemOutOfBounds:
 | 
| -        return "memory access out of bounds";
 | 
| -      case kTrapDivByZero:
 | 
| -        return "divide by zero";
 | 
| -      case kTrapDivUnrepresentable:
 | 
| -        return "divide result unrepresentable";
 | 
| -      case kTrapRemByZero:
 | 
| -        return "remainder by zero";
 | 
| -      case kTrapFloatUnrepresentable:
 | 
| -        return "integer result unrepresentable";
 | 
| -      case kTrapFuncInvalid:
 | 
| -        return "invalid function";
 | 
| -      case kTrapFuncSigMismatch:
 | 
| -        return "function signature mismatch";
 | 
| -      default:
 | 
| -        return "<?>";
 | 
| -    }
 | 
| -  }
 | 
|  };
 | 
|  }  // namespace wasm
 | 
|  }  // namespace internal
 | 
| 
 |