Merge pull request #104 from gahaas/fix-machine-type

Adjustments due to changes of MachineType in V8.
diff --git a/src/wasm/asm-wasm-builder.cc b/src/wasm/asm-wasm-builder.cc
index 4822d04..88ec408 100644
--- a/src/wasm/asm-wasm-builder.cc
+++ b/src/wasm/asm-wasm-builder.cc
@@ -403,31 +403,31 @@
     MachineType mtype;
     int size;
     if (type->Is(cache_.kUint8Array)) {
-      mtype = kMachUint8;
+      mtype = MachineType::Uint8();
       size = 1;
     } else if (type->Is(cache_.kInt8Array)) {
-      mtype = kMachInt8;
+      mtype = MachineType::Int8();
       size = 1;
     } else if (type->Is(cache_.kUint16Array)) {
-      mtype = kMachUint16;
+      mtype = MachineType::Uint16();
       size = 2;
     } else if (type->Is(cache_.kInt16Array)) {
-      mtype = kMachInt16;
+      mtype = MachineType::Int16();
       size = 2;
     } else if (type->Is(cache_.kUint32Array)) {
-      mtype = kMachUint32;
+      mtype = MachineType::Uint32();
       size = 4;
     } else if (type->Is(cache_.kInt32Array)) {
-      mtype = kMachInt32;
+      mtype = MachineType::Int32();
       size = 4;
     } else if (type->Is(cache_.kUint32Array)) {
-      mtype = kMachUint32;
+      mtype = MachineType::Uint32();
       size = 4;
     } else if (type->Is(cache_.kFloat32Array)) {
-      mtype = kMachFloat32;
+      mtype = MachineType::Float32();
       size = 4;
     } else if (type->Is(cache_.kFloat64Array)) {
-      mtype = kMachFloat64;
+      mtype = MachineType::Float64();
       size = 8;
     } else {
       UNREACHABLE();
@@ -855,7 +855,8 @@
     ZoneHashMap::Entry* entry =
         global_variables_.Lookup(v, ComputePointerHash(v));
     if (entry == NULL) {
-      uint16_t index = builder_->AddGlobal(type, 0);
+      uint16_t index =
+        builder_->AddGlobal(WasmOpcodes::MachineTypeFor(type), 0);
       IndexContainer* container = new (zone()) IndexContainer();
       container->index = index;
       entry = global_variables_.LookupOrInsert(v, ComputePointerHash(v),
diff --git a/src/wasm/ast-decoder.cc b/src/wasm/ast-decoder.cc
index 0ea91ea..c2541d1 100644
--- a/src/wasm/ast-decoder.cc
+++ b/src/wasm/ast-decoder.cc
@@ -918,58 +918,58 @@
       }
 
       case kExprI32LoadMem8S:
-        return ReduceLoadMem(p, kAstI32, kMachInt8);
+        return ReduceLoadMem(p, kAstI32, MachineType::Int8());
       case kExprI32LoadMem8U:
-        return ReduceLoadMem(p, kAstI32, kMachUint8);
+        return ReduceLoadMem(p, kAstI32, MachineType::Uint8());
       case kExprI32LoadMem16S:
-        return ReduceLoadMem(p, kAstI32, kMachInt16);
+        return ReduceLoadMem(p, kAstI32, MachineType::Int16());
       case kExprI32LoadMem16U:
-        return ReduceLoadMem(p, kAstI32, kMachUint16);
+        return ReduceLoadMem(p, kAstI32, MachineType::Uint16());
       case kExprI32LoadMem:
-        return ReduceLoadMem(p, kAstI32, kMachInt32);
+        return ReduceLoadMem(p, kAstI32, MachineType::Int32());
 
       case kExprI64LoadMem8S:
-        return ReduceLoadMem(p, kAstI64, kMachInt8);
+        return ReduceLoadMem(p, kAstI64, MachineType::Int8());
       case kExprI64LoadMem8U:
-        return ReduceLoadMem(p, kAstI64, kMachUint8);
+        return ReduceLoadMem(p, kAstI64, MachineType::Uint8());
       case kExprI64LoadMem16S:
-        return ReduceLoadMem(p, kAstI64, kMachInt16);
+        return ReduceLoadMem(p, kAstI64, MachineType::Int16());
       case kExprI64LoadMem16U:
-        return ReduceLoadMem(p, kAstI64, kMachUint16);
+        return ReduceLoadMem(p, kAstI64, MachineType::Uint16());
       case kExprI64LoadMem32S:
-        return ReduceLoadMem(p, kAstI64, kMachInt32);
+        return ReduceLoadMem(p, kAstI64, MachineType::Int32());
       case kExprI64LoadMem32U:
-        return ReduceLoadMem(p, kAstI64, kMachUint32);
+        return ReduceLoadMem(p, kAstI64, MachineType::Uint32());
       case kExprI64LoadMem:
-        return ReduceLoadMem(p, kAstI64, kMachInt64);
+        return ReduceLoadMem(p, kAstI64, MachineType::Int64());
 
       case kExprF32LoadMem:
-        return ReduceLoadMem(p, kAstF32, kMachFloat32);
+        return ReduceLoadMem(p, kAstF32, MachineType::Float32());
 
       case kExprF64LoadMem:
-        return ReduceLoadMem(p, kAstF64, kMachFloat64);
+        return ReduceLoadMem(p, kAstF64, MachineType::Float64());
 
       case kExprI32StoreMem8:
-        return ReduceStoreMem(p, kAstI32, kMachInt8);
+        return ReduceStoreMem(p, kAstI32, MachineType::Int8());
       case kExprI32StoreMem16:
-        return ReduceStoreMem(p, kAstI32, kMachInt16);
+        return ReduceStoreMem(p, kAstI32, MachineType::Int16());
       case kExprI32StoreMem:
-        return ReduceStoreMem(p, kAstI32, kMachInt32);
+        return ReduceStoreMem(p, kAstI32, MachineType::Int32());
 
       case kExprI64StoreMem8:
-        return ReduceStoreMem(p, kAstI64, kMachInt8);
+        return ReduceStoreMem(p, kAstI64, MachineType::Int8());
       case kExprI64StoreMem16:
-        return ReduceStoreMem(p, kAstI64, kMachInt16);
+        return ReduceStoreMem(p, kAstI64, MachineType::Int16());
       case kExprI64StoreMem32:
-        return ReduceStoreMem(p, kAstI64, kMachInt32);
+        return ReduceStoreMem(p, kAstI64, MachineType::Int32());
       case kExprI64StoreMem:
-        return ReduceStoreMem(p, kAstI64, kMachInt64);
+        return ReduceStoreMem(p, kAstI64, MachineType::Int64());
 
       case kExprF32StoreMem:
-        return ReduceStoreMem(p, kAstF32, kMachFloat32);
+        return ReduceStoreMem(p, kAstF32, MachineType::Float32());
 
       case kExprF64StoreMem:
-        return ReduceStoreMem(p, kAstF64, kMachFloat64);
+        return ReduceStoreMem(p, kAstF64, MachineType::Float64());
 
       case kExprGrowMemory:
         TypeCheckLast(p, kAstI32);
diff --git a/src/wasm/module-decoder.cc b/src/wasm/module-decoder.cc
index eef8d71..9c6d40a 100644
--- a/src/wasm/module-decoder.cc
+++ b/src/wasm/module-decoder.cc
@@ -139,7 +139,7 @@
             if (failed()) break;
             TRACE("DecodeGlobal[%d] module+%d\n", i,
                   static_cast<int>(pc_ - start_));
-            module->globals->push_back({0, kMachInt32, 0, false});
+            module->globals->push_back({0, MachineType::Int32(), 0, false});
             WasmGlobal* global = &module->globals->back();
             DecodeGlobalInModule(global);
           }
@@ -425,28 +425,28 @@
     MemTypeCode t = static_cast<MemTypeCode>(val);
     switch (t) {
       case kMemI8:
-        return kMachInt8;
+        return MachineType::Int8();
       case kMemU8:
-        return kMachUint8;
+        return MachineType::Uint8();
       case kMemI16:
-        return kMachInt16;
+        return MachineType::Int16();
       case kMemU16:
-        return kMachUint16;
+        return MachineType::Uint16();
       case kMemI32:
-        return kMachInt32;
+        return MachineType::Int32();
       case kMemU32:
-        return kMachUint32;
+        return MachineType::Uint32();
       case kMemI64:
-        return kMachInt64;
+        return MachineType::Int64();
       case kMemU64:
-        return kMachUint64;
+        return MachineType::Uint64();
       case kMemF32:
-        return kMachFloat32;
+        return MachineType::Float32();
       case kMemF64:
-        return kMachFloat64;
+        return MachineType::Float64();
       default:
         error(pc_ - 1, "invalid memory type");
-        return kMachNone;
+        return MachineType::None();
     }
   }
 
diff --git a/src/wasm/wasm-compiler.cc b/src/wasm/wasm-compiler.cc
index 9388b11..c927fc6 100644
--- a/src/wasm/wasm-compiler.cc
+++ b/src/wasm/wasm-compiler.cc
@@ -375,7 +375,7 @@
       Node* rem =
           graph->graph()->NewNode(m->Int32Mod(), left, right, d.if_false);
 
-      return d.Phi(kMachInt32, graph->Int32Constant(0), rem);
+      return d.Phi(MachineRepresentation::kWord32, graph->Int32Constant(0), rem);
     }
     case wasm::kExprI32RemU:
       op = m->Uint32Mod();
@@ -476,7 +476,7 @@
       Node* rem =
           graph->graph()->NewNode(m->Int64Mod(), left, right, d.if_false);
 
-      return d.Phi(kMachInt64, graph->Int64Constant(0), rem);
+      return d.Phi(MachineRepresentation::kWord64, graph->Int64Constant(0), rem);
     }
     case wasm::kExprI64RemU:
       op = m->Uint64Mod();
@@ -1215,7 +1215,7 @@
   const int fixed_offset = access.header_size - access.tag();
   {
     Node* load_sig =
-        g->NewNode(machine->Load(kMachAnyTagged), table,
+        g->NewNode(machine->Load(MachineType::AnyTagged()), table,
                    g->NewNode(machine->Int32Add(),
                               g->NewNode(machine->Word32Shl(), key,
                                          Int32Constant(kPointerSizeLog2)),
@@ -1229,7 +1229,7 @@
   // Load code object from the table.
   int offset = fixed_offset + kPointerSize * table_size;
   Node* load_code =
-      g->NewNode(machine->Load(kMachAnyTagged), table,
+      g->NewNode(machine->Load(MachineType::AnyTagged()), table,
                  g->NewNode(machine->Int32Add(),
                             g->NewNode(machine->Word32Shl(), key,
                                        Int32Constant(kPointerSizeLog2)),
@@ -1528,9 +1528,9 @@
 
   *effect = load;
 
-  if (type == wasm::kAstI64 && ElementSizeLog2Of(memtype) < 3) {
+  if (type == wasm::kAstI64 && ElementSizeLog2Of(memtype.representation()) < 3) {
     // TODO(titzer): TF zeroes the upper bits of 64-bit loads for subword sizes.
-    if (TypeOf(memtype) == kTypeInt32) {
+    if (memtype.IsSigned()) {
       // sign extend
       load = g->NewNode(graph->machine()->ChangeInt32ToInt64(), load);
     } else {
@@ -1777,7 +1777,8 @@
   Graph graph(&zone);
   CommonOperatorBuilder common(&zone);
   MachineOperatorBuilder machine(
-      &zone, kMachPtr, InstructionSelector::SupportedMachineOperatorFlags());
+      &zone, MachineType::PointerRepresentation(),
+      InstructionSelector::SupportedMachineOperatorFlags());
   JSGraph jsgraph(isolate, &graph, &common, nullptr, nullptr, &machine);
   WasmGraphBuilder builder(&zone, &jsgraph);
   wasm::TreeResult result = wasm::BuildTFGraph(
diff --git a/src/wasm/wasm-linkage.cc b/src/wasm/wasm-linkage.cc
index dc57325..ecabb66 100644
--- a/src/wasm/wasm-linkage.cc
+++ b/src/wasm/wasm-linkage.cc
@@ -23,16 +23,16 @@
 MachineType MachineTypeFor(LocalType type) {
   switch (type) {
     case kAstI32:
-      return kMachInt32;
+      return MachineType::Int32();
     case kAstI64:
-      return kMachInt64;
+      return MachineType::Int64();
     case kAstF64:
-      return kMachFloat64;
+      return MachineType::Float64();
     case kAstF32:
-      return kMachFloat32;
+      return MachineType::Float32();
     default:
       UNREACHABLE();
-      return kMachAnyTagged;
+      return MachineType::AnyTagged();
   }
 }
 
@@ -250,7 +250,7 @@
   const RegList kCalleeSaveFPRegisters = 0;
 
   // The target for WASM calls is always a code object.
-  MachineType target_type = kMachAnyTagged;
+  MachineType target_type = MachineType::AnyTagged();
   LinkageLocation target_loc = LinkageLocation::ForAnyRegister();
   return new (zone) CallDescriptor(       // --
       CallDescriptor::kCallCodeObject,    // kind
diff --git a/src/wasm/wasm-opcodes.h b/src/wasm/wasm-opcodes.h
index db835d1..b5a3426 100644
--- a/src/wasm/wasm-opcodes.h
+++ b/src/wasm/wasm-opcodes.h
@@ -37,13 +37,14 @@
 
 // We reuse the internal machine type to represent WebAssembly AST types.
 // A typedef improves readability without adding a whole new type system.
-typedef MachineType LocalType;
-const LocalType kAstStmt = kMachNone;
-const LocalType kAstI32 = kMachInt32;
-const LocalType kAstI64 = kMachInt64;
-const LocalType kAstF32 = kMachFloat32;
-const LocalType kAstF64 = kMachFloat64;
-const LocalType kAstEnd = kTypeAny;
+typedef MachineRepresentation LocalType;
+const LocalType kAstStmt = MachineRepresentation::kNone;
+const LocalType kAstI32 = MachineRepresentation::kWord32;
+const LocalType kAstI64 = MachineRepresentation::kWord64;
+const LocalType kAstF32 = MachineRepresentation::kFloat32;
+const LocalType kAstF64 = MachineRepresentation::kFloat64;
+// We use kTagged here because kNone is already used by kAstStmt.
+const LocalType kAstEnd = MachineRepresentation::kTagged;
 
 // Functionality related to encoding memory accesses.
 struct MemoryAccess {
@@ -303,7 +304,9 @@
   static const char* OpcodeName(WasmOpcode opcode);
   static FunctionSig* Signature(WasmOpcode opcode);
 
-  static byte MemSize(MachineType type) { return ElementSizeOf(type); }
+  static byte MemSize(MachineType type) {
+    return 1 << ElementSizeLog2Of(type.representation());
+  }
 
   static LocalTypeCode LocalTypeCodeFor(LocalType type) {
     switch (type) {
@@ -324,79 +327,102 @@
   }
 
   static MemTypeCode MemTypeCodeFor(MachineType type) {
+    if (type == MachineType::Int8()) {
+      return kMemI8;
+    } else if (type == MachineType::Uint8()) {
+      return kMemU8;
+    } else if (type == MachineType::Int16()) {
+      return kMemI16;
+    } else if (type == MachineType::Uint16()) {
+      return kMemU16;
+    } else if (type == MachineType::Int32()) {
+      return kMemI32;
+    } else if (type == MachineType::Uint32()) {
+      return kMemU32;
+    } else if (type == MachineType::Int64()) {
+      return kMemI64;
+    } else if (type == MachineType::Uint64()) {
+      return kMemU64;
+    } else if (type == MachineType::Float32()) {
+      return kMemF32;
+    } else if (type == MachineType::Float64()) {
+      return kMemF64;
+    } else {
+      UNREACHABLE();
+      return kMemI32;
+    }
+  }
+
+  static MachineType MachineTypeFor(LocalType type) {
     switch (type) {
-      case kMachInt8:
-        return kMemI8;
-      case kMachUint8:
-        return kMemU8;
-      case kMachInt16:
-        return kMemI16;
-      case kMachUint16:
-        return kMemU16;
-      case kMachInt32:
-        return kMemI32;
-      case kMachUint32:
-        return kMemU32;
-      case kMachInt64:
-        return kMemI64;
-      case kMachUint64:
-        return kMemU64;
-      case kMachFloat32:
-        return kMemF32;
-      case kMachFloat64:
-        return kMemF64;
+      case kAstI32:
+        return MachineType::Int32();
+      case kAstI64:
+        return MachineType::Int64();
+      case kAstF32:
+        return MachineType::Float32();
+      case kAstF64:
+        return MachineType::Float64();
+      case kAstStmt:
+        return MachineType::None();
       default:
         UNREACHABLE();
-        return kMemI32;
+        return MachineType::None();
     }
   }
 
   static LocalType LocalTypeFor(MachineType type) {
-    switch (type) {
-      case kMachInt8:
-      case kMachUint8:
-      case kMachInt16:
-      case kMachUint16:
-      case kMachInt32:
-      case kMachUint32:
-        return kAstI32;
-      case kMachInt64:
-      case kMachUint64:
-        return kAstI64;
-      case kMachFloat32:
-        return kAstF32;
-      case kMachFloat64:
-        return kAstF64;
-      default:
-        UNREACHABLE();
-        return kAstI32;
+    if (type == MachineType::Int8()) {
+      return kAstI32;
+    } else if (type == MachineType::Uint8()) {
+      return kAstI32;
+    } else if (type == MachineType::Int16()) {
+      return kAstI32;
+    } else if (type == MachineType::Uint16()) {
+      return kAstI32;
+    } else if (type == MachineType::Int32()) {
+      return kAstI32;
+    } else if (type == MachineType::Uint32()) {
+      return kAstI32;
+    } else if (type == MachineType::Int64()) {
+      return kAstI64;
+    } else if (type == MachineType::Uint64()) {
+      return kAstI64;
+    } else if (type == MachineType::Float32()) {
+      return kAstF32;
+    } else if (type == MachineType::Float64()) {
+      return kAstF64;
+    } else {
+      UNREACHABLE();
+      return kAstI32;
     }
   }
 
   // TODO(titzer): remove this method
   static WasmOpcode LoadStoreOpcodeOf(MachineType type, bool store) {
-    switch (type) {
-      case kMachInt8:
-        return store ? kExprI32StoreMem8 : kExprI32LoadMem8S;
-      case kMachUint8:
-        return store ? kExprI32StoreMem8 : kExprI32LoadMem8U;
-      case kMachInt16:
-        return store ? kExprI32StoreMem16 : kExprI32LoadMem16S;
-      case kMachUint16:
-        return store ? kExprI32StoreMem16 : kExprI32LoadMem16U;
-      case kMachInt32:
-      case kMachUint32:
-        return store ? kExprI32StoreMem : kExprI32LoadMem;
-      case kMachInt64:
-      case kMachUint64:
-        return store ? kExprI64StoreMem : kExprI64LoadMem;
-      case kMachFloat32:
-        return store ? kExprF32StoreMem : kExprF32LoadMem;
-      case kMachFloat64:
-        return store ? kExprF64StoreMem : kExprF64LoadMem;
-      default:
-        UNREACHABLE();
-        return kExprNop;
+    if (type == MachineType::Int8()) {
+      return store ? kExprI32StoreMem8 : kExprI32LoadMem8S;
+    } else if (type == MachineType::Uint8()) {
+      return store ? kExprI32StoreMem8 : kExprI32LoadMem8U;
+    } else if (type == MachineType::Int16()) {
+      return store ? kExprI32StoreMem16 : kExprI32LoadMem16S;
+    } else if (type == MachineType::Uint16()) {
+      return store ? kExprI32StoreMem16 : kExprI32LoadMem16U;
+    } else if (type == MachineType::Int32()) {
+      return store ? kExprI32StoreMem : kExprI32LoadMem;
+    } else if (type == MachineType::Uint32()) {
+      return store ? kExprI32StoreMem : kExprI32LoadMem;
+    } else if (type == MachineType::Int64()) {
+      return store ? kExprI64StoreMem : kExprI64LoadMem;
+    } else if (type == MachineType::Uint64()) {
+      return store ? kExprI64StoreMem : kExprI64LoadMem;
+    } else if (type == MachineType::Float32()) {
+      return store ? kExprF32StoreMem : kExprF32LoadMem;
+    } else if (type == MachineType::Float64()) {
+      return store ? kExprF64StoreMem : kExprF64LoadMem;
+    } else {
+      UNREACHABLE();
+      return kExprNop;
     }
   }
 
diff --git a/test/cctest/wasm/test-run-wasm-module.cc b/test/cctest/wasm/test-run-wasm-module.cc
index c5688f9..0d51c78 100644
--- a/test/cctest/wasm/test-run-wasm-module.cc
+++ b/test/cctest/wasm/test-run-wasm-module.cc
@@ -107,7 +107,7 @@
   f->ReturnType(kAstI32);
   f->Exported(1);
   byte code[] = {
-      WASM_LOAD_MEM(kMachInt32, WASM_I8(kDataSegmentDest0))};
+      WASM_LOAD_MEM(MachineType::Int32(), WASM_I8(kDataSegmentDest0))};
   f->EmitCode(code, sizeof(code));
   byte data[] = {0xaa, 0xbb, 0xcc, 0xdd};
   builder->AddDataSegment(
@@ -131,7 +131,8 @@
     WASM_BLOCK(2,
 	       WASM_WHILE(
 			  WASM_I32_LTS(WASM_GET_LOCAL(localIndex), WASM_I32(kCheckSize)),
-			  WASM_IF_ELSE(WASM_LOAD_MEM(kMachInt32, WASM_GET_LOCAL(localIndex)),
+			  WASM_IF_ELSE(WASM_LOAD_MEM(MachineType::Int32(),
+             WASM_GET_LOCAL(localIndex)),
 				       WASM_BRV(2, WASM_I8(-1)),
 				       WASM_INC_LOCAL_BY(localIndex, 4))),
 	       WASM_I8(11))};
@@ -153,11 +154,12 @@
   byte code[] = {
       WASM_BLOCK(
           2, 
-          WASM_SET_LOCAL(localIndex, WASM_LOAD_MEM(kMachInt32, WASM_ZERO)),
+          WASM_SET_LOCAL(localIndex, WASM_LOAD_MEM(MachineType::Int32(),
+              WASM_ZERO)),
           WASM_IF_ELSE(WASM_I32_LTS(WASM_GET_LOCAL(localIndex), WASM_I8(5)),
                        WASM_BLOCK(2,
-                                  WASM_STORE_MEM(kMachInt32, WASM_ZERO,
-                                                 WASM_INC_LOCAL(localIndex)),
+                                  WASM_STORE_MEM(MachineType::Int32(),
+                                    WASM_ZERO, WASM_INC_LOCAL(localIndex)),
                                   WASM_BRV(1, WASM_CALL_FUNCTION0(0))),
                        WASM_BRV(0, WASM_I8(55))))
   };
@@ -171,8 +173,8 @@
 TEST(Run_WasmModule_Global) {
   Zone zone;
   WasmModuleBuilder* builder = new(&zone) WasmModuleBuilder(&zone);
-  uint32_t global1 = builder->AddGlobal(kMachInt32, 0);
-  uint32_t global2 = builder->AddGlobal(kMachInt32, 0);
+  uint32_t global1 = builder->AddGlobal(MachineType::Int32(), 0);
+  uint32_t global2 = builder->AddGlobal(MachineType::Int32(), 0);
   uint16_t f1_index = builder->AddFunction();
   WasmFunctionBuilder* f = builder->FunctionAt(f1_index);
   f->ReturnType(kAstI32);
diff --git a/test/cctest/wasm/test-run-wasm.cc b/test/cctest/wasm/test-run-wasm.cc
index 2ddbc7f..b87166c 100644
--- a/test/cctest/wasm/test-run-wasm.cc
+++ b/test/cctest/wasm/test-run-wasm.cc
@@ -274,9 +274,11 @@
 template <typename ReturnType>
 class WasmRunner {
  public:
-  WasmRunner(MachineType p0 = kMachNone, MachineType p1 = kMachNone,
-             MachineType p2 = kMachNone, MachineType p3 = kMachNone) :
-    signature_(MachineTypeForC<ReturnType>() == kMachNone ? 0 : 1,
+  WasmRunner(MachineType p0 = MachineType::None(),
+             MachineType p1 = MachineType::None(),
+             MachineType p2 = MachineType::None(),
+             MachineType p3 = MachineType::None()) :
+    signature_(MachineTypeForC<ReturnType>() == MachineType::None() ? 0 : 1,
                GetParameterCount(p0, p1, p2, p3),
                storage_),
     compiler_(&signature_),
@@ -285,13 +287,17 @@
 
     int index = 0;
     MachineType ret = MachineTypeForC<ReturnType>();
-    if (ret != kMachNone) {
+    if (ret != MachineType::None()) {
       storage_[index++] = WasmOpcodes::LocalTypeFor(ret);
     }
-    if (p0 != kMachNone) storage_[index++] = WasmOpcodes::LocalTypeFor(p0);
-    if (p1 != kMachNone) storage_[index++] = WasmOpcodes::LocalTypeFor(p1);
-    if (p2 != kMachNone) storage_[index++] = WasmOpcodes::LocalTypeFor(p2);
-    if (p3 != kMachNone) storage_[index++] = WasmOpcodes::LocalTypeFor(p3);
+    if (p0 != MachineType::None())
+      storage_[index++] = WasmOpcodes::LocalTypeFor(p0);
+    if (p1 != MachineType::None())
+      storage_[index++] = WasmOpcodes::LocalTypeFor(p1);
+    if (p2 != MachineType::None())
+      storage_[index++] = WasmOpcodes::LocalTypeFor(p2);
+    if (p3 != MachineType::None())
+      storage_[index++] = WasmOpcodes::LocalTypeFor(p3);
   }
 
 
@@ -372,10 +378,10 @@
   static size_t GetParameterCount(MachineType p0, MachineType p1,
                                   MachineType p2, MachineType p3) {
 
-    if (p0 == kMachNone) return 0;
-    if (p1 == kMachNone) return 1;
-    if (p2 == kMachNone) return 2;
-    if (p3 == kMachNone) return 3;
+    if (p0 == MachineType::None()) return 0;
+    if (p1 == MachineType::None()) return 1;
+    if (p2 == MachineType::None()) return 2;
+    if (p3 == MachineType::None()) return 3;
     return 4;
   }
 };
@@ -480,7 +486,7 @@
 
 
 TEST(Run_WasmInt32Param0) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // return(local[0])
   BUILD(r, WASM_GET_LOCAL(0));
   FOR_INT32_INPUTS(i) { CHECK_EQ(*i, r.Call(*i)); }
@@ -488,7 +494,7 @@
 
 
 TEST(Run_WasmInt32Param0_fallthru) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // local[0]
   BUILD(r, WASM_GET_LOCAL(0));
   FOR_INT32_INPUTS(i) { CHECK_EQ(*i, r.Call(*i)); }
@@ -496,7 +502,7 @@
 
 
 TEST(Run_WasmInt32Param1) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   // local[1]
   BUILD(r, WASM_GET_LOCAL(1));
   FOR_INT32_INPUTS(i) { CHECK_EQ(*i, r.Call(-111, *i)); }
@@ -512,7 +518,7 @@
 
 
 TEST(Run_WasmInt32Add_P) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // p0 + 13
   BUILD(r, WASM_I32_ADD(WASM_I8(13), WASM_GET_LOCAL(0)));
   FOR_INT32_INPUTS(i) { CHECK_EQ(*i + 13, r.Call(*i)); }
@@ -520,7 +526,7 @@
 
 
 TEST(Run_WasmInt32Add_P_fallthru) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // p0 + 13
   BUILD(r, WASM_I32_ADD(WASM_I8(13), WASM_GET_LOCAL(0)));
   FOR_INT32_INPUTS(i) { CHECK_EQ(*i + 13, r.Call(*i)); }
@@ -528,7 +534,7 @@
 
 
 TEST(Run_WasmInt32Add_P2) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   //  p0 + p1
   BUILD(r, WASM_I32_ADD(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   FOR_INT32_INPUTS(i) {
@@ -567,7 +573,7 @@
     CHECK_EQ(expected, r.Call());
   }
   {
-    WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+    WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
     // a op b
     BUILD(r, WASM_BINOP(opcode, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
     CHECK_EQ(expected, r.Call(a, b));
@@ -612,7 +618,7 @@
     CHECK_EQ(expected, r.Call());
   }
   {
-    WasmRunner<int32_t> r(kMachInt32);
+    WasmRunner<int32_t> r(MachineType::Int32());
     // return op a
     BUILD(r, WASM_UNOP(opcode, WASM_GET_LOCAL(0)));
     CHECK_EQ(expected, r.Call(a));
@@ -713,7 +719,7 @@
     CHECK_EQ(expected, r.Call());
   }
   {
-    WasmRunner<int64_t> r(kMachInt64, kMachInt64);
+    WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64());
     // return a op b
     BUILD(r, WASM_BINOP(opcode, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
     CHECK_EQ(expected, r.Call(a, b));
@@ -730,7 +736,7 @@
     CHECK_EQ(expected, r.Call());
   }
   {
-    WasmRunner<int32_t> r(kMachInt64, kMachInt64);
+    WasmRunner<int32_t> r(MachineType::Int64(), MachineType::Int64());
     // return a op b
     BUILD(r, WASM_BINOP(opcode, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
     CHECK_EQ(expected, r.Call(a, b));
@@ -834,7 +840,7 @@
                 {63, 0x0000000000000001},
                 {64, 0x0000000000000000}};
 
-  WasmRunner<int64_t> r(kMachUint64);
+  WasmRunner<int64_t> r(MachineType::Uint64());
   BUILD(r, WASM_I64_CLZ(WASM_GET_LOCAL(0)));
   for (size_t i = 0; i < arraysize(values); i++) {
     CHECK_EQ(values[i].expected, r.Call(values[i].input));
@@ -912,7 +918,7 @@
                 {1, 0x000000009afdbc82},
                 {0, 0x000000009afdbc81}};
 
-  WasmRunner<int64_t> r(kMachUint64);
+  WasmRunner<int64_t> r(MachineType::Uint64());
   BUILD(r, WASM_I64_CTZ(WASM_GET_LOCAL(0)));
   for (size_t i = 0; i < arraysize(values); i++) {
     CHECK_EQ(values[i].expected, r.Call(values[i].input));
@@ -930,7 +936,7 @@
                 {26, 0x1123456782345678},
                 {38, 0xffedcba09edcba09}};
 
-  WasmRunner<int64_t> r(kMachUint64);
+  WasmRunner<int64_t> r(MachineType::Uint64());
   BUILD(r, WASM_I64_POPCNT(WASM_GET_LOCAL(0)));
   for (size_t i = 0; i < arraysize(values); i++) {
     CHECK_EQ(values[i].expected, r.Call(values[i].input));
@@ -941,7 +947,7 @@
 #endif
 
 TEST(Run_WASM_Int32DivS_trap) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   BUILD(r, WASM_I32_DIVS(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(0, r.Call(0, 100));
   CHECK_TRAP(r.Call(100, 0));
@@ -952,7 +958,7 @@
 
 
 TEST(Run_WASM_Int32RemS_trap) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   BUILD(r, WASM_I32_REMS(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(33, r.Call(133, 100));
   CHECK_EQ(0, r.Call(std::numeric_limits<int32_t>::min(), -1));
@@ -963,7 +969,7 @@
 
 
 TEST(Run_WASM_Int32DivU_trap) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   BUILD(r, WASM_I32_DIVU(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(0, r.Call(0, 100));
   CHECK_EQ(0, r.Call(std::numeric_limits<int32_t>::min(), -1));
@@ -974,7 +980,7 @@
 
 
 TEST(Run_WASM_Int32RemU_trap) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   BUILD(r, WASM_I32_REMU(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(17, r.Call(217, 100));
   CHECK_TRAP(r.Call(100, 0));
@@ -986,7 +992,7 @@
 
 TEST(Run_WASM_Int32DivS_byzero_const) {
   for (int8_t denom = -2; denom < 8; denom++) {
-    WasmRunner<int32_t> r(kMachInt32);
+    WasmRunner<int32_t> r(MachineType::Int32());
     BUILD(r, WASM_I32_DIVS(WASM_GET_LOCAL(0), WASM_I8(denom)));
     for (int32_t val = -7; val < 8; val++) {
       if (denom == 0) {
@@ -1001,9 +1007,9 @@
 
 TEST(Run_WASM_Int32DivU_byzero_const) {
   for (uint32_t denom = 0xfffffffe; denom < 8; denom++) {
-    WasmRunner<uint32_t> r(kMachUint32);
+    WasmRunner<uint32_t> r(MachineType::Uint32());
     BUILD(r, WASM_I32_DIVU(WASM_GET_LOCAL(0), WASM_I32(denom)));
-    
+
     for (uint32_t val = 0xfffffff0; val < 8; val++) {
       if (denom == 0) {
         CHECK_TRAP(r.Call(val));
@@ -1016,17 +1022,17 @@
 
 
 TEST(Run_WASM_Int32DivS_trap_effect) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   TestingModule module;
   module.AddMemoryElems<int32_t>(8);
   r.env()->module = &module;
-  
+
   BUILD(r, WASM_IF_ELSE(WASM_GET_LOCAL(0),
-                        WASM_I32_DIVS(WASM_STORE_MEM(kMachInt8, WASM_ZERO,
-                                                     WASM_GET_LOCAL(0)),
+                        WASM_I32_DIVS(WASM_STORE_MEM(MachineType::Int8(),
+                                        WASM_ZERO, WASM_GET_LOCAL(0)),
                                       WASM_GET_LOCAL(1)),
-                        WASM_I32_DIVS(WASM_STORE_MEM(kMachInt8, WASM_ZERO,
-                                                     WASM_GET_LOCAL(0)),
+                        WASM_I32_DIVS(WASM_STORE_MEM(MachineType::Int8(),
+                                        WASM_ZERO, WASM_GET_LOCAL(0)),
                                       WASM_GET_LOCAL(1))));
   CHECK_EQ(0, r.Call(0, 100));
   CHECK_TRAP(r.Call(8, 0));
@@ -1038,7 +1044,7 @@
 #if WASM_64
 #define as64(x) static_cast<int64_t>(x)
 TEST(Run_WASM_Int64DivS_trap) {
-  WasmRunner<int64_t> r(kMachInt64, kMachInt64);
+  WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64());
   BUILD(r, WASM_I64_DIVS(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(0, r.Call(as64(0), as64(100)));
   CHECK_TRAP(r.Call(as64(100), as64(0)));
@@ -1049,7 +1055,7 @@
 
 
 TEST(Run_WASM_Int64RemS_trap) {
-  WasmRunner<int64_t> r(kMachInt64, kMachInt64);
+  WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64());
   BUILD(r, WASM_I64_REMS(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(33, r.Call(as64(133), as64(100)));
   CHECK_EQ(0, r.Call(std::numeric_limits<int64_t>::min(), as64(-1)));
@@ -1060,7 +1066,7 @@
 
 
 TEST(Run_WASM_Int64DivU_trap) {
-  WasmRunner<int64_t> r(kMachInt64, kMachInt64);
+  WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64());
   BUILD(r, WASM_I64_DIVU(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(0, r.Call(as64(0), as64(100)));
   CHECK_EQ(0, r.Call(std::numeric_limits<int64_t>::min(), as64(-1)));
@@ -1071,7 +1077,7 @@
 
 
 TEST(Run_WASM_Int64RemU_trap) {
-  WasmRunner<int64_t> r(kMachInt64, kMachInt64);
+  WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64());
   BUILD(r, WASM_I64_REMU(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
   CHECK_EQ(17, r.Call(as64(217), as64(100)));
   CHECK_TRAP(r.Call(as64(100), as64(0)));
@@ -1084,7 +1090,7 @@
 
 TEST(Run_WASM_Int64DivS_byzero_const) {
   for (int8_t denom = -2; denom < 8; denom++) {
-    WasmRunner<int64_t> r(kMachInt64);
+    WasmRunner<int64_t> r(MachineType::Int64());
     BUILD(r, WASM_I64_DIVS(WASM_GET_LOCAL(0), WASM_I64(denom)));
     for (int64_t val = -7; val < 8; val++) {
       if (denom == 0) {
@@ -1099,9 +1105,9 @@
 
 TEST(Run_WASM_Int64DivU_byzero_const) {
   for (uint64_t denom = 0xfffffffffffffffe; denom < 8; denom++) {
-    WasmRunner<uint64_t> r(kMachUint64);
+    WasmRunner<uint64_t> r(MachineType::Uint64());
     BUILD(r, WASM_I64_DIVU(WASM_GET_LOCAL(0), WASM_I64(denom)));
-    
+
     for (uint64_t val = 0xfffffffffffffff0; val < 8; val++) {
       if (denom == 0) {
         CHECK_TRAP(r.Call(val));
@@ -1221,7 +1227,7 @@
 
 
 TEST(Run_Wasm_IfElse_P) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // if (p0) return 11; else return 22;
   BUILD(r, WASM_IF_ELSE(WASM_GET_LOCAL(0), // --
                         WASM_I8(11),       // --
@@ -1260,7 +1266,7 @@
 
 
 TEST(Run_Wasm_Return_I32) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
 
   BUILD(r, WASM_RETURN(WASM_GET_LOCAL(0)));
 
@@ -1272,7 +1278,7 @@
 
 #if WASM_64
 TEST(Run_Wasm_Return_I64) {
-  WasmRunner<int64_t> r(kMachInt64);
+  WasmRunner<int64_t> r(MachineType::Int64());
 
   BUILD(r, WASM_RETURN(WASM_GET_LOCAL(0)));
 
@@ -1284,7 +1290,7 @@
 
 
 TEST(Run_Wasm_Return_F32) {
-  WasmRunner<float> r(kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32());
 
   BUILD(r, WASM_RETURN(WASM_GET_LOCAL(0)));
 
@@ -1301,7 +1307,7 @@
 
 
 TEST(Run_Wasm_Return_F64) {
-  WasmRunner<double> r(kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64());
 
   BUILD(r, WASM_RETURN(WASM_GET_LOCAL(0)));
 
@@ -1318,7 +1324,7 @@
 
 
 TEST(Run_Wasm_Select) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // return select(a, 11, 22);
   BUILD(r, WASM_SELECT(WASM_GET_LOCAL(0), WASM_I8(11), WASM_I8(22)));
   FOR_INT32_INPUTS(i) {
@@ -1329,7 +1335,7 @@
 
 
 TEST(Run_Wasm_Select_strict1) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // select(a, a = 11, 22); return a
   BUILD(r, WASM_BLOCK(2, WASM_SELECT(WASM_GET_LOCAL(0),
 				     WASM_SET_LOCAL(0, WASM_I8(11)),
@@ -1342,7 +1348,7 @@
 
 
 TEST(Run_Wasm_Select_strict2) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // select(a, 11, a = 22); return a;
   BUILD(r, WASM_BLOCK(2, WASM_SELECT(WASM_GET_LOCAL(0),
 				     WASM_I8(11),
@@ -1355,7 +1361,7 @@
 
 
 TEST(Run_Wasm_BrIf_strict) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2,
 		      WASM_BLOCK(1,
 				 WASM_BRV_IF(0, WASM_GET_LOCAL(0), WASM_SET_LOCAL(0, WASM_I8(99)))),
@@ -1368,8 +1374,8 @@
 
 
 TEST(Run_Wasm_TableSwitch1) {
-  WasmRunner<int32_t> r(kMachInt32);
-  BUILD(r, 
+  WasmRunner<int32_t> r(MachineType::Int32());
+  BUILD(r,
         WASM_TABLESWITCH_OP(1, 1, WASM_CASE(0)),
         WASM_TABLESWITCH_BODY(WASM_GET_LOCAL(0),
                               WASM_RETURN(WASM_I8(93))));
@@ -1380,8 +1386,8 @@
 
 
 TEST(Run_Wasm_TableSwitch_br) {
-  WasmRunner<int32_t> r(kMachInt32);
-  BUILD(r, 
+  WasmRunner<int32_t> r(MachineType::Int32());
+  BUILD(r,
         WASM_TABLESWITCH_OP(1, 2, WASM_CASE_BR(0), WASM_CASE(0)),
         WASM_TABLESWITCH_BODY(WASM_GET_LOCAL(0),
                               WASM_RETURN(WASM_I8(91))),
@@ -1394,8 +1400,8 @@
 
 
 TEST(Run_Wasm_TableSwitch_br2) {
-  WasmRunner<int32_t> r(kMachInt32);
-  BUILD(r, 
+  WasmRunner<int32_t> r(MachineType::Int32());
+  BUILD(r,
         WASM_BLOCK(2,
                    WASM_BLOCK(2,
                               WASM_TABLESWITCH_OP(1, 4,
@@ -1418,8 +1424,8 @@
 
 
 TEST(Run_Wasm_TableSwitch2) {
-  WasmRunner<int32_t> r(kMachInt32);
-  BUILD(r, 
+  WasmRunner<int32_t> r(MachineType::Int32());
+  BUILD(r,
         WASM_TABLESWITCH_OP(2, 2, WASM_CASE(0), WASM_CASE(1)),
         WASM_TABLESWITCH_BODY(WASM_GET_LOCAL(0),
                               WASM_RETURN(WASM_I8(91)),
@@ -1432,7 +1438,7 @@
 
 
 TEST(Run_Wasm_TableSwitch2b) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_TABLESWITCH_OP(2, 2, WASM_CASE(1), WASM_CASE(0)),
         WASM_TABLESWITCH_BODY(WASM_GET_LOCAL(0),
@@ -1456,7 +1462,7 @@
       i == 3 ? br : c++
     };
     byte code[] = {
-      WASM_BLOCK(1, 
+      WASM_BLOCK(1,
                  WASM_TABLESWITCH_OP(3, 4,
                                      WASM_CASE(cases[0]),
                                      WASM_CASE(cases[1]),
@@ -1469,7 +1475,7 @@
       WASM_RETURN(WASM_I8(74))
     };
 
-    WasmRunner<int32_t> r(kMachInt32);
+    WasmRunner<int32_t> r(MachineType::Int32());
     r.Build(code, code + arraysize(code));
 
     FOR_INT32_INPUTS(i) {
@@ -1501,7 +1507,7 @@
                                   WASM_RETURN(WASM_I8(62)))
           };
 
-          WasmRunner<int32_t> r(kMachInt32);
+          WasmRunner<int32_t> r(MachineType::Int32());
           r.Build(code, code + arraysize(code));
 
           CHECK_EQ(61 + a, r.Call(0));
@@ -1531,7 +1537,7 @@
     WASM_GET_LOCAL(1)
   };
 
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   r.Build(code, code + arraysize(code));
 
   CHECK_EQ(15, r.Call(0, 0));
@@ -1563,7 +1569,7 @@
     WASM_GET_LOCAL(1)
   };
 
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   r.Build(code, code + arraysize(code));
 
   CHECK_EQ(3, r.Call(0, 0));
@@ -1586,7 +1592,7 @@
   int32_t* memory = module.AddMemoryElems<int32_t>(8);
   r.env()->module = &module;
 
-  BUILD(r, WASM_I32_REINTERPRET_F32(WASM_LOAD_MEM(kMachFloat32, WASM_ZERO)));
+  BUILD(r, WASM_I32_REINTERPRET_F32(WASM_LOAD_MEM(MachineType::Float32(), WASM_ZERO)));
 
   FOR_INT32_INPUTS(i) {
     int32_t expected = *i;
@@ -1597,13 +1603,13 @@
 
 
 TEST(Run_Wasm_I32ReinterpretF32) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   TestingModule module;
   int32_t* memory = module.AddMemoryElems<int32_t>(8);
   r.env()->module = &module;
 
   BUILD(r, WASM_BLOCK(2,
-                      WASM_STORE_MEM(kMachFloat32,
+                      WASM_STORE_MEM(MachineType::Float32(),
                                      WASM_ZERO,
                                      WASM_F32_REINTERPRET_I32(WASM_GET_LOCAL(0))),
                       WASM_I8(107)));
@@ -1622,7 +1628,8 @@
   int32_t* memory = module.AddMemoryElems<int32_t>(8);
   r.env()->module = &module;
 
-  BUILD(r, WASM_STORE_MEM(kMachInt32, WASM_ZERO, WASM_LOAD_MEM(kMachInt32, WASM_ZERO)));
+  BUILD(r, WASM_STORE_MEM(MachineType::Int32(), WASM_ZERO,
+           WASM_LOAD_MEM(MachineType::Int32(), WASM_ZERO)));
 
   FOR_INT32_INPUTS(i) {
     int32_t expected = *i;
@@ -1647,7 +1654,7 @@
 
 
 TEST(Run_Wasm_Block_If_P) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // { if (p0) return 51; return 52; }
   BUILD(r, WASM_BLOCK(2,                                  // --
                       WASM_IF(WASM_GET_LOCAL(0),          // --
@@ -1661,7 +1668,7 @@
 
 
 TEST(Run_Wasm_Block_BrIf_P) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2,
                       WASM_BRV_IF(0, WASM_GET_LOCAL(0), WASM_I8(51)),
                       WASM_I8(52)));
@@ -1673,7 +1680,7 @@
 
 
 TEST(Run_Wasm_Block_IfElse_P_assign) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // { if (p0) p0 = 71; else p0 = 72; return p0; }
   BUILD(r, WASM_BLOCK(2,                                             // --
                       WASM_IF_ELSE(WASM_GET_LOCAL(0),                // --
@@ -1688,7 +1695,7 @@
 
 
 TEST(Run_Wasm_Block_IfElse_P_return) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // if (p0) return 81; else return 82;
   BUILD(r,                                        // --
 	WASM_IF_ELSE(WASM_GET_LOCAL(0),           // --
@@ -1702,7 +1709,7 @@
 
 
 TEST(Run_Wasm_Block_If_P_assign) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // { if (p0) p0 = 61; p0; }
   BUILD(r, WASM_BLOCK(
                2, WASM_IF(WASM_GET_LOCAL(0), WASM_SET_LOCAL(0, WASM_I8(61))),
@@ -1715,7 +1722,7 @@
 
 
 TEST(Run_Wasm_ExprIf_P) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // p0 ? 11 : 22;
   BUILD(r, WASM_IF_ELSE(WASM_GET_LOCAL(0),  // --
 			WASM_I8(11),        // --
@@ -1728,7 +1735,7 @@
 
 
 TEST(Run_Wasm_ExprIf_P_fallthru) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // p0 ? 11 : 22;
   BUILD(r, WASM_IF_ELSE(WASM_GET_LOCAL(0),  // --
                         WASM_I8(11),        // --
@@ -1741,7 +1748,7 @@
 
 
 TEST(Run_Wasm_CountDown) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(2,
 		   WASM_LOOP(1,
@@ -1756,7 +1763,7 @@
 
 
 TEST(Run_Wasm_CountDown_fallthru) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(
             2, WASM_LOOP(3,
@@ -1772,7 +1779,7 @@
 
 
 TEST(Run_Wasm_WhileCountDown) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(
                2, WASM_WHILE(WASM_GET_LOCAL(0),
                              WASM_SET_LOCAL(0, WASM_I32_SUB(WASM_GET_LOCAL(0),
@@ -1785,7 +1792,7 @@
 
 
 TEST(Run_Wasm_Loop_if_break1) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2, WASM_LOOP(2, WASM_IF(WASM_GET_LOCAL(0), WASM_BREAK(0)),
                                    WASM_SET_LOCAL(0, WASM_I8(99))),
                       WASM_GET_LOCAL(0)));
@@ -1797,7 +1804,7 @@
 
 
 TEST(Run_Wasm_Loop_if_break2) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2, WASM_LOOP(2, WASM_BR_IF(1, WASM_GET_LOCAL(0)),
                                    WASM_SET_LOCAL(0, WASM_I8(99))),
                       WASM_GET_LOCAL(0)));
@@ -1809,7 +1816,7 @@
 
 
 TEST(Run_Wasm_Loop_if_break_fallthru) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(1, WASM_LOOP(2, WASM_IF(WASM_GET_LOCAL(0), WASM_BREAK(1)),
                                    WASM_SET_LOCAL(0, WASM_I8(93)))),
         WASM_GET_LOCAL(0));
@@ -1821,13 +1828,13 @@
 
 
 TEST(Run_Wasm_LoadMemI32) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   TestingModule module;
   int32_t* memory = module.AddMemoryElems<int32_t>(8);
   module.RandomizeMemory(1111);
   r.env()->module = &module;
 
-  BUILD(r, WASM_LOAD_MEM(kMachInt32, WASM_I8(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Int32(), WASM_I8(0)));
 
   memory[0] = 99999999;
   CHECK_EQ(99999999, r.Call(0));
@@ -1841,13 +1848,13 @@
 
 
 TEST(Run_Wasm_LoadMemI32_oob) {
-  WasmRunner<int32_t> r(kMachUint32);
+  WasmRunner<int32_t> r(MachineType::Uint32());
   TestingModule module;
   int32_t* memory = module.AddMemoryElems<int32_t>(8);
   module.RandomizeMemory(1111);
   r.env()->module = &module;
 
-  BUILD(r, WASM_LOAD_MEM(kMachInt32, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Int32(), WASM_GET_LOCAL(0)));
 
   memory[0] = 88888888;
   CHECK_EQ(88888888, r.Call(0u));
@@ -1862,14 +1869,14 @@
 
 
 TEST(Run_Wasm_LoadMemI32_oob_asm) {
-  WasmRunner<int32_t> r(kMachUint32);
+  WasmRunner<int32_t> r(MachineType::Uint32());
   TestingModule module;
   module.asm_js = true;
   int32_t* memory = module.AddMemoryElems<int32_t>(8);
   module.RandomizeMemory(1112);
   r.env()->module = &module;
 
-  BUILD(r, WASM_LOAD_MEM(kMachInt32, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Int32(), WASM_GET_LOCAL(0)));
 
   memory[0] = 999999;
   CHECK_EQ(999999, r.Call(0u));
@@ -1888,17 +1895,19 @@
   TestingModule module;
   module.AddMemoryElems<int32_t>(8);
 
-  static const MachineType kMachineTypes[] = {
-    kMachInt8,   kMachUint8, kMachInt16,  kMachUint16,  kMachInt32,
-    kMachUint32, kMachInt64, kMachUint64, kMachFloat32, kMachFloat64};
+  static const MachineType machineTypes[] = {
+    MachineType::Int8(),   MachineType::Uint8(),  MachineType::Int16(),
+    MachineType::Uint16(), MachineType::Int32(),  MachineType::Uint32(),
+    MachineType::Int64(),  MachineType::Uint64(), MachineType::Float32(),
+    MachineType::Float64()};
 
-  for (size_t m = 0; m < arraysize(kMachineTypes); m++) {
+  for (size_t m = 0; m < arraysize(machineTypes); m++) {
     module.RandomizeMemory(1116 + static_cast<int>(m));
-    WasmRunner<int32_t> r(kMachUint32);
+    WasmRunner<int32_t> r(MachineType::Uint32());
     r.env()->module = &module;
-    uint32_t boundary = 24 - WasmOpcodes::MemSize(kMachineTypes[m]);
-    
-    BUILD(r, WASM_LOAD_MEM_OFFSET(kMachineTypes[m], 8, WASM_GET_LOCAL(0)), WASM_ZERO);
+    uint32_t boundary = 24 - WasmOpcodes::MemSize(machineTypes[m]);
+
+    BUILD(r, WASM_LOAD_MEM_OFFSET(machineTypes[m], 8, WASM_GET_LOCAL(0)), WASM_ZERO);
 
     CHECK_EQ(0, r.Call(boundary));      // in bounds.
 
@@ -1910,13 +1919,13 @@
 
 
 TEST(Run_Wasm_LoadMemI32_offset) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   TestingModule module;
   int32_t* memory = module.AddMemoryElems<int32_t>(4);
   module.RandomizeMemory(1111);
   r.env()->module = &module;
 
-  BUILD(r, WASM_LOAD_MEM_OFFSET(kMachInt32, 4, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM_OFFSET(MachineType::Int32(), 4, WASM_GET_LOCAL(0)));
 
   memory[0] = 66666666;
   memory[1] = 77777777;
@@ -1947,8 +1956,8 @@
       WasmRunner<int32_t> r;
       r.env()->module = &module;
       module.RandomizeMemory();
-      
-      BUILD(r, WASM_LOAD_MEM_OFFSET(kMachInt32, offset, WASM_I8(index)));
+
+      BUILD(r, WASM_LOAD_MEM_OFFSET(MachineType::Int32(), offset, WASM_I8(index)));
 
       if ((offset + index) <= (kMemSize - sizeof(int32_t))) {
         CHECK_EQ(module.raw_val_at<int32_t>(offset + index), r.Call());
@@ -1961,13 +1970,13 @@
 
 
 TEST(Run_Wasm_StoreMemI32_offset) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   const int32_t kWritten = 0xaabbccdd;
   TestingModule module;
   int32_t* memory = module.AddMemoryElems<int32_t>(4);
   r.env()->module = &module;
 
-  BUILD(r, WASM_STORE_MEM_OFFSET(kMachInt32, 4, WASM_GET_LOCAL(0), WASM_I32(kWritten)));
+  BUILD(r, WASM_STORE_MEM_OFFSET(MachineType::Int32(), 4, WASM_GET_LOCAL(0), WASM_I32(kWritten)));
 
   for (int i = 0; i < 2; i++) {
     module.RandomizeMemory(1111);
@@ -1989,21 +1998,23 @@
   TestingModule module;
   byte* memory = module.AddMemoryElems<byte>(32);
 
-  static const MachineType kMachineTypes[] = {
-    kMachInt8,   kMachUint8, kMachInt16,  kMachUint16,  kMachInt32,
-    kMachUint32, kMachInt64, kMachUint64, kMachFloat32, kMachFloat64};
+  static const MachineType machineTypes[] = {
+    MachineType::Int8(),   MachineType::Uint8(),  MachineType::Int16(),
+    MachineType::Uint16(), MachineType::Int32(),  MachineType::Uint32(),
+    MachineType::Int64(),  MachineType::Uint64(), MachineType::Float32(),
+    MachineType::Float64()};
 
-  for (size_t m = 0; m < arraysize(kMachineTypes); m++) {
+  for (size_t m = 0; m < arraysize(machineTypes); m++) {
     module.RandomizeMemory(1119 + static_cast<int>(m));
-    WasmRunner<int32_t> r(kMachUint32);
+    WasmRunner<int32_t> r(MachineType::Uint32());
     r.env()->module = &module;
 
     BUILD(r,
-          WASM_STORE_MEM_OFFSET(kMachineTypes[m], 8, WASM_GET_LOCAL(0),
-                                WASM_LOAD_MEM(kMachineTypes[m], WASM_ZERO)),
+          WASM_STORE_MEM_OFFSET(machineTypes[m], 8, WASM_GET_LOCAL(0),
+                                WASM_LOAD_MEM(machineTypes[m], WASM_ZERO)),
           WASM_ZERO);
 
-    byte memsize = WasmOpcodes::MemSize(kMachineTypes[m]);
+    byte memsize = WasmOpcodes::MemSize(machineTypes[m]);
     uint32_t boundary = 24 - memsize;
     CHECK_EQ(0, r.Call(boundary));      // in bounds.
     CHECK_EQ(0, memcmp(&memory[0], &memory[8 + boundary], memsize));
@@ -2022,7 +2033,7 @@
   int64_t* memory = module.AddMemoryElems<int64_t>(8);
   r.env()->module = &module;
 
-  BUILD(r, WASM_I64_REINTERPRET_F64(WASM_LOAD_MEM(kMachFloat64, WASM_ZERO)));
+  BUILD(r, WASM_I64_REINTERPRET_F64(WASM_LOAD_MEM(MachineType::Float64(), WASM_ZERO)));
 
   FOR_INT32_INPUTS(i) {
     int64_t expected = static_cast<int64_t>(*i) * 0x300010001;
@@ -2033,13 +2044,13 @@
 
 
 TEST(Run_Wasm_I64ReinterpretF64) {
-  WasmRunner<int64_t> r(kMachInt64);
+  WasmRunner<int64_t> r(MachineType::Int64());
   TestingModule module;
   int64_t* memory = module.AddMemoryElems<int64_t>(8);
   r.env()->module = &module;
 
   BUILD(r, WASM_BLOCK(2,
-                      WASM_STORE_MEM(kMachFloat64,
+                      WASM_STORE_MEM(MachineType::Float64(),
                                      WASM_ZERO,
                                      WASM_F64_REINTERPRET_I64(WASM_GET_LOCAL(0))),
                       WASM_GET_LOCAL(0)));
@@ -2059,7 +2070,7 @@
   module.RandomizeMemory(1111);
   r.env()->module = &module;
 
-  BUILD(r, WASM_LOAD_MEM(kMachInt64, WASM_I8(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Int64(), WASM_I8(0)));
 
   memory[0] = 0xaabbccdd00112233LL;
   CHECK_EQ(0xaabbccdd00112233LL, r.Call());
@@ -2075,13 +2086,13 @@
 
 TEST(Run_Wasm_LoadMemI32_P) {
   const int kNumElems = 8;
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   TestingModule module;
   int32_t* memory = module.AddMemoryElems<int32_t>(kNumElems);
   module.RandomizeMemory(2222);
   r.env()->module = &module;
 
-  BUILD(r, WASM_LOAD_MEM(kMachInt32, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Int32(), WASM_GET_LOCAL(0)));
 
   for (int i = 0; i < kNumElems; i++) {
     CHECK_EQ(memory[i], r.Call(i * 4));
@@ -2090,7 +2101,7 @@
 
 
 TEST(Run_Wasm_MemI32_Sum) {
-  WasmRunner<uint32_t> r(kMachInt32);
+  WasmRunner<uint32_t> r(MachineType::Int32());
   const int kNumElems = 20;
   const byte kSum = r.AllocateLocal(kAstI32);
   TestingModule module;
@@ -2105,7 +2116,7 @@
                  WASM_BLOCK(2, WASM_SET_LOCAL(
                                    kSum, WASM_I32_ADD(
                                              WASM_GET_LOCAL(kSum),
-                                             WASM_LOAD_MEM(kMachInt32,
+                                             WASM_LOAD_MEM(MachineType::Int32(),
                                                            WASM_GET_LOCAL(0)))),
                             WASM_SET_LOCAL(0, WASM_I32_SUB(WASM_GET_LOCAL(0),
                                                              WASM_I8(4))))),
@@ -2125,7 +2136,7 @@
 
 
 TEST(Run_Wasm_CheckMachIntsZero) {
-  WasmRunner<uint32_t> r(kMachInt32);
+  WasmRunner<uint32_t> r(MachineType::Int32());
   const int kNumElems = 55;
   TestingModule module;
   module.AddMemoryElems<uint32_t>(kNumElems);
@@ -2150,7 +2161,7 @@
 
 
 TEST(Run_Wasm_MemF32_Sum) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   const byte kSum = r.AllocateLocal(kAstF32);
   ModuleEnv module;
   const int kSize = 5;
@@ -2167,11 +2178,11 @@
                  WASM_BLOCK(2, WASM_SET_LOCAL(
                                    kSum, WASM_F32_ADD(
                                              WASM_GET_LOCAL(kSum),
-                                             WASM_LOAD_MEM(kMachFloat32,
+                                             WASM_LOAD_MEM(MachineType::Float32(),
                                                            WASM_GET_LOCAL(0)))),
                             WASM_SET_LOCAL(0, WASM_I32_SUB(WASM_GET_LOCAL(0),
                                                              WASM_I8(4))))),
-          WASM_STORE_MEM(kMachFloat32, WASM_ZERO, WASM_GET_LOCAL(kSum)),
+          WASM_STORE_MEM(MachineType::Float32(), WASM_ZERO, WASM_GET_LOCAL(kSum)),
           WASM_GET_LOCAL(0)));
 
   CHECK_EQ(0, r.Call(4 * (kSize - 1)));
@@ -2182,7 +2193,7 @@
 
 #if WASM_64
 TEST(Run_Wasm_MemI64_Sum) {
-  WasmRunner<uint64_t> r(kMachInt32);
+  WasmRunner<uint64_t> r(MachineType::Int32());
   const int kNumElems = 20;
   const byte kSum = r.AllocateLocal(kAstI64);
   TestingModule module;
@@ -2197,7 +2208,7 @@
                  WASM_BLOCK(2, WASM_SET_LOCAL(
                                    kSum, WASM_I64_ADD(
                                              WASM_GET_LOCAL(kSum),
-                                             WASM_LOAD_MEM(kMachInt64,
+                                             WASM_LOAD_MEM(MachineType::Int64(),
                                                            WASM_GET_LOCAL(0)))),
                             WASM_SET_LOCAL(0, WASM_I32_SUB(WASM_GET_LOCAL(0),
                                                              WASM_I8(8))))),
@@ -2220,7 +2231,7 @@
 template <typename T>
 void GenerateAndRunFold(WasmOpcode binop, T* buffer, size_t size,
                         LocalType astType, MachineType memType) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   const byte kAccum = r.AllocateLocal(astType);
   ModuleEnv module;
   module.mem_start = reinterpret_cast<uintptr_t>(buffer);
@@ -2249,31 +2260,31 @@
   const size_t kSize = 6;
   double buffer[kSize] = {1, 2, 2, 2, 2, 2};
   GenerateAndRunFold<double>(kExprF64Mul, buffer, kSize, kAstF64,
-                             kMachFloat64);
+                             MachineType::Float64());
   CHECK_EQ(32, buffer[0]);
 }
 
 
 TEST(Build_Wasm_Infinite_Loop) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   // Only build the graph and compile, don't run.
   BUILD(r, WASM_INFINITE_LOOP);
 }
 
 
 TEST(Build_Wasm_Infinite_Loop_effect) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   TestingModule module;
   module.AddMemoryElems<int8_t>(16);
   r.env()->module = &module;
 
   // Only build the graph and compile, don't run.
-  BUILD(r, WASM_LOOP(1, WASM_LOAD_MEM(kMachInt32, WASM_ZERO)));
+  BUILD(r, WASM_LOOP(1, WASM_LOAD_MEM(MachineType::Int32(), WASM_ZERO)));
 }
 
 
 TEST(Run_Wasm_Unreachable0a) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2, WASM_BRV(0, WASM_I8(9)), WASM_RETURN(WASM_GET_LOCAL(0))));
   CHECK_EQ(9, r.Call(0));
   CHECK_EQ(9, r.Call(1));
@@ -2281,7 +2292,7 @@
 
 
 TEST(Run_Wasm_Unreachable0b) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2, WASM_BRV(0, WASM_I8(7)), WASM_UNREACHABLE));
   CHECK_EQ(7, r.Call(0));
   CHECK_EQ(7, r.Call(1));
@@ -2289,31 +2300,31 @@
 
 
 TEST(Build_Wasm_Unreachable1) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_UNREACHABLE);
 }
 
 
 TEST(Build_Wasm_Unreachable2) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_UNREACHABLE, WASM_UNREACHABLE);
 }
 
 
 TEST(Build_Wasm_Unreachable3) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_UNREACHABLE, WASM_UNREACHABLE, WASM_UNREACHABLE);
 }
 
 
 TEST(Build_Wasm_UnreachableIf1) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_UNREACHABLE, WASM_IF(WASM_GET_LOCAL(0), WASM_GET_LOCAL(0)));
 }
 
 
 TEST(Build_Wasm_UnreachableIf2) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_UNREACHABLE, WASM_IF_ELSE(WASM_GET_LOCAL(0),
                                           WASM_GET_LOCAL(0),
                                           WASM_UNREACHABLE));
@@ -2321,17 +2332,17 @@
 
 
 TEST(Run_Wasm_Unreachable_Load) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2,
                       WASM_BRV(0, WASM_GET_LOCAL(0)),
-                      WASM_LOAD_MEM(kMachInt8, WASM_GET_LOCAL(0))));
+                      WASM_LOAD_MEM(MachineType::Int8(), WASM_GET_LOCAL(0))));
   CHECK_EQ(11, r.Call(11));
   CHECK_EQ(21, r.Call(21));
 }
 
 
 TEST(Run_Wasm_Infinite_Loop_not_taken1) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2,
 		      WASM_IF(WASM_GET_LOCAL(0), WASM_INFINITE_LOOP),
 		      WASM_I8(45)));
@@ -2341,7 +2352,7 @@
 
 
 TEST(Run_Wasm_Infinite_Loop_not_taken2) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(1, WASM_IF_ELSE(WASM_GET_LOCAL(0), WASM_BRV(0, WASM_I8(45)),
 				      WASM_INFINITE_LOOP)));
   // Run the code, but don't go into the infinite loop.
@@ -2350,7 +2361,7 @@
 
 
 TEST(Run_Wasm_Infinite_Loop_not_taken2_brif) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r, WASM_BLOCK(2,
 		      WASM_BRV_IF(0, WASM_GET_LOCAL(0), WASM_I8(45)),
 		      WASM_INFINITE_LOOP));
@@ -2360,14 +2371,14 @@
 
 
 static void TestBuildGraphForUnop(WasmOpcode opcode, FunctionSig* sig) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   init_env(r.env(), sig);
   BUILD(r, static_cast<byte>(opcode), kExprGetLocal, 0);
 }
 
 
 static void TestBuildGraphForBinop(WasmOpcode opcode, FunctionSig* sig) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   init_env(r.env(), sig);
   BUILD(r, static_cast<byte>(opcode), kExprGetLocal, 0, kExprGetLocal, 1);
 }
@@ -2398,9 +2409,9 @@
   int8_t* memory = module.AddMemoryElems<int8_t>(kNumElems);
   module.RandomizeMemory();
   memory[0] = -1;
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
-  BUILD(r, WASM_LOAD_MEM(kMachInt8, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Int8(), WASM_GET_LOCAL(0)));
 
   for (size_t i = 0; i < kNumElems; i++) {
     CHECK_EQ(memory[i], r.Call(static_cast<int>(i)));
@@ -2414,9 +2425,9 @@
   byte* memory = module.AddMemory(kNumElems);
   module.RandomizeMemory(77);
   memory[0] = 255;
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
-  BUILD(r, WASM_LOAD_MEM(kMachUint8, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Uint8(), WASM_GET_LOCAL(0)));
 
   for (size_t i = 0; i < kNumElems; i++) {
     CHECK_EQ(memory[i], r.Call(static_cast<int>(i)));
@@ -2430,9 +2441,9 @@
   byte* memory = module.AddMemory(kNumBytes);
   module.RandomizeMemory(888);
   memory[1] = 200;
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
-  BUILD(r, WASM_LOAD_MEM(kMachInt16, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Int16(), WASM_GET_LOCAL(0)));
 
   for (size_t i = 0; i < kNumBytes; i += 2) {
     int32_t expected = memory[i] | (static_cast<int8_t>(memory[i + 1]) << 8);
@@ -2447,9 +2458,9 @@
   byte* memory = module.AddMemory(kNumBytes);
   module.RandomizeMemory(9999);
   memory[1] = 204;
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
-  BUILD(r, WASM_LOAD_MEM(kMachUint16, WASM_GET_LOCAL(0)));
+  BUILD(r, WASM_LOAD_MEM(MachineType::Uint16(), WASM_GET_LOCAL(0)));
 
   for (size_t i = 0; i < kNumBytes; i += 2) {
     int32_t expected = memory[i] | (memory[i + 1] << 8);
@@ -2460,8 +2471,8 @@
 
 TEST(Run_WasmInt32Global) {
   TestingModule module;
-  int32_t* global = module.AddGlobal<int32_t>(kMachInt32);
-  WasmRunner<int32_t> r(kMachInt32);
+  int32_t* global = module.AddGlobal<int32_t>(MachineType::Int32());
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
   // global = global + p0
   BUILD(r, WASM_STORE_GLOBAL(
@@ -2479,13 +2490,13 @@
 TEST(Run_WasmInt32Globals_DontAlias) {
   const int kNumGlobals = 3;
   TestingModule module;
-  int32_t* globals[] = {module.AddGlobal<int32_t>(kMachInt32),
-                        module.AddGlobal<int32_t>(kMachInt32),
-                        module.AddGlobal<int32_t>(kMachInt32)};
+  int32_t* globals[] = {module.AddGlobal<int32_t>(MachineType::Int32()),
+                        module.AddGlobal<int32_t>(MachineType::Int32()),
+                        module.AddGlobal<int32_t>(MachineType::Int32())};
 
   for (int g = 0; g < kNumGlobals; g++) {
     // global = global + p0
-    WasmRunner<int32_t> r(kMachInt32);
+    WasmRunner<int32_t> r(MachineType::Int32());
     r.env()->module = &module;
     BUILD(r, WASM_STORE_GLOBAL(
                  g, WASM_I32_ADD(WASM_LOAD_GLOBAL(g), WASM_GET_LOCAL(0))));
@@ -2509,8 +2520,8 @@
 #if WASM_64
 TEST(Run_WasmInt64Global) {
   TestingModule module;
-  int64_t* global = module.AddGlobal<int64_t>(kMachInt64);
-  WasmRunner<int32_t> r(kMachInt32);
+  int64_t* global = module.AddGlobal<int64_t>(MachineType::Int64());
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
   // global = global + p0
   BUILD(r, WASM_BLOCK(
@@ -2531,8 +2542,8 @@
 
 TEST(Run_WasmFloat32Global) {
   TestingModule module;
-  float* global = module.AddGlobal<float>(kMachFloat32);
-  WasmRunner<int32_t> r(kMachInt32);
+  float* global = module.AddGlobal<float>(MachineType::Float32());
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
   // global = global + p0
   BUILD(r, WASM_BLOCK(2, WASM_STORE_GLOBAL(
@@ -2552,8 +2563,8 @@
 
 TEST(Run_WasmFloat64Global) {
   TestingModule module;
-  double* global = module.AddGlobal<double>(kMachFloat64);
-  WasmRunner<int32_t> r(kMachInt32);
+  double* global = module.AddGlobal<double>(MachineType::Float64());
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
   // global = global + p0
   BUILD(r, WASM_BLOCK(2, WASM_STORE_GLOBAL(
@@ -2573,30 +2584,38 @@
 
 TEST(Run_WasmMixedGlobals) {
   TestingModule module;
-  int32_t* unused = module.AddGlobal<int32_t>(kMachInt32);
+  int32_t* unused = module.AddGlobal<int32_t>(MachineType::Int32());
   byte* memory = module.AddMemory(32);
 
-  int8_t* var_int8 = module.AddGlobal<int8_t>(kMachInt8);
-  uint8_t* var_uint8 = module.AddGlobal<uint8_t>(kMachUint8);
-  int16_t* var_int16 = module.AddGlobal<int16_t>(kMachInt16);
-  uint16_t* var_uint16 = module.AddGlobal<uint16_t>(kMachUint16);
-  int32_t* var_int32 = module.AddGlobal<int32_t>(kMachInt32);
-  uint32_t* var_uint32 = module.AddGlobal<uint32_t>(kMachUint32);
-  float* var_float = module.AddGlobal<float>(kMachFloat32);
-  double* var_double = module.AddGlobal<double>(kMachFloat64);
+  int8_t* var_int8 = module.AddGlobal<int8_t>(MachineType::Int8());
+  uint8_t* var_uint8 = module.AddGlobal<uint8_t>(MachineType::Uint8());
+  int16_t* var_int16 = module.AddGlobal<int16_t>(MachineType::Int16());
+  uint16_t* var_uint16 = module.AddGlobal<uint16_t>(MachineType::Uint16());
+  int32_t* var_int32 = module.AddGlobal<int32_t>(MachineType::Int32());
+  uint32_t* var_uint32 = module.AddGlobal<uint32_t>(MachineType::Uint32());
+  float* var_float = module.AddGlobal<float>(MachineType::Float32());
+  double* var_double = module.AddGlobal<double>(MachineType::Float64());
 
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   r.env()->module = &module;
 
   BUILD(r,
-        WASM_BLOCK(9, WASM_STORE_GLOBAL(1, WASM_LOAD_MEM(kMachInt8, WASM_ZERO)),
-                   WASM_STORE_GLOBAL(2, WASM_LOAD_MEM(kMachUint8, WASM_ZERO)),
-                   WASM_STORE_GLOBAL(3, WASM_LOAD_MEM(kMachInt16, WASM_ZERO)),
-                   WASM_STORE_GLOBAL(4, WASM_LOAD_MEM(kMachUint16, WASM_ZERO)),
-                   WASM_STORE_GLOBAL(5, WASM_LOAD_MEM(kMachInt32, WASM_ZERO)),
-                   WASM_STORE_GLOBAL(6, WASM_LOAD_MEM(kMachUint32, WASM_ZERO)),
-                   WASM_STORE_GLOBAL(7, WASM_LOAD_MEM(kMachFloat32, WASM_ZERO)),
-                   WASM_STORE_GLOBAL(8, WASM_LOAD_MEM(kMachFloat64, WASM_ZERO)),
+        WASM_BLOCK(9, WASM_STORE_GLOBAL(1, WASM_LOAD_MEM(MachineType::Int8(),
+              WASM_ZERO)),
+                   WASM_STORE_GLOBAL(2, WASM_LOAD_MEM(MachineType::Uint8(),
+                       WASM_ZERO)),
+                   WASM_STORE_GLOBAL(3, WASM_LOAD_MEM(MachineType::Int16(),
+                       WASM_ZERO)),
+                   WASM_STORE_GLOBAL(4, WASM_LOAD_MEM(MachineType::Uint16(),
+                       WASM_ZERO)),
+                   WASM_STORE_GLOBAL(5, WASM_LOAD_MEM(MachineType::Int32(),
+                       WASM_ZERO)),
+                   WASM_STORE_GLOBAL(6, WASM_LOAD_MEM(MachineType::Uint32(),
+                       WASM_ZERO)),
+                   WASM_STORE_GLOBAL(7, WASM_LOAD_MEM(MachineType::Float32(),
+                       WASM_ZERO)),
+                   WASM_STORE_GLOBAL(8, WASM_LOAD_MEM(MachineType::Float64(),
+                       WASM_ZERO)),
                    WASM_ZERO));
 
   memory[0] = 0xaa;
@@ -2634,14 +2653,14 @@
     }
   }
   {
-    WasmRunner<int64_t> r(kMachInt64);
+    WasmRunner<int64_t> r(MachineType::Int64());
     BUILD(r, WASM_GET_LOCAL(0));
     FOR_INT64_INPUTS(i) {
       CHECK_EQ(*i, r.Call(*i));
     }
   }
   {
-    WasmRunner<int64_t> r(kMachInt64, kMachInt64);
+    WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64());
     BUILD(r, WASM_I64_ADD(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
     FOR_INT64_INPUTS(i) {
       FOR_INT64_INPUTS(j) {
@@ -2650,7 +2669,8 @@
     }
   }
   {
-    WasmRunner<int64_t> r(kMachInt64, kMachInt64, kMachInt64);
+    WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64(),
+                          MachineType::Int64());
     BUILD(r, WASM_I64_ADD(WASM_GET_LOCAL(0),
                                       WASM_I64_ADD(WASM_GET_LOCAL(1),
                                                    WASM_GET_LOCAL(2))));
@@ -2663,7 +2683,8 @@
     }
   }
   {
-    WasmRunner<int64_t> r(kMachInt64, kMachInt64, kMachInt64, kMachInt64);
+    WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64(),
+                          MachineType::Int64(), MachineType::Int64());
     BUILD(r, WASM_I64_ADD(WASM_GET_LOCAL(0),
                           WASM_I64_ADD(WASM_GET_LOCAL(1),
                                        WASM_I64_ADD(WASM_GET_LOCAL(2),
@@ -2711,7 +2732,7 @@
   module.RandomizeMemory();
   WasmFunctionCompiler t(sigs.v_v());
   t.env.module = &module;
-  BUILD(t, WASM_STORE_MEM(kMachInt32, WASM_I8(kMemOffset),
+  BUILD(t, WASM_STORE_MEM(MachineType::Int32(), WASM_I8(kMemOffset),
                           WASM_I32(kExpected)));
   unsigned index = t.CompileAndAdd(&module);
 
@@ -2719,7 +2740,7 @@
   WasmRunner<int32_t> r;
   r.env()->module = &module;
   BUILD(r, WASM_CALL_FUNCTION0(index),
-        WASM_LOAD_MEM(kMachInt32, WASM_I8(kMemOffset)));
+        WASM_LOAD_MEM(MachineType::Int32(), WASM_I8(kMemOffset)));
 
   int32_t result = r.Call();
   CHECK_EQ(kExpected, result);
@@ -2736,7 +2757,7 @@
   unsigned index = t.CompileAndAdd(&module);
 
   // Build the caller function.
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
   r.env()->module = &module;
   BUILD(r, WASM_CALL_FUNCTION(index, WASM_GET_LOCAL(0),
                                           WASM_GET_LOCAL(1)));
@@ -2761,7 +2782,7 @@
   unsigned index = t.CompileAndAdd(&module);
 
   // Build the caller function.
-  WasmRunner<int64_t> r(kMachInt64, kMachInt64);
+  WasmRunner<int64_t> r(MachineType::Int64(), MachineType::Int64());
   r.env()->module = &module;
   BUILD(r, WASM_CALL_FUNCTION(index, WASM_GET_LOCAL(0),
                                           WASM_GET_LOCAL(1)));
@@ -2792,7 +2813,7 @@
   unsigned index = t.CompileAndAdd(&module);
 
   // Builder the caller function.
-  WasmRunner<float> r(kMachFloat32, kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32(), MachineType::Float32());
   r.env()->module = &module;
   BUILD(r, WASM_CALL_FUNCTION(index, WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
 
@@ -2812,11 +2833,11 @@
 
   // TODO(titzer): convert to a binop test.
   BUILD(r, WASM_BLOCK(2,
-                      WASM_STORE_MEM(kMachFloat64,
+                      WASM_STORE_MEM(MachineType::Float64(),
                         WASM_ZERO,
                         WASM_F64_SUB(
-                          WASM_LOAD_MEM(kMachFloat64, WASM_ZERO),
-                          WASM_LOAD_MEM(kMachFloat64, WASM_I8(8)))),
+                          WASM_LOAD_MEM(MachineType::Float64(), WASM_ZERO),
+                          WASM_LOAD_MEM(MachineType::Float64(), WASM_I8(8)))),
 		      WASM_I8(107)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -2847,14 +2868,20 @@
   TestSignatures sigs;
 
 #if WASM_64
-  static MachineType mixed[] = {kMachInt32, kMachFloat32, kMachInt64, kMachFloat64,
-			    kMachFloat32, kMachInt64, kMachInt32, kMachFloat64,
-			    kMachFloat32, kMachFloat64, kMachInt32, kMachInt64,
-                            kMachInt32, kMachInt32};
+  static MachineType mixed[] = {MachineType::Int32(), MachineType::Float32(),
+                                MachineType::Int64(), MachineType::Float64(),
+			                          MachineType::Float32(), MachineType::Int64(),
+                                MachineType::Int32(), MachineType::Float64(),
+			                          MachineType::Float32(), MachineType::Float64(),
+                                MachineType::Int32(), MachineType::Int64(),
+                                MachineType::Int32(), MachineType::Int32()};
 #else
-  static MachineType mixed[] = {kMachInt32, kMachFloat32, kMachFloat64, kMachFloat32,
-                            kMachInt32, kMachFloat64, kMachFloat32, kMachFloat64,
-                            kMachInt32, kMachInt32, kMachInt32};
+  static MachineType mixed[] = {MachineType::Int32(), MachineType::Float32(),
+                                MachineType::Float64(), MachineType::Float32(),
+                                MachineType::Int32(), MachineType::Float64(),
+                                MachineType::Float32(), MachineType::Float64(),
+                                MachineType::Int32(), MachineType::Int32(),
+                                MachineType::Int32()};
 #endif
 
   int num_params = static_cast<int>(arraysize(mixed)) - start;
@@ -2887,7 +2914,7 @@
 
     {
       std::vector<byte> code;
-      ADD_CODE(code, 
+      ADD_CODE(code,
                static_cast<byte>(WasmOpcodes::LoadStoreOpcodeOf(result, true)),
                WasmOpcodes::LoadStoreAccessOf(false));
       ADD_CODE(code, WASM_ZERO);
@@ -2928,7 +2955,7 @@
 
 
 TEST(Run_Wasm_CountDown_expr) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_LOOP(3,
 		  WASM_IF(WASM_NOT(WASM_GET_LOCAL(0)),
@@ -2943,7 +2970,7 @@
 
 
 TEST(Run_Wasm_ExprBlock2a) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(2,
 		   WASM_IF(WASM_GET_LOCAL(0),
@@ -2955,7 +2982,7 @@
 
 
 TEST(Run_Wasm_ExprBlock2b) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(2,
                         WASM_IF(WASM_GET_LOCAL(0),
@@ -2967,7 +2994,7 @@
 
 
 TEST(Run_Wasm_ExprBlock2c) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(2,
 		   WASM_BRV_IF(0, WASM_GET_LOCAL(0), WASM_I8(1)),
@@ -2978,7 +3005,7 @@
 
 
 TEST(Run_Wasm_ExprBlock2d) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(2,
 		   WASM_BRV_IF(0, WASM_GET_LOCAL(0), WASM_I8(1)),
@@ -2989,7 +3016,7 @@
 
 
 TEST(Run_Wasm_ExprBlock_ManualSwitch) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(6,
                         WASM_IF(WASM_I32_EQ(WASM_GET_LOCAL(0), WASM_I8(1)),
@@ -3014,7 +3041,7 @@
 
 
 TEST(Run_Wasm_ExprBlock_ManualSwitch_brif) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   BUILD(r,
         WASM_BLOCK(6,
 		   WASM_BRV_IF(0, WASM_I32_EQ(WASM_GET_LOCAL(0), WASM_I8(1)),
@@ -3039,7 +3066,7 @@
 
 
 TEST(Run_Wasm_nested_ifs) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
 
   BUILD(r, WASM_IF_ELSE(WASM_GET_LOCAL(0),
 			WASM_IF_ELSE(WASM_GET_LOCAL(1),
@@ -3058,7 +3085,7 @@
 
 
 TEST(Run_Wasm_ExprBlock_if) {
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
 
   BUILD(r, WASM_BLOCK(1, WASM_IF_ELSE(WASM_GET_LOCAL(0),
 				      WASM_BRV(0, WASM_I8(11)),
@@ -3070,7 +3097,7 @@
 
 
 TEST(Run_Wasm_ExprBlock_nested_ifs) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
 
   BUILD(r, WASM_BLOCK(1, WASM_IF_ELSE(WASM_GET_LOCAL(0),
 				      WASM_IF_ELSE(WASM_GET_LOCAL(1),
@@ -3089,7 +3116,7 @@
 
 
 TEST(Run_Wasm_ExprLoop_nested_ifs) {
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32());
 
   BUILD(r, WASM_LOOP(1, WASM_IF_ELSE(WASM_GET_LOCAL(0),
 				     WASM_IF_ELSE(WASM_GET_LOCAL(1),
@@ -3150,7 +3177,7 @@
 TEST(Run_Wasm_SimpleCallIndirect) {
   Isolate* isolate = CcTest::InitIsolateOnce();
 
-  WasmRunner<int32_t> r(kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32());
   TestSignatures sigs;
   TestingModule module;
   r.env()->module = &module;
@@ -3194,7 +3221,7 @@
 TEST(Run_Wasm_MultipleCallIndirect) {
   Isolate* isolate = CcTest::InitIsolateOnce();
 
-  WasmRunner<int32_t> r(kMachInt32, kMachInt32, kMachInt32);
+  WasmRunner<int32_t> r(MachineType::Int32(), MachineType::Int32(), MachineType::Int32());
   TestSignatures sigs;
   TestingModule module;
   r.env()->module = &module;
@@ -3227,11 +3254,11 @@
   module.function_table = fixed;
 
   // Builder the caller function.
-  BUILD(r, WASM_I32_ADD(WASM_CALL_INDIRECT(1, 
+  BUILD(r, WASM_I32_ADD(WASM_CALL_INDIRECT(1,
                                            WASM_GET_LOCAL(0),
                                            WASM_GET_LOCAL(1),
                                            WASM_GET_LOCAL(2)),
-                        WASM_CALL_INDIRECT(1, 
+                        WASM_CALL_INDIRECT(1,
                                            WASM_GET_LOCAL(1),
                                            WASM_GET_LOCAL(2),
                                            WASM_GET_LOCAL(0))));
@@ -3249,7 +3276,7 @@
 
 
 TEST(Run_Wasm_F32Floor) {
-  WasmRunner<float> r(kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32());
   BUILD(r, WASM_F32_FLOOR(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT32_INPUTS(i) {
@@ -3259,7 +3286,7 @@
 
 
 TEST(Run_Wasm_F32Ceil) {
-  WasmRunner<float> r(kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32());
   BUILD(r, WASM_F32_CEIL(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT32_INPUTS(i) {
@@ -3269,7 +3296,7 @@
 
 
 TEST(Run_Wasm_F32Trunc) {
-  WasmRunner<float> r(kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32());
   BUILD(r, WASM_F32_TRUNC(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT32_INPUTS(i) {
@@ -3279,7 +3306,7 @@
 
 
 TEST(Run_Wasm_F32NearestInt) {
-  WasmRunner<float> r(kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32());
   BUILD(r, WASM_F32_NEARESTINT(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT32_INPUTS(i) {
@@ -3289,7 +3316,7 @@
 
 
 TEST(Run_Wasm_F64Floor) {
-  WasmRunner<double> r(kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64());
   BUILD(r, WASM_F64_FLOOR(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -3299,7 +3326,7 @@
 
 
 TEST(Run_Wasm_F64Ceil) {
-  WasmRunner<double> r(kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64());
   BUILD(r, WASM_F64_CEIL(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -3309,7 +3336,7 @@
 
 
 TEST(Run_Wasm_F64Trunc) {
-  WasmRunner<double> r(kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64());
   BUILD(r, WASM_F64_TRUNC(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -3319,7 +3346,7 @@
 
 
 TEST(Run_Wasm_F64NearestInt) {
-  WasmRunner<double> r(kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64());
   BUILD(r, WASM_F64_NEARESTINT(WASM_GET_LOCAL(0)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -3329,7 +3356,7 @@
 
 
 TEST(Run_Wasm_F32Min) {
-  WasmRunner<float> r(kMachFloat32, kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32(), MachineType::Float32());
   BUILD(r, WASM_F32_MIN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
 
   FOR_FLOAT32_INPUTS(i) {
@@ -3342,7 +3369,7 @@
 
 
 TEST(Run_Wasm_F64Min) {
-  WasmRunner<double> r(kMachFloat64, kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64(), MachineType::Float64());
   BUILD(r, WASM_F64_MIN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -3355,7 +3382,7 @@
 
 
 TEST(Run_Wasm_F32Max) {
-  WasmRunner<float> r(kMachFloat32, kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32(), MachineType::Float32());
   BUILD(r, WASM_F32_MAX(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
 
   FOR_FLOAT32_INPUTS(i) {
@@ -3368,7 +3395,7 @@
 
 
 TEST(Run_Wasm_F64Max) {
-  WasmRunner<double> r(kMachFloat64, kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64(), MachineType::Float64());
   BUILD(r, WASM_F64_MAX(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -3382,7 +3409,7 @@
 
 #if WASM_64
 TEST(Run_Wasm_F32SConvertI64) {
-  WasmRunner<float> r(kMachInt64);
+  WasmRunner<float> r(MachineType::Int64());
   BUILD(r, WASM_F32_SCONVERT_I64(WASM_GET_LOCAL(0)));
   FOR_INT64_INPUTS(i) {
     CHECK_EQ(static_cast<float>(*i), r.Call(*i));
@@ -3391,7 +3418,7 @@
 
 
 TEST(Run_Wasm_F32UConvertI64) {
-  WasmRunner<float> r(kMachUint64);
+  WasmRunner<float> r(MachineType::Uint64());
   BUILD(r, WASM_F32_UCONVERT_I64(WASM_GET_LOCAL(0)));
   FOR_UINT64_INPUTS(i) {
     CHECK_EQ(static_cast<float>(*i), r.Call(*i));
@@ -3400,7 +3427,7 @@
 
 
 TEST(Run_Wasm_F64SConvertI64) {
-  WasmRunner<double> r(kMachInt64);
+  WasmRunner<double> r(MachineType::Int64());
   BUILD(r, WASM_F64_SCONVERT_I64(WASM_GET_LOCAL(0)));
   FOR_INT64_INPUTS(i) {
     CHECK_EQ(static_cast<double>(*i), r.Call(*i));
@@ -3409,7 +3436,7 @@
 
 
 TEST(Run_Wasm_F64UConvertI64) {
-  WasmRunner<double> r(kMachUint64);
+  WasmRunner<double> r(MachineType::Uint64());
   BUILD(r, WASM_F64_UCONVERT_I64(WASM_GET_LOCAL(0)));
   FOR_UINT64_INPUTS(i) {
     CHECK_EQ(static_cast<double>(*i), r.Call(*i));
@@ -3421,7 +3448,7 @@
 
 
 TEST(Run_Wasm_F64CopySign) {
-  WasmRunner<double> r(kMachFloat64, kMachFloat64);
+  WasmRunner<double> r(MachineType::Float64(), MachineType::Float64());
   BUILD(r, WASM_F64_COPYSIGN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
 
   FOR_FLOAT64_INPUTS(i) {
@@ -3433,7 +3460,7 @@
 
 
 TEST(Run_Wasm_F32CopySign) {
-  WasmRunner<float> r(kMachFloat32, kMachFloat32);
+  WasmRunner<float> r(MachineType::Float32(), MachineType::Float32());
   BUILD(r, WASM_F32_COPYSIGN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1)));
 
   FOR_FLOAT32_INPUTS(i) {
diff --git a/test/unittests/wasm/ast-decoder-unittest.cc b/test/unittests/wasm/ast-decoder-unittest.cc
index f152755..b855f56 100644
--- a/test/unittests/wasm/ast-decoder-unittest.cc
+++ b/test/unittests/wasm/ast-decoder-unittest.cc
@@ -24,9 +24,11 @@
 
 static const LocalType kLocalTypes[] = {kAstI32, kAstI64, kAstF32,
                                         kAstF64};
-static const MachineType kMachineTypes[] = {
-    kMachInt8,   kMachUint8, kMachInt16,  kMachUint16,  kMachInt32,
-    kMachUint32, kMachInt64, kMachUint64, kMachFloat32, kMachFloat64};
+static const MachineType machineTypes[] = {
+    MachineType::Int8(),   MachineType::Uint8(),  MachineType::Int16(),
+    MachineType::Uint16(), MachineType::Int32(),  MachineType::Uint32(),
+    MachineType::Int64(),  MachineType::Uint64(), MachineType::Float32(),
+    MachineType::Float64()};
 
 static const WasmOpcode kInt32BinopOpcodes[] = {
     kExprI32Add,  kExprI32Sub,  kExprI32Mul,  kExprI32DivS,
@@ -855,7 +857,7 @@
 
 TEST_F(WasmDecoderTest, MacrosStmt) {
   VERIFY(WASM_SET_LOCAL(0, WASM_I32(87348)));
-  VERIFY(WASM_STORE_MEM(kMachInt32, WASM_I8(24), WASM_I8(40)));
+  VERIFY(WASM_STORE_MEM(MachineType::Int32(), WASM_I8(24), WASM_I8(40)));
   VERIFY(WASM_IF(WASM_GET_LOCAL(0), WASM_NOP));
   VERIFY(WASM_IF_ELSE(WASM_GET_LOCAL(0), WASM_NOP, WASM_NOP));
   VERIFY(WASM_NOP);
@@ -1095,8 +1097,8 @@
 TEST_F(WasmDecoderTest, AllLoadMemCombinations) {
   for (size_t i = 0; i < arraysize(kLocalTypes); i++) {
     LocalType local_type = kLocalTypes[i];
-    for (size_t j = 0; j < arraysize(kMachineTypes); j++) {
-      MachineType mem_type = kMachineTypes[j];
+    for (size_t j = 0; j < arraysize(machineTypes); j++) {
+      MachineType mem_type = machineTypes[j];
       byte code[] = {
           static_cast<byte>(WasmOpcodes::LoadStoreOpcodeOf(mem_type, false)),
           WasmOpcodes::LoadStoreAccessOf(false), kExprI8Const, 0};
@@ -1116,8 +1118,8 @@
 TEST_F(WasmDecoderTest, AllStoreMemCombinations) {
   for (size_t i = 0; i < arraysize(kLocalTypes); i++) {
     LocalType local_type = kLocalTypes[i];
-    for (size_t j = 0; j < arraysize(kMachineTypes); j++) {
-      MachineType mem_type = kMachineTypes[j];
+    for (size_t j = 0; j < arraysize(machineTypes); j++) {
+      MachineType mem_type = machineTypes[j];
       byte code[] = {static_cast<byte>(WasmOpcodes::LoadStoreOpcodeOf(mem_type, true)),
                      WasmOpcodes::LoadStoreAccessOf(false), kExprI8Const,
                      0, kExprGetLocal, 0};
@@ -1331,12 +1333,12 @@
   TestModuleEnv module_env;
   env->module = &module_env;
 
-  module_env.AddGlobal(kMachInt8);
-  module_env.AddGlobal(kMachUint8);
-  module_env.AddGlobal(kMachInt16);
-  module_env.AddGlobal(kMachUint16);
-  module_env.AddGlobal(kMachInt32);
-  module_env.AddGlobal(kMachUint32);
+  module_env.AddGlobal(MachineType::Int8());
+  module_env.AddGlobal(MachineType::Uint8());
+  module_env.AddGlobal(MachineType::Int16());
+  module_env.AddGlobal(MachineType::Uint16());
+  module_env.AddGlobal(MachineType::Int32());
+  module_env.AddGlobal(MachineType::Uint32());
 
   EXPECT_VERIFIES_INLINE(env, WASM_LOAD_GLOBAL(0));
   EXPECT_VERIFIES_INLINE(env, WASM_LOAD_GLOBAL(1));
@@ -1359,10 +1361,10 @@
   TestModuleEnv module_env;
   env->module = &module_env;
 
-  module_env.AddGlobal(kMachInt64);
-  module_env.AddGlobal(kMachUint64);
-  module_env.AddGlobal(kMachFloat32);
-  module_env.AddGlobal(kMachFloat64);
+  module_env.AddGlobal(MachineType::Int64());
+  module_env.AddGlobal(MachineType::Uint64());
+  module_env.AddGlobal(MachineType::Float32());
+  module_env.AddGlobal(MachineType::Float64());
 
   EXPECT_FAILURE_INLINE(env, WASM_LOAD_GLOBAL(0));
   EXPECT_FAILURE_INLINE(env, WASM_LOAD_GLOBAL(1));
@@ -1381,8 +1383,8 @@
   TestModuleEnv module_env;
   env->module = &module_env;
 
-  module_env.AddGlobal(kMachInt64);
-  module_env.AddGlobal(kMachUint64);
+  module_env.AddGlobal(MachineType::Int64());
+  module_env.AddGlobal(MachineType::Uint64());
 
   EXPECT_VERIFIES_INLINE(env, WASM_LOAD_GLOBAL(0));
   EXPECT_VERIFIES_INLINE(env, WASM_LOAD_GLOBAL(1));
@@ -1399,7 +1401,7 @@
   TestModuleEnv module_env;
   env->module = &module_env;
 
-  module_env.AddGlobal(kMachFloat32);
+  module_env.AddGlobal(MachineType::Float32());
 
   EXPECT_VERIFIES_INLINE(env, WASM_LOAD_GLOBAL(0));
   EXPECT_VERIFIES_INLINE(env, WASM_STORE_GLOBAL(0, WASM_GET_LOCAL(0)));
@@ -1413,7 +1415,7 @@
   TestModuleEnv module_env;
   env->module = &module_env;
 
-  module_env.AddGlobal(kMachFloat64);
+  module_env.AddGlobal(MachineType::Float64());
 
   EXPECT_VERIFIES_INLINE(env, WASM_LOAD_GLOBAL(0));
   EXPECT_VERIFIES_INLINE(env, WASM_STORE_GLOBAL(0, WASM_GET_LOCAL(0)));
@@ -1423,8 +1425,8 @@
 TEST_F(WasmDecoderTest, AllLoadGlobalCombinations) {
   for (size_t i = 0; i < arraysize(kLocalTypes); i++) {
     LocalType local_type = kLocalTypes[i];
-    for (size_t j = 0; j < arraysize(kMachineTypes); j++) {
-      MachineType mem_type = kMachineTypes[j];
+    for (size_t j = 0; j < arraysize(machineTypes); j++) {
+      MachineType mem_type = machineTypes[j];
       FunctionEnv env;
       FunctionSig sig(1, 0, &local_type);
       TestModuleEnv module_env;
@@ -1444,8 +1446,8 @@
 TEST_F(WasmDecoderTest, AllStoreGlobalCombinations) {
   for (size_t i = 0; i < arraysize(kLocalTypes); i++) {
     LocalType local_type = kLocalTypes[i];
-    for (size_t j = 0; j < arraysize(kMachineTypes); j++) {
-      MachineType mem_type = kMachineTypes[j];
+    for (size_t j = 0; j < arraysize(machineTypes); j++) {
+      MachineType mem_type = machineTypes[j];
       FunctionEnv env;
       FunctionSig sig(0, 1, &local_type);
       TestModuleEnv module_env;
diff --git a/test/unittests/wasm/module-decoder-unittest.cc b/test/unittests/wasm/module-decoder-unittest.cc
index a4c852e..a176c21 100644
--- a/test/unittests/wasm/module-decoder-unittest.cc
+++ b/test/unittests/wasm/module-decoder-unittest.cc
@@ -77,7 +77,7 @@
     WasmGlobal* global = &result.val->globals->back();
 
     EXPECT_EQ(0, global->name_offset);
-    EXPECT_EQ(kMachInt32, global->type);
+    EXPECT_EQ(MachineType::Int32(), global->type);
     EXPECT_EQ(0, global->offset);
     EXPECT_EQ(false, global->exported);
   }
@@ -181,12 +181,12 @@
     WasmGlobal* g1 = &result.val->globals->at(1);
 
     EXPECT_EQ(0, g0->name_offset);
-    EXPECT_EQ(kMachFloat32, g0->type);
+    EXPECT_EQ(MachineType::Float32(), g0->type);
     EXPECT_EQ(0, g0->offset);
     EXPECT_EQ(false, g0->exported);
 
     EXPECT_EQ(0, g1->name_offset);
-    EXPECT_EQ(kMachFloat64, g1->type);
+    EXPECT_EQ(MachineType::Float64(), g1->type);
     EXPECT_EQ(0, g1->offset);
     EXPECT_EQ(true, g1->exported);
   }
@@ -461,7 +461,7 @@
     WasmGlobal* global = &result.val->globals->back();
 
     EXPECT_EQ(0, global->name_offset);
-    EXPECT_EQ(kMachUint8, global->type);
+    EXPECT_EQ(MachineType::Uint8(), global->type);
     EXPECT_EQ(0, global->offset);
     EXPECT_EQ(false, global->exported);
 
diff --git a/test/unittests/wasm/wasm-macro-gen-unittest.cc b/test/unittests/wasm/wasm-macro-gen-unittest.cc
index 0e81afc..56ab454 100644
--- a/test/unittests/wasm/wasm-macro-gen-unittest.cc
+++ b/test/unittests/wasm/wasm-macro-gen-unittest.cc
@@ -52,7 +52,7 @@
 
   EXPECT_SIZE(4, WASM_STORE_GLOBAL(0, WASM_ZERO));
 
-  EXPECT_SIZE(6, WASM_STORE_MEM(kMachInt32, WASM_ZERO, WASM_ZERO));
+  EXPECT_SIZE(6, WASM_STORE_MEM(MachineType::Int32(), WASM_ZERO, WASM_ZERO));
 
   EXPECT_SIZE(4, WASM_IF(WASM_ZERO, WASM_NOP));
 
@@ -112,9 +112,9 @@
   EXPECT_SIZE(2, WASM_LOAD_GLOBAL(0));
   EXPECT_SIZE(2, WASM_LOAD_GLOBAL(1));
   EXPECT_SIZE(2, WASM_LOAD_GLOBAL(12));
-  EXPECT_SIZE(4, WASM_LOAD_MEM(kMachInt32, WASM_ZERO));
-  EXPECT_SIZE(4, WASM_LOAD_MEM(kMachFloat64, WASM_ZERO));
-  EXPECT_SIZE(4, WASM_LOAD_MEM(kMachFloat32, WASM_ZERO));
+  EXPECT_SIZE(4, WASM_LOAD_MEM(MachineType::Int32(), WASM_ZERO));
+  EXPECT_SIZE(4, WASM_LOAD_MEM(MachineType::Float64(), WASM_ZERO));
+  EXPECT_SIZE(4, WASM_LOAD_MEM(MachineType::Float32(), WASM_ZERO));
 
   EXPECT_SIZE(3, WASM_NOT(WASM_ZERO));
 
@@ -289,8 +289,10 @@
 }
 
 static const MachineType kMemTypes[] = {
-    kMachInt8,   kMachUint8, kMachInt16,  kMachUint16,  kMachInt32,
-    kMachUint32, kMachInt64, kMachUint64, kMachFloat32, kMachFloat64};
+    MachineType::Int8(),   MachineType::Uint8(),  MachineType::Int16(),
+    MachineType::Uint16(), MachineType::Int32(),  MachineType::Uint32(),
+    MachineType::Int64(),  MachineType::Uint64(), MachineType::Float32(),
+    MachineType::Float64()};
 
 TEST_F(WasmMacroGenTest, LoadsAndStores) {
   for (size_t i = 0; i < arraysize(kMemTypes); i++) {