Bug 1304672: Rename asmjs/ directory to wasm/; r?luke draft
authorBenjamin Bouvier <benj@benj.me>
Wed, 02 Nov 2016 18:42:35 +0100
changeset 432766 692d198a677bed15f757ba24e687009c70f8fdba
parent 432765 ad7472c869f5091fb4d98afe3b6230c4382cdc4d
child 535746 c7066120ea17f6e08a50329c812cfeaddbd6e8d6
push id34416
push userbbouvier@mozilla.com
push dateWed, 02 Nov 2016 18:00:01 +0000
reviewersluke
bugs1304672
milestone52.0a1
Bug 1304672: Rename asmjs/ directory to wasm/; r?luke MozReview-Commit-ID: 5B23MCOlmKX
js/src/asmjs/AsmJS.cpp
js/src/asmjs/AsmJS.h
js/src/asmjs/WasmAST.h
js/src/asmjs/WasmBaselineCompile.cpp
js/src/asmjs/WasmBaselineCompile.h
js/src/asmjs/WasmBinary.cpp
js/src/asmjs/WasmBinary.h
js/src/asmjs/WasmBinaryFormat.cpp
js/src/asmjs/WasmBinaryFormat.h
js/src/asmjs/WasmBinaryIterator.cpp
js/src/asmjs/WasmBinaryIterator.h
js/src/asmjs/WasmBinaryToAST.cpp
js/src/asmjs/WasmBinaryToAST.h
js/src/asmjs/WasmBinaryToExperimentalText.cpp
js/src/asmjs/WasmBinaryToExperimentalText.h
js/src/asmjs/WasmBinaryToText.cpp
js/src/asmjs/WasmBinaryToText.h
js/src/asmjs/WasmCode.cpp
js/src/asmjs/WasmCode.h
js/src/asmjs/WasmCompartment.cpp
js/src/asmjs/WasmCompartment.h
js/src/asmjs/WasmCompile.cpp
js/src/asmjs/WasmCompile.h
js/src/asmjs/WasmFrameIterator.cpp
js/src/asmjs/WasmFrameIterator.h
js/src/asmjs/WasmGeneratedSourceMap.h
js/src/asmjs/WasmGenerator.cpp
js/src/asmjs/WasmGenerator.h
js/src/asmjs/WasmInstance.cpp
js/src/asmjs/WasmInstance.h
js/src/asmjs/WasmIonCompile.cpp
js/src/asmjs/WasmIonCompile.h
js/src/asmjs/WasmJS.cpp
js/src/asmjs/WasmJS.h
js/src/asmjs/WasmModule.cpp
js/src/asmjs/WasmModule.h
js/src/asmjs/WasmSerialize.h
js/src/asmjs/WasmSignalHandlers.cpp
js/src/asmjs/WasmSignalHandlers.h
js/src/asmjs/WasmStubs.cpp
js/src/asmjs/WasmStubs.h
js/src/asmjs/WasmTable.cpp
js/src/asmjs/WasmTable.h
js/src/asmjs/WasmTextToBinary.cpp
js/src/asmjs/WasmTextToBinary.h
js/src/asmjs/WasmTextUtils.cpp
js/src/asmjs/WasmTextUtils.h
js/src/asmjs/WasmTypes.cpp
js/src/asmjs/WasmTypes.h
js/src/builtin/AtomicsObject.cpp
js/src/builtin/TestingFunctions.cpp
js/src/frontend/BytecodeCompiler.cpp
js/src/frontend/BytecodeEmitter.cpp
js/src/frontend/Parser.cpp
js/src/gc/Barrier.cpp
js/src/gc/Marking.cpp
js/src/jit/BaselineJIT.cpp
js/src/jit/Lowering.cpp
js/src/jit/MIRGraph.cpp
js/src/jit/arm/MacroAssembler-arm.cpp
js/src/jit/arm/Simulator-arm.cpp
js/src/jit/shared/Assembler-shared.h
js/src/jsapi-tests/testWasmLEB128.cpp
js/src/jsapi.cpp
js/src/jscompartment.h
js/src/jsscriptinlines.h
js/src/moz.build
js/src/shell/js.cpp
js/src/vm/ArrayBufferObject.cpp
js/src/vm/Debugger.cpp
js/src/vm/Debugger.h
js/src/vm/GlobalObject.cpp
js/src/vm/HelperThreads.cpp
js/src/vm/Initialization.cpp
js/src/vm/MemoryMetrics.cpp
js/src/vm/Runtime.cpp
js/src/vm/Runtime.h
js/src/vm/SharedArrayObject.cpp
js/src/vm/Stack.h
js/src/wasm/AsmJS.cpp
js/src/wasm/AsmJS.h
js/src/wasm/WasmAST.h
js/src/wasm/WasmBaselineCompile.cpp
js/src/wasm/WasmBaselineCompile.h
js/src/wasm/WasmBinary.cpp
js/src/wasm/WasmBinary.h
js/src/wasm/WasmBinaryFormat.cpp
js/src/wasm/WasmBinaryFormat.h
js/src/wasm/WasmBinaryIterator.cpp
js/src/wasm/WasmBinaryIterator.h
js/src/wasm/WasmBinaryToAST.cpp
js/src/wasm/WasmBinaryToAST.h
js/src/wasm/WasmBinaryToExperimentalText.cpp
js/src/wasm/WasmBinaryToExperimentalText.h
js/src/wasm/WasmBinaryToText.cpp
js/src/wasm/WasmBinaryToText.h
js/src/wasm/WasmCode.cpp
js/src/wasm/WasmCode.h
js/src/wasm/WasmCompartment.cpp
js/src/wasm/WasmCompartment.h
js/src/wasm/WasmCompile.cpp
js/src/wasm/WasmCompile.h
js/src/wasm/WasmFrameIterator.cpp
js/src/wasm/WasmFrameIterator.h
js/src/wasm/WasmGeneratedSourceMap.h
js/src/wasm/WasmGenerator.cpp
js/src/wasm/WasmGenerator.h
js/src/wasm/WasmInstance.cpp
js/src/wasm/WasmInstance.h
js/src/wasm/WasmIonCompile.cpp
js/src/wasm/WasmIonCompile.h
js/src/wasm/WasmJS.cpp
js/src/wasm/WasmJS.h
js/src/wasm/WasmModule.cpp
js/src/wasm/WasmModule.h
js/src/wasm/WasmSerialize.h
js/src/wasm/WasmSignalHandlers.cpp
js/src/wasm/WasmSignalHandlers.h
js/src/wasm/WasmStubs.cpp
js/src/wasm/WasmStubs.h
js/src/wasm/WasmTable.cpp
js/src/wasm/WasmTable.h
js/src/wasm/WasmTextToBinary.cpp
js/src/wasm/WasmTextToBinary.h
js/src/wasm/WasmTextUtils.cpp
js/src/wasm/WasmTextUtils.h
js/src/wasm/WasmTypes.cpp
js/src/wasm/WasmTypes.h
--- a/js/src/builtin/AtomicsObject.cpp
+++ b/js/src/builtin/AtomicsObject.cpp
@@ -51,23 +51,23 @@
 #include "mozilla/FloatingPoint.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/Unused.h"
 
 #include "jsapi.h"
 #include "jsfriendapi.h"
 #include "jsnum.h"
 
-#include "asmjs/WasmInstance.h"
 #include "jit/AtomicOperations.h"
 #include "jit/InlinableNatives.h"
 #include "js/Class.h"
 #include "vm/GlobalObject.h"
 #include "vm/Time.h"
 #include "vm/TypedArrayObject.h"
+#include "wasm/WasmInstance.h"
 
 #include "jsobjinlines.h"
 
 using namespace js;
 
 const Class AtomicsObject::class_ = {
     "Atomics",
     JSCLASS_HAS_CACHED_PROTO(JSProto_Atomics)
--- a/js/src/builtin/TestingFunctions.cpp
+++ b/js/src/builtin/TestingFunctions.cpp
@@ -16,23 +16,16 @@
 #include "jsapi.h"
 #include "jscntxt.h"
 #include "jsfriendapi.h"
 #include "jsgc.h"
 #include "jsobj.h"
 #include "jsprf.h"
 #include "jswrapper.h"
 
-#include "asmjs/AsmJS.h"
-#include "asmjs/WasmBinaryToExperimentalText.h"
-#include "asmjs/WasmBinaryToText.h"
-#include "asmjs/WasmJS.h"
-#include "asmjs/WasmModule.h"
-#include "asmjs/WasmSignalHandlers.h"
-#include "asmjs/WasmTextToBinary.h"
 #include "builtin/Promise.h"
 #include "builtin/SelfHostingDefines.h"
 #ifdef DEBUG
 #include "frontend/TokenStream.h"
 #include "irregexp/RegExpAST.h"
 #include "irregexp/RegExpEngine.h"
 #include "irregexp/RegExpParser.h"
 #endif
@@ -48,16 +41,23 @@
 #include "js/Vector.h"
 #include "vm/GlobalObject.h"
 #include "vm/Interpreter.h"
 #include "vm/ProxyObject.h"
 #include "vm/SavedStacks.h"
 #include "vm/Stack.h"
 #include "vm/StringBuffer.h"
 #include "vm/TraceLogging.h"
+#include "wasm/AsmJS.h"
+#include "wasm/WasmBinaryToExperimentalText.h"
+#include "wasm/WasmBinaryToText.h"
+#include "wasm/WasmJS.h"
+#include "wasm/WasmModule.h"
+#include "wasm/WasmSignalHandlers.h"
+#include "wasm/WasmTextToBinary.h"
 
 #include "jscntxtinlines.h"
 #include "jsobjinlines.h"
 
 #include "vm/EnvironmentObject-inl.h"
 #include "vm/NativeObject-inl.h"
 
 using namespace js;
--- a/js/src/frontend/BytecodeCompiler.cpp
+++ b/js/src/frontend/BytecodeCompiler.cpp
@@ -6,24 +6,24 @@
 
 #include "frontend/BytecodeCompiler.h"
 
 #include "mozilla/IntegerPrintfMacros.h"
 
 #include "jscntxt.h"
 #include "jsscript.h"
 
-#include "asmjs/AsmJS.h"
 #include "builtin/ModuleObject.h"
 #include "frontend/BytecodeEmitter.h"
 #include "frontend/FoldConstants.h"
 #include "frontend/NameFunctions.h"
 #include "frontend/Parser.h"
 #include "vm/GlobalObject.h"
 #include "vm/TraceLogging.h"
+#include "wasm/AsmJS.h"
 
 #include "jsobjinlines.h"
 #include "jsscriptinlines.h"
 
 #include "vm/EnvironmentObject-inl.h"
 
 using namespace js;
 using namespace js::frontend;
--- a/js/src/frontend/BytecodeEmitter.cpp
+++ b/js/src/frontend/BytecodeEmitter.cpp
@@ -23,22 +23,22 @@
 #include "jscntxt.h"
 #include "jsfun.h"
 #include "jsnum.h"
 #include "jsopcode.h"
 #include "jsscript.h"
 #include "jstypes.h"
 #include "jsutil.h"
 
-#include "asmjs/AsmJS.h"
 #include "frontend/Parser.h"
 #include "frontend/TokenStream.h"
 #include "vm/Debugger.h"
 #include "vm/GeneratorObject.h"
 #include "vm/Stack.h"
+#include "wasm/AsmJS.h"
 
 #include "jsatominlines.h"
 #include "jsobjinlines.h"
 #include "jsscriptinlines.h"
 
 #include "frontend/ParseNode-inl.h"
 #include "vm/EnvironmentObject-inl.h"
 #include "vm/NativeObject-inl.h"
--- a/js/src/frontend/Parser.cpp
+++ b/js/src/frontend/Parser.cpp
@@ -22,22 +22,22 @@
 #include "jsapi.h"
 #include "jsatom.h"
 #include "jscntxt.h"
 #include "jsfun.h"
 #include "jsopcode.h"
 #include "jsscript.h"
 #include "jstypes.h"
 
-#include "asmjs/AsmJS.h"
 #include "builtin/ModuleObject.h"
 #include "builtin/SelfHostingDefines.h"
 #include "frontend/BytecodeCompiler.h"
 #include "frontend/FoldConstants.h"
 #include "frontend/TokenStream.h"
+#include "wasm/AsmJS.h"
 
 #include "jsatominlines.h"
 #include "jsscriptinlines.h"
 
 #include "frontend/ParseNode-inl.h"
 #include "vm/EnvironmentObject-inl.h"
 
 using namespace js;
--- a/js/src/gc/Barrier.cpp
+++ b/js/src/gc/Barrier.cpp
@@ -4,25 +4,25 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "gc/Barrier.h"
 
 #include "jscompartment.h"
 #include "jsobj.h"
 
-#include "asmjs/WasmJS.h"
 #include "builtin/TypedObject.h"
 #include "gc/Policy.h"
 #include "gc/Zone.h"
 #include "js/HashTable.h"
 #include "js/Value.h"
 #include "vm/EnvironmentObject.h"
 #include "vm/SharedArrayObject.h"
 #include "vm/Symbol.h"
+#include "wasm/WasmJS.h"
 
 namespace js {
 
 bool
 RuntimeFromMainThreadIsHeapMajorCollecting(JS::shadow::Zone* shadowZone)
 {
     return shadowZone->runtimeFromMainThread()->isHeapMajorCollecting();
 }
--- a/js/src/gc/Marking.cpp
+++ b/js/src/gc/Marking.cpp
@@ -10,31 +10,31 @@
 #include "mozilla/IntegerRange.h"
 #include "mozilla/ReentrancyGuard.h"
 #include "mozilla/ScopeExit.h"
 #include "mozilla/TypeTraits.h"
 
 #include "jsgc.h"
 #include "jsprf.h"
 
-#include "asmjs/WasmJS.h"
 #include "builtin/ModuleObject.h"
 #include "gc/GCInternals.h"
 #include "gc/Policy.h"
 #include "jit/IonCode.h"
 #include "js/SliceBudget.h"
 #include "vm/ArgumentsObject.h"
 #include "vm/ArrayObject.h"
 #include "vm/Debugger.h"
 #include "vm/EnvironmentObject.h"
 #include "vm/Scope.h"
 #include "vm/Shape.h"
 #include "vm/Symbol.h"
 #include "vm/TypedArrayObject.h"
 #include "vm/UnboxedObject.h"
+#include "wasm/WasmJS.h"
 
 #include "jscompartmentinlines.h"
 #include "jsgcinlines.h"
 #include "jsobjinlines.h"
 
 #include "gc/Nursery-inl.h"
 #include "vm/String-inl.h"
 #include "vm/UnboxedObject-inl.h"
--- a/js/src/jit/BaselineJIT.cpp
+++ b/js/src/jit/BaselineJIT.cpp
@@ -5,25 +5,25 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "jit/BaselineJIT.h"
 
 #include "mozilla/BinarySearch.h"
 #include "mozilla/DebugOnly.h"
 #include "mozilla/MemoryReporting.h"
 
-#include "asmjs/WasmInstance.h"
 #include "jit/BaselineCompiler.h"
 #include "jit/BaselineIC.h"
 #include "jit/CompileInfo.h"
 #include "jit/JitCommon.h"
 #include "jit/JitSpewer.h"
 #include "vm/Debugger.h"
 #include "vm/Interpreter.h"
 #include "vm/TraceLogging.h"
+#include "wasm/WasmInstance.h"
 
 #include "jsobjinlines.h"
 #include "jsopcodeinlines.h"
 #include "jsscriptinlines.h"
 
 #include "jit/JitFrames-inl.h"
 #include "jit/MacroAssembler-inl.h"
 #include "vm/Stack-inl.h"
--- a/js/src/jit/Lowering.cpp
+++ b/js/src/jit/Lowering.cpp
@@ -3,21 +3,21 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "jit/Lowering.h"
 
 #include "mozilla/DebugOnly.h"
 
-#include "asmjs/WasmSignalHandlers.h"
 #include "jit/JitSpewer.h"
 #include "jit/LIR.h"
 #include "jit/MIR.h"
 #include "jit/MIRGraph.h"
+#include "wasm/WasmSignalHandlers.h"
 
 #include "jsobjinlines.h"
 #include "jsopcodeinlines.h"
 
 #include "jit/shared/Lowering-shared-inl.h"
 
 using namespace js;
 using namespace jit;
--- a/js/src/jit/MIRGraph.cpp
+++ b/js/src/jit/MIRGraph.cpp
@@ -1,22 +1,22 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  * vim: set ts=8 sts=4 et sw=4 tw=99:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "jit/MIRGraph.h"
 
-#include "asmjs/WasmTypes.h"
 #include "jit/BytecodeAnalysis.h"
 #include "jit/Ion.h"
 #include "jit/JitSpewer.h"
 #include "jit/MIR.h"
 #include "jit/MIRGenerator.h"
+#include "wasm/WasmTypes.h"
 
 using namespace js;
 using namespace js::jit;
 using mozilla::Swap;
 
 MIRGenerator::MIRGenerator(CompileCompartment* compartment, const JitCompileOptions& options,
                            TempAllocator* alloc, MIRGraph* graph, const CompileInfo* info,
                            const OptimizationInfo* optimizationInfo)
--- a/js/src/jit/arm/MacroAssembler-arm.cpp
+++ b/js/src/jit/arm/MacroAssembler-arm.cpp
@@ -6,23 +6,23 @@
 
 #include "jit/arm/MacroAssembler-arm.h"
 
 #include "mozilla/Attributes.h"
 #include "mozilla/Casting.h"
 #include "mozilla/DebugOnly.h"
 #include "mozilla/MathAlgorithms.h"
 
-#include "asmjs/WasmBinary.h"
 #include "jit/arm/Simulator-arm.h"
 #include "jit/Bailouts.h"
 #include "jit/BaselineFrame.h"
 #include "jit/JitFrames.h"
 #include "jit/MacroAssembler.h"
 #include "jit/MoveEmitter.h"
+#include "wasm/WasmBinary.h"
 
 #include "jit/MacroAssembler-inl.h"
 
 using namespace js;
 using namespace jit;
 
 using mozilla::Abs;
 using mozilla::BitwiseCast;
--- a/js/src/jit/arm/Simulator-arm.cpp
+++ b/js/src/jit/arm/Simulator-arm.cpp
@@ -30,24 +30,24 @@
 
 #include "mozilla/Casting.h"
 #include "mozilla/DebugOnly.h"
 #include "mozilla/FloatingPoint.h"
 #include "mozilla/Likely.h"
 #include "mozilla/MathAlgorithms.h"
 #include "mozilla/SizePrintfMacros.h"
 
-#include "asmjs/WasmInstance.h"
-#include "asmjs/WasmSignalHandlers.h"
 #include "jit/arm/Assembler-arm.h"
 #include "jit/arm/disasm/Constants-arm.h"
 #include "jit/AtomicOperations.h"
 #include "threading/LockGuard.h"
 #include "vm/Runtime.h"
 #include "vm/SharedMem.h"
+#include "wasm/WasmInstance.h"
+#include "wasm/WasmSignalHandlers.h"
 
 extern "C" {
 
 int64_t
 __aeabi_idivmod(int x, int y)
 {
     uint32_t lo = uint32_t(x / y);
     uint32_t hi = uint32_t(x % y);
--- a/js/src/jit/shared/Assembler-shared.h
+++ b/js/src/jit/shared/Assembler-shared.h
@@ -6,23 +6,23 @@
 
 #ifndef jit_shared_Assembler_shared_h
 #define jit_shared_Assembler_shared_h
 
 #include "mozilla/PodOperations.h"
 
 #include <limits.h>
 
-#include "asmjs/WasmTypes.h"
 #include "jit/AtomicOp.h"
 #include "jit/JitAllocPolicy.h"
 #include "jit/Label.h"
 #include "jit/Registers.h"
 #include "jit/RegisterSets.h"
 #include "vm/HelperThreads.h"
+#include "wasm/WasmTypes.h"
 
 #if defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64) || \
     defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
 // Push return addresses callee-side.
 # define JS_USE_LINK_REGISTER
 #endif
 
 #if defined(JS_CODEGEN_X64) || defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64)
--- a/js/src/jsapi-tests/testWasmLEB128.cpp
+++ b/js/src/jsapi-tests/testWasmLEB128.cpp
@@ -1,17 +1,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include <stdlib.h>
 
-#include "asmjs/WasmBinary.h"
+#include "jsapi-tests/tests.h"
 
-#include "jsapi-tests/tests.h"
+#include "wasm/WasmBinary.h"
 
 static bool WriteValidBytes(js::wasm::Encoder& encoder, bool* passed)
 {
     *passed = false;
     if (!encoder.empty())
         return true;
 
     // These remain the same under LEB128 unsigned encoding
--- a/js/src/jsapi.cpp
+++ b/js/src/jsapi.cpp
@@ -37,18 +37,16 @@
 #include "jsscript.h"
 #include "jsstr.h"
 #include "jstypes.h"
 #include "jsutil.h"
 #include "jswatchpoint.h"
 #include "jsweakmap.h"
 #include "jswrapper.h"
 
-#include "asmjs/AsmJS.h"
-#include "asmjs/WasmModule.h"
 #include "builtin/AtomicsObject.h"
 #include "builtin/Eval.h"
 #include "builtin/Intl.h"
 #include "builtin/MapObject.h"
 #include "builtin/Promise.h"
 #include "builtin/RegExp.h"
 #include "builtin/SymbolObject.h"
 #ifdef ENABLE_SIMD
@@ -85,16 +83,18 @@
 #include "vm/Shape.h"
 #include "vm/StopIterationObject.h"
 #include "vm/String.h"
 #include "vm/StringBuffer.h"
 #include "vm/Symbol.h"
 #include "vm/TypedArrayCommon.h"
 #include "vm/WrapperObject.h"
 #include "vm/Xdr.h"
+#include "wasm/AsmJS.h"
+#include "wasm/WasmModule.h"
 
 #include "jsatominlines.h"
 #include "jsfuninlines.h"
 #include "jsscriptinlines.h"
 
 #include "vm/Interpreter-inl.h"
 #include "vm/NativeObject-inl.h"
 #include "vm/SavedStacks-inl.h"
--- a/js/src/jscompartment.h
+++ b/js/src/jscompartment.h
@@ -9,25 +9,25 @@
 
 #include "mozilla/LinkedList.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/MemoryReporting.h"
 #include "mozilla/Tuple.h"
 #include "mozilla/Variant.h"
 #include "mozilla/XorShift128PlusRNG.h"
 
-#include "asmjs/WasmCompartment.h"
 #include "builtin/RegExp.h"
 #include "gc/Barrier.h"
 #include "gc/NurseryAwareHashMap.h"
 #include "gc/Zone.h"
 #include "vm/GlobalObject.h"
 #include "vm/PIC.h"
 #include "vm/SavedStacks.h"
 #include "vm/Time.h"
+#include "wasm/WasmCompartment.h"
 
 namespace js {
 
 namespace jit {
 class JitCompartment;
 } // namespace jit
 
 namespace gc {
--- a/js/src/jsscriptinlines.h
+++ b/js/src/jsscriptinlines.h
@@ -4,20 +4,20 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef jsscriptinlines_h
 #define jsscriptinlines_h
 
 #include "jsscript.h"
 
-#include "asmjs/AsmJS.h"
 #include "jit/BaselineJIT.h"
 #include "jit/IonAnalysis.h"
 #include "vm/EnvironmentObject.h"
+#include "wasm/AsmJS.h"
 
 #include "jscompartmentinlines.h"
 
 #include "vm/Shape-inl.h"
 
 namespace js {
 
 ScriptCounts::ScriptCounts()
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -13,17 +13,17 @@ component_stl    = ('Core', 'JavaScript:
 
 FILES_PER_UNIFIED_FILE = 6
 
 with Files('../public/**'):
     BUG_COMPONENT = component_engine
 with Files('*'):
     BUG_COMPONENT = component_engine
 
-with Files('asmjs/**'):
+with Files('wasm/**'):
     BUG_COMPONENT = component_jit
 with Files('builtin/**'):
     BUG_COMPONENT = component_stl
 with Files('ctypes/**'):
     BUG_COMPONENT = ('Core', 'js-ctypes')
 with Files('gc/**'):
     BUG_COMPONENT = component_gc
 with Files('jit/**'):
@@ -149,39 +149,16 @@ EXPORTS.js += [
     '../public/UniquePtr.h',
     '../public/Utility.h',
     '../public/Value.h',
     '../public/Vector.h',
     '../public/WeakMapPtr.h',
 ]
 
 UNIFIED_SOURCES += [
-    'asmjs/AsmJS.cpp',
-    'asmjs/WasmBaselineCompile.cpp',
-    'asmjs/WasmBinary.cpp',
-    'asmjs/WasmBinaryFormat.cpp',
-    'asmjs/WasmBinaryIterator.cpp',
-    'asmjs/WasmBinaryToAST.cpp',
-    'asmjs/WasmBinaryToExperimentalText.cpp',
-    'asmjs/WasmBinaryToText.cpp',
-    'asmjs/WasmCode.cpp',
-    'asmjs/WasmCompartment.cpp',
-    'asmjs/WasmCompile.cpp',
-    'asmjs/WasmFrameIterator.cpp',
-    'asmjs/WasmGenerator.cpp',
-    'asmjs/WasmInstance.cpp',
-    'asmjs/WasmIonCompile.cpp',
-    'asmjs/WasmJS.cpp',
-    'asmjs/WasmModule.cpp',
-    'asmjs/WasmSignalHandlers.cpp',
-    'asmjs/WasmStubs.cpp',
-    'asmjs/WasmTable.cpp',
-    'asmjs/WasmTextToBinary.cpp',
-    'asmjs/WasmTextUtils.cpp',
-    'asmjs/WasmTypes.cpp',
     'builtin/AtomicsObject.cpp',
     'builtin/Eval.cpp',
     'builtin/Intl.cpp',
     'builtin/MapObject.cpp',
     'builtin/ModuleObject.cpp',
     'builtin/Object.cpp',
     'builtin/Profilers.cpp',
     'builtin/Promise.cpp',
@@ -373,17 +350,40 @@ UNIFIED_SOURCES += [
     'vm/TypeInference.cpp',
     'vm/UbiNode.cpp',
     'vm/UbiNodeCensus.cpp',
     'vm/UbiNodeShortestPaths.cpp',
     'vm/UnboxedObject.cpp',
     'vm/Unicode.cpp',
     'vm/Value.cpp',
     'vm/WeakMapPtr.cpp',
-    'vm/Xdr.cpp'
+    'vm/Xdr.cpp',
+    'wasm/AsmJS.cpp',
+    'wasm/WasmBaselineCompile.cpp',
+    'wasm/WasmBinary.cpp',
+    'wasm/WasmBinaryFormat.cpp',
+    'wasm/WasmBinaryIterator.cpp',
+    'wasm/WasmBinaryToAST.cpp',
+    'wasm/WasmBinaryToExperimentalText.cpp',
+    'wasm/WasmBinaryToText.cpp',
+    'wasm/WasmCode.cpp',
+    'wasm/WasmCompartment.cpp',
+    'wasm/WasmCompile.cpp',
+    'wasm/WasmFrameIterator.cpp',
+    'wasm/WasmGenerator.cpp',
+    'wasm/WasmInstance.cpp',
+    'wasm/WasmIonCompile.cpp',
+    'wasm/WasmJS.cpp',
+    'wasm/WasmModule.cpp',
+    'wasm/WasmSignalHandlers.cpp',
+    'wasm/WasmStubs.cpp',
+    'wasm/WasmTable.cpp',
+    'wasm/WasmTextToBinary.cpp',
+    'wasm/WasmTextUtils.cpp',
+    'wasm/WasmTypes.cpp'
 ]
 
 # jsarray.cpp and jsatom.cpp cannot be built in unified mode because
 # xpcshell is broken during packaging when compiled with gcc-4.8.2
 # builtin/RegExp.cpp cannot be built in unified mode because it is built
 # without PGO
 # frontend/Parser.cpp cannot be built in unified mode because of explicit
 # template instantiations.
--- a/js/src/shell/js.cpp
+++ b/js/src/shell/js.cpp
@@ -57,17 +57,16 @@
 #include "jstypes.h"
 #include "jsutil.h"
 #ifdef XP_WIN
 # include "jswin.h"
 #endif
 #include "jswrapper.h"
 #include "shellmoduleloader.out.h"
 
-#include "asmjs/WasmJS.h"
 #include "builtin/ModuleObject.h"
 #include "builtin/TestingFunctions.h"
 #include "frontend/Parser.h"
 #include "gc/GCInternals.h"
 #include "jit/arm/Simulator-arm.h"
 #include "jit/InlinableNatives.h"
 #include "jit/Ion.h"
 #include "jit/JitcodeMap.h"
@@ -91,16 +90,17 @@
 #include "vm/Monitor.h"
 #include "vm/MutexIDs.h"
 #include "vm/Shape.h"
 #include "vm/SharedArrayObject.h"
 #include "vm/StringBuffer.h"
 #include "vm/Time.h"
 #include "vm/TypedArrayObject.h"
 #include "vm/WrapperObject.h"
+#include "wasm/WasmJS.h"
 
 #include "jscompartmentinlines.h"
 #include "jsobjinlines.h"
 
 #include "vm/ErrorObject-inl.h"
 #include "vm/Interpreter-inl.h"
 #include "vm/Stack-inl.h"
 
--- a/js/src/vm/ArrayBufferObject.cpp
+++ b/js/src/vm/ArrayBufferObject.cpp
@@ -32,27 +32,27 @@
 #include "jsobj.h"
 #include "jstypes.h"
 #include "jsutil.h"
 #ifdef XP_WIN
 # include "jswin.h"
 #endif
 #include "jswrapper.h"
 
-#include "asmjs/WasmSignalHandlers.h"
-#include "asmjs/WasmTypes.h"
 #include "gc/Barrier.h"
 #include "gc/Marking.h"
 #include "gc/Memory.h"
 #include "js/Conversions.h"
 #include "js/MemoryMetrics.h"
 #include "vm/GlobalObject.h"
 #include "vm/Interpreter.h"
 #include "vm/SharedArrayObject.h"
 #include "vm/WrapperObject.h"
+#include "wasm/WasmSignalHandlers.h"
+#include "wasm/WasmTypes.h"
 
 #include "jsatominlines.h"
 
 #include "vm/NativeObject-inl.h"
 #include "vm/Shape-inl.h"
 
 using JS::ToInt32;
 
--- a/js/src/vm/Debugger.cpp
+++ b/js/src/vm/Debugger.cpp
@@ -15,33 +15,33 @@
 #include "jscompartment.h"
 #include "jsfriendapi.h"
 #include "jshashutil.h"
 #include "jsnum.h"
 #include "jsobj.h"
 #include "jsprf.h"
 #include "jswrapper.h"
 
-#include "asmjs/WasmInstance.h"
 #include "frontend/BytecodeCompiler.h"
 #include "frontend/Parser.h"
 #include "gc/Marking.h"
 #include "gc/Policy.h"
 #include "jit/BaselineDebugModeOSR.h"
 #include "jit/BaselineJIT.h"
 #include "js/Date.h"
 #include "js/GCAPI.h"
 #include "js/UbiNodeBreadthFirst.h"
 #include "js/Vector.h"
 #include "proxy/ScriptedProxyHandler.h"
 #include "vm/ArgumentsObject.h"
 #include "vm/DebuggerMemory.h"
 #include "vm/SPSProfiler.h"
 #include "vm/TraceLogging.h"
 #include "vm/WrapperObject.h"
+#include "wasm/WasmInstance.h"
 
 #include "jsgcinlines.h"
 #include "jsobjinlines.h"
 #include "jsopcodeinlines.h"
 #include "jsscriptinlines.h"
 
 #include "vm/NativeObject-inl.h"
 #include "vm/Stack-inl.h"
--- a/js/src/vm/Debugger.h
+++ b/js/src/vm/Debugger.h
@@ -13,25 +13,25 @@
 #include "mozilla/Vector.h"
 
 #include "jsclist.h"
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "jsweakmap.h"
 #include "jswrapper.h"
 
-#include "asmjs/WasmJS.h"
 #include "builtin/Promise.h"
 #include "ds/TraceableFifo.h"
 #include "gc/Barrier.h"
 #include "js/Debug.h"
 #include "js/GCVariant.h"
 #include "js/HashTable.h"
 #include "vm/GlobalObject.h"
 #include "vm/SavedStacks.h"
+#include "wasm/WasmJS.h"
 
 enum JSTrapStatus {
     JSTRAP_ERROR,
     JSTRAP_CONTINUE,
     JSTRAP_RETURN,
     JSTRAP_THROW,
     JSTRAP_LIMIT
 };
--- a/js/src/vm/GlobalObject.cpp
+++ b/js/src/vm/GlobalObject.cpp
@@ -10,17 +10,16 @@
 #include "jsdate.h"
 #include "jsexn.h"
 #include "jsfriendapi.h"
 #include "jsmath.h"
 #include "json.h"
 #include "jsprototypes.h"
 #include "jsweakmap.h"
 
-#include "asmjs/WasmJS.h"
 #include "builtin/AtomicsObject.h"
 #include "builtin/Eval.h"
 #if EXPOSE_INTL_API
 # include "builtin/Intl.h"
 #endif
 #include "builtin/MapObject.h"
 #include "builtin/ModuleObject.h"
 #include "builtin/Object.h"
@@ -35,16 +34,17 @@
 #include "builtin/WeakSetObject.h"
 #include "vm/Debugger.h"
 #include "vm/EnvironmentObject.h"
 #include "vm/HelperThreads.h"
 #include "vm/PIC.h"
 #include "vm/RegExpStatics.h"
 #include "vm/RegExpStaticsObject.h"
 #include "vm/StopIterationObject.h"
+#include "wasm/WasmJS.h"
 
 #include "jscompartmentinlines.h"
 #include "jsobjinlines.h"
 #include "jsscriptinlines.h"
 
 #include "vm/NativeObject-inl.h"
 
 using namespace js;
--- a/js/src/vm/HelperThreads.cpp
+++ b/js/src/vm/HelperThreads.cpp
@@ -7,25 +7,25 @@
 #include "vm/HelperThreads.h"
 
 #include "mozilla/DebugOnly.h"
 #include "mozilla/Unused.h"
 
 #include "jsnativestack.h"
 #include "jsnum.h" // For FIX_FPU()
 
-#include "asmjs/WasmIonCompile.h"
 #include "builtin/Promise.h"
 #include "frontend/BytecodeCompiler.h"
 #include "gc/GCInternals.h"
 #include "jit/IonBuilder.h"
 #include "vm/Debugger.h"
 #include "vm/SharedImmutableStringsCache.h"
 #include "vm/Time.h"
 #include "vm/TraceLogging.h"
+#include "wasm/WasmIonCompile.h"
 
 #include "jscntxtinlines.h"
 #include "jscompartmentinlines.h"
 #include "jsobjinlines.h"
 #include "jsscriptinlines.h"
 
 using namespace js;
 
--- a/js/src/vm/Initialization.cpp
+++ b/js/src/vm/Initialization.cpp
@@ -9,32 +9,32 @@
 #include "js/Initialization.h"
 
 #include "mozilla/Assertions.h"
 
 #include <ctype.h>
 
 #include "jstypes.h"
 
-#include "asmjs/WasmInstance.h"
 #include "builtin/AtomicsObject.h"
 #include "ds/MemoryProtectionExceptionHandler.h"
 #include "gc/Statistics.h"
 #include "jit/ExecutableAllocator.h"
 #include "jit/Ion.h"
 #include "js/Utility.h"
 #if ENABLE_INTL_API
 #include "unicode/uclean.h"
 #include "unicode/utypes.h"
 #endif // ENABLE_INTL_API
 #include "vm/DateTime.h"
 #include "vm/HelperThreads.h"
 #include "vm/Runtime.h"
 #include "vm/Time.h"
 #include "vm/TraceLogging.h"
+#include "wasm/WasmInstance.h"
 
 using JS::detail::InitState;
 using JS::detail::libraryInitState;
 using js::FutexRuntime;
 
 InitState JS::detail::libraryInitState;
 
 #ifdef DEBUG
--- a/js/src/vm/MemoryMetrics.cpp
+++ b/js/src/vm/MemoryMetrics.cpp
@@ -9,28 +9,28 @@
 #include "mozilla/DebugOnly.h"
 
 #include "jsapi.h"
 #include "jscompartment.h"
 #include "jsgc.h"
 #include "jsobj.h"
 #include "jsscript.h"
 
-#include "asmjs/WasmInstance.h"
-#include "asmjs/WasmJS.h"
-#include "asmjs/WasmModule.h"
 #include "gc/Heap.h"
 #include "jit/BaselineJIT.h"
 #include "jit/Ion.h"
 #include "vm/ArrayObject.h"
 #include "vm/Runtime.h"
 #include "vm/Shape.h"
 #include "vm/String.h"
 #include "vm/Symbol.h"
 #include "vm/WrapperObject.h"
+#include "wasm/WasmInstance.h"
+#include "wasm/WasmJS.h"
+#include "wasm/WasmModule.h"
 
 using mozilla::DebugOnly;
 using mozilla::MallocSizeOf;
 using mozilla::Move;
 using mozilla::PodCopy;
 using mozilla::PodEqual;
 
 using namespace js;
--- a/js/src/vm/Runtime.cpp
+++ b/js/src/vm/Runtime.cpp
@@ -33,30 +33,30 @@
 #include "jsmath.h"
 #include "jsnativestack.h"
 #include "jsobj.h"
 #include "jsscript.h"
 #include "jswatchpoint.h"
 #include "jswin.h"
 #include "jswrapper.h"
 
-#include "asmjs/WasmSignalHandlers.h"
 #include "builtin/Promise.h"
 #include "gc/GCInternals.h"
 #include "jit/arm/Simulator-arm.h"
 #include "jit/arm64/vixl/Simulator-vixl.h"
 #include "jit/IonBuilder.h"
 #include "jit/JitCompartment.h"
 #include "jit/mips32/Simulator-mips32.h"
 #include "jit/mips64/Simulator-mips64.h"
 #include "jit/PcScriptCache.h"
 #include "js/Date.h"
 #include "js/MemoryMetrics.h"
 #include "js/SliceBudget.h"
 #include "vm/Debugger.h"
+#include "wasm/WasmSignalHandlers.h"
 
 #include "jscntxtinlines.h"
 #include "jsgcinlines.h"
 
 using namespace js;
 using namespace js::gc;
 
 using mozilla::Atomic;
--- a/js/src/vm/Runtime.h
+++ b/js/src/vm/Runtime.h
@@ -18,17 +18,17 @@
 
 #include <setjmp.h>
 
 #include "jsatom.h"
 #include "jsclist.h"
 #include "jsscript.h"
 
 #ifdef XP_DARWIN
-# include "asmjs/WasmSignalHandlers.h"
+# include "wasm/WasmSignalHandlers.h"
 #endif
 #include "builtin/AtomicsObject.h"
 #include "builtin/Promise.h"
 #include "ds/FixedSizeHash.h"
 #include "frontend/NameCollections.h"
 #include "gc/GCRuntime.h"
 #include "gc/Tracer.h"
 #include "irregexp/RegExpStack.h"
--- a/js/src/vm/SharedArrayObject.cpp
+++ b/js/src/vm/SharedArrayObject.cpp
@@ -17,20 +17,20 @@
 #include "jswrapper.h"
 #ifndef XP_WIN
 # include <sys/mman.h>
 #endif
 #ifdef MOZ_VALGRIND
 # include <valgrind/memcheck.h>
 #endif
 
-#include "asmjs/AsmJS.h"
-#include "asmjs/WasmTypes.h"
 #include "vm/SharedMem.h"
 #include "vm/TypedArrayCommon.h"
+#include "wasm/AsmJS.h"
+#include "wasm/WasmTypes.h"
 
 #include "jsobjinlines.h"
 
 #include "vm/NativeObject-inl.h"
 
 using namespace js;
 
 static inline void*
--- a/js/src/vm/Stack.h
+++ b/js/src/vm/Stack.h
@@ -11,25 +11,25 @@
 #include "mozilla/Maybe.h"
 #include "mozilla/MemoryReporting.h"
 #include "mozilla/Variant.h"
 
 #include "jsfun.h"
 #include "jsscript.h"
 #include "jsutil.h"
 
-#include "asmjs/WasmFrameIterator.h"
 #include "gc/Rooting.h"
 #include "jit/JitFrameIterator.h"
 #ifdef CHECK_OSIPOINT_REGISTERS
 #include "jit/Registers.h" // for RegisterDump
 #endif
 #include "js/RootingAPI.h"
 #include "vm/ArgumentsObject.h"
 #include "vm/SavedFrame.h"
+#include "wasm/WasmFrameIterator.h"
 
 struct JSCompartment;
 
 namespace JS {
 namespace dbg {
 class AutoEntryMonitor;
 } // namespace dbg
 } // namespace JS
rename from js/src/asmjs/AsmJS.cpp
rename to js/src/wasm/AsmJS.cpp
--- a/js/src/asmjs/AsmJS.cpp
+++ b/js/src/wasm/AsmJS.cpp
@@ -11,41 +11,41 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/AsmJS.h"
+#include "wasm/AsmJS.h"
 
 #include "mozilla/Attributes.h"
 #include "mozilla/Compression.h"
 #include "mozilla/MathAlgorithms.h"
 
 #include "jsmath.h"
 #include "jsprf.h"
 #include "jsstr.h"
 #include "jsutil.h"
 
 #include "jswrapper.h"
 
-#include "asmjs/WasmBinaryFormat.h"
-#include "asmjs/WasmGenerator.h"
-#include "asmjs/WasmInstance.h"
-#include "asmjs/WasmJS.h"
-#include "asmjs/WasmSerialize.h"
 #include "builtin/SIMD.h"
 #include "frontend/Parser.h"
 #include "gc/Policy.h"
 #include "js/MemoryMetrics.h"
 #include "vm/StringBuffer.h"
 #include "vm/Time.h"
 #include "vm/TypedArrayObject.h"
+#include "wasm/WasmBinaryFormat.h"
+#include "wasm/WasmGenerator.h"
+#include "wasm/WasmInstance.h"
+#include "wasm/WasmJS.h"
+#include "wasm/WasmSerialize.h"
 
 #include "jsobjinlines.h"
 
 #include "frontend/ParseNode-inl.h"
 #include "vm/ArrayBufferObject-inl.h"
 
 using namespace js;
 using namespace js::frontend;
rename from js/src/asmjs/AsmJS.h
rename to js/src/wasm/AsmJS.h
rename from js/src/asmjs/WasmAST.h
rename to js/src/wasm/WasmAST.h
--- a/js/src/asmjs/WasmAST.h
+++ b/js/src/wasm/WasmAST.h
@@ -14,21 +14,20 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasmast_h
 #define wasmast_h
 
-#include "asmjs/WasmTypes.h"
-
 #include "ds/LifoAlloc.h"
 #include "js/HashTable.h"
 #include "js/Vector.h"
+#include "wasm/WasmTypes.h"
 
 namespace js {
 namespace wasm {
 
 const uint32_t AstNoIndex = UINT32_MAX;
 const unsigned AST_LIFO_DEFAULT_CHUNK_SIZE = 4096;
 
 /*****************************************************************************/
rename from js/src/asmjs/WasmBaselineCompile.cpp
rename to js/src/wasm/WasmBaselineCompile.cpp
--- a/js/src/asmjs/WasmBaselineCompile.cpp
+++ b/js/src/wasm/WasmBaselineCompile.cpp
@@ -88,40 +88,41 @@
  *   every signature comprising the types of parameters and locals,
  *   and using a static weight for loops, a list in priority order of
  *   which parameters and locals that should be assigned to registers.
  *   Or something like that.  Wasm makes this simple.  Static
  *   assignments are desirable because they are not flushed to memory
  *   by the pre-block sync() call.)
  */
 
-#include "asmjs/WasmBaselineCompile.h"
+#include "wasm/WasmBaselineCompile.h"
 
 #include "mozilla/MathAlgorithms.h"
 
-#include "asmjs/WasmBinaryFormat.h"
-#include "asmjs/WasmBinaryIterator.h"
-#include "asmjs/WasmGenerator.h"
-#include "asmjs/WasmSignalHandlers.h"
 #include "jit/AtomicOp.h"
 #include "jit/IonTypes.h"
 #include "jit/JitAllocPolicy.h"
 #include "jit/Label.h"
 #include "jit/MacroAssembler.h"
 #include "jit/MIR.h"
 #include "jit/Registers.h"
 #include "jit/RegisterSets.h"
 #if defined(JS_CODEGEN_ARM)
 # include "jit/arm/Assembler-arm.h"
 #endif
 #if defined(JS_CODEGEN_X64) || defined(JS_CODEGEN_X86)
 # include "jit/x86-shared/Architecture-x86-shared.h"
 # include "jit/x86-shared/Assembler-x86-shared.h"
 #endif
 
+#include "wasm/WasmBinaryFormat.h"
+#include "wasm/WasmBinaryIterator.h"
+#include "wasm/WasmGenerator.h"
+#include "wasm/WasmSignalHandlers.h"
+
 #include "jit/MacroAssembler-inl.h"
 
 using mozilla::DebugOnly;
 using mozilla::FloatingPoint;
 using mozilla::IsPowerOfTwo;
 using mozilla::SpecificNaN;
 
 namespace js {
rename from js/src/asmjs/WasmBaselineCompile.h
rename to js/src/wasm/WasmBaselineCompile.h
--- a/js/src/asmjs/WasmBaselineCompile.h
+++ b/js/src/wasm/WasmBaselineCompile.h
@@ -14,18 +14,18 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef asmjs_wasm_baseline_compile_h
 #define asmjs_wasm_baseline_compile_h
 
-#include "asmjs/WasmBinary.h"
-#include "asmjs/WasmIonCompile.h"
+#include "wasm/WasmBinary.h"
+#include "wasm/WasmIonCompile.h"
 
 namespace js {
 namespace wasm {
 
 class FunctionGenerator;
 
 // Return true if BaselineCompileFunction can generate code for the
 // function held in the FunctionGenerator.  If false is returned a
rename from js/src/asmjs/WasmBinary.cpp
rename to js/src/wasm/WasmBinary.cpp
--- a/js/src/asmjs/WasmBinary.cpp
+++ b/js/src/wasm/WasmBinary.cpp
@@ -11,22 +11,22 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmBinary.h"
+#include "wasm/WasmBinary.h"
 
 #include <stdarg.h>
 
 #include "jsprf.h"
-#include "asmjs/WasmTypes.h"
+#include "wasm/WasmTypes.h"
 
 using namespace js;
 using namespace js::wasm;
 
 bool
 Decoder::fail(const char* msg, ...) {
     va_list ap;
     va_start(ap, msg);
rename from js/src/asmjs/WasmBinary.h
rename to js/src/wasm/WasmBinary.h
rename from js/src/asmjs/WasmBinaryFormat.cpp
rename to js/src/wasm/WasmBinaryFormat.cpp
--- a/js/src/asmjs/WasmBinaryFormat.cpp
+++ b/js/src/wasm/WasmBinaryFormat.cpp
@@ -11,17 +11,17 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmBinaryFormat.h"
+#include "wasm/WasmBinaryFormat.h"
 
 #include "mozilla/CheckedInt.h"
 
 #include "jsprf.h"
 
 using namespace js;
 using namespace js::wasm;
 
rename from js/src/asmjs/WasmBinaryFormat.h
rename to js/src/wasm/WasmBinaryFormat.h
--- a/js/src/asmjs/WasmBinaryFormat.h
+++ b/js/src/wasm/WasmBinaryFormat.h
@@ -14,18 +14,18 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_binary_format_h
 #define wasm_binary_format_h
 
-#include "asmjs/WasmBinary.h"
-#include "asmjs/WasmTypes.h"
+#include "wasm/WasmBinary.h"
+#include "wasm/WasmTypes.h"
 
 namespace js {
 namespace wasm {
 
 // Reusable macro encoding/decoding functions reused by both the two
 // encoders (AsmJS/WasmTextToBinary) and all the decoders
 // (WasmCompile/WasmIonCompile/WasmBaselineCompile/WasmBinaryToText).
 
rename from js/src/asmjs/WasmBinaryIterator.cpp
rename to js/src/wasm/WasmBinaryIterator.cpp
--- a/js/src/asmjs/WasmBinaryIterator.cpp
+++ b/js/src/wasm/WasmBinaryIterator.cpp
@@ -11,17 +11,17 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmBinaryIterator.h"
+#include "wasm/WasmBinaryIterator.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 #ifdef DEBUG
 ExprKind
 wasm::Classify(Expr expr)
rename from js/src/asmjs/WasmBinaryIterator.h
rename to js/src/wasm/WasmBinaryIterator.h
--- a/js/src/asmjs/WasmBinaryIterator.h
+++ b/js/src/wasm/WasmBinaryIterator.h
@@ -18,18 +18,18 @@
 
 #ifndef wasm_binary_iterator_h
 #define wasm_binary_iterator_h
 
 #include "mozilla/Poison.h"
 
 #include "jsprf.h"
 
-#include "asmjs/WasmTypes.h"
 #include "jit/AtomicOp.h"
+#include "wasm/WasmTypes.h"
 
 namespace js {
 namespace wasm {
 
 // The kind of a control-flow stack item.
 enum class LabelKind : uint8_t {
     Block,
     Loop,
rename from js/src/asmjs/WasmBinaryToAST.cpp
rename to js/src/wasm/WasmBinaryToAST.cpp
--- a/js/src/asmjs/WasmBinaryToAST.cpp
+++ b/js/src/wasm/WasmBinaryToAST.cpp
@@ -11,26 +11,26 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmBinaryToAST.h"
+#include "wasm/WasmBinaryToAST.h"
 
 #include "mozilla/CheckedInt.h"
 #include "mozilla/MathAlgorithms.h"
 #include "mozilla/Sprintf.h"
 
 #include "jscntxt.h"
 
-#include "asmjs/WasmBinaryFormat.h"
-#include "asmjs/WasmBinaryIterator.h"
+#include "wasm/WasmBinaryFormat.h"
+#include "wasm/WasmBinaryIterator.h"
 
 using namespace js;
 using namespace js::wasm;
 
 using mozilla::CheckedInt;
 using mozilla::FloorLog2;
 
 enum AstDecodeTerminationKind
rename from js/src/asmjs/WasmBinaryToAST.h
rename to js/src/wasm/WasmBinaryToAST.h
--- a/js/src/asmjs/WasmBinaryToAST.h
+++ b/js/src/wasm/WasmBinaryToAST.h
@@ -14,20 +14,20 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasmbinarytoast_h
 #define wasmbinarytoast_h
 
-#include "asmjs/WasmAST.h"
-#include "asmjs/WasmTypes.h"
+#include "ds/LifoAlloc.h"
 
-#include "ds/LifoAlloc.h"
+#include "wasm/WasmAST.h"
+#include "wasm/WasmTypes.h"
 
 namespace js {
 namespace wasm {
 
 bool
 BinaryToAst(JSContext* cx, const uint8_t* bytes, uint32_t length, LifoAlloc& lifo,
             AstModule** module);
 
rename from js/src/asmjs/WasmBinaryToExperimentalText.cpp
rename to js/src/wasm/WasmBinaryToExperimentalText.cpp
--- a/js/src/asmjs/WasmBinaryToExperimentalText.cpp
+++ b/js/src/wasm/WasmBinaryToExperimentalText.cpp
@@ -11,29 +11,29 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmBinaryToExperimentalText.h"
+#include "wasm/WasmBinaryToExperimentalText.h"
 
 #include "mozilla/CheckedInt.h"
 
 #include "jsnum.h"
 #include "jsprf.h"
 
-#include "asmjs/WasmAST.h"
-#include "asmjs/WasmBinaryToAST.h"
-#include "asmjs/WasmTextUtils.h"
-#include "asmjs/WasmTypes.h"
 #include "vm/ArrayBufferObject.h"
 #include "vm/StringBuffer.h"
+#include "wasm/WasmAST.h"
+#include "wasm/WasmBinaryToAST.h"
+#include "wasm/WasmTextUtils.h"
+#include "wasm/WasmTypes.h"
 
 using namespace js;
 using namespace js::wasm;
 
 using mozilla::CheckedInt;
 using mozilla::IsInfinite;
 using mozilla::IsNaN;
 using mozilla::IsNegativeZero;
rename from js/src/asmjs/WasmBinaryToExperimentalText.h
rename to js/src/wasm/WasmBinaryToExperimentalText.h
--- a/js/src/asmjs/WasmBinaryToExperimentalText.h
+++ b/js/src/wasm/WasmBinaryToExperimentalText.h
@@ -16,19 +16,19 @@
  * limitations under the License.
  */
 
 #ifndef wasm_binary_to_experimental_text_h
 #define wasm_binary_to_experimental_text_h
 
 #include "NamespaceImports.h"
 
-#include "asmjs/WasmGeneratedSourceMap.h"
 #include "gc/Rooting.h"
 #include "js/Class.h"
+#include "wasm/WasmGeneratedSourceMap.h"
 
 namespace js {
 
 class StringBuffer;
 
 namespace wasm {
 
 struct ExperimentalTextFormatting
rename from js/src/asmjs/WasmBinaryToText.cpp
rename to js/src/wasm/WasmBinaryToText.cpp
--- a/js/src/asmjs/WasmBinaryToText.cpp
+++ b/js/src/wasm/WasmBinaryToText.cpp
@@ -11,27 +11,27 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmBinaryToText.h"
+#include "wasm/WasmBinaryToText.h"
 
 #include "jsnum.h"
 #include "jsprf.h"
 
-#include "asmjs/WasmAST.h"
-#include "asmjs/WasmBinaryToAST.h"
-#include "asmjs/WasmTextUtils.h"
-#include "asmjs/WasmTypes.h"
 #include "vm/ArrayBufferObject.h"
 #include "vm/StringBuffer.h"
+#include "wasm/WasmAST.h"
+#include "wasm/WasmBinaryToAST.h"
+#include "wasm/WasmTextUtils.h"
+#include "wasm/WasmTypes.h"
 
 using namespace js;
 using namespace js::wasm;
 
 using mozilla::IsInfinite;
 using mozilla::IsNaN;
 using mozilla::IsNegativeZero;
 
rename from js/src/asmjs/WasmBinaryToText.h
rename to js/src/wasm/WasmBinaryToText.h
--- a/js/src/asmjs/WasmBinaryToText.h
+++ b/js/src/wasm/WasmBinaryToText.h
@@ -16,19 +16,19 @@
  * limitations under the License.
  */
 
 #ifndef wasm_binary_to_text_h
 #define wasm_binary_to_text_h
 
 #include "NamespaceImports.h"
 
-#include "asmjs/WasmGeneratedSourceMap.h"
 #include "gc/Rooting.h"
 #include "js/Class.h"
+#include "wasm/WasmGeneratedSourceMap.h"
 
 namespace js {
 
 class StringBuffer;
 
 namespace wasm {
 
 // Translate the given binary representation of a wasm module into the module's textual
rename from js/src/asmjs/WasmCode.cpp
rename to js/src/wasm/WasmCode.cpp
--- a/js/src/asmjs/WasmCode.cpp
+++ b/js/src/wasm/WasmCode.cpp
@@ -11,36 +11,36 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmCode.h"
+#include "wasm/WasmCode.h"
 
 #include "mozilla/Atomics.h"
 #include "mozilla/BinarySearch.h"
 #include "mozilla/EnumeratedRange.h"
 
 #include "jsprf.h"
 
-#include "asmjs/WasmBinaryToText.h"
-#include "asmjs/WasmModule.h"
-#include "asmjs/WasmSerialize.h"
 #include "jit/ExecutableAllocator.h"
 #include "jit/MacroAssembler.h"
 #ifdef JS_ION_PERF
 # include "jit/PerfSpewer.h"
 #endif
 #include "vm/StringBuffer.h"
 #ifdef MOZ_VTUNE
 # include "vtune/VTuneWrapper.h"
 #endif
+#include "wasm/WasmBinaryToText.h"
+#include "wasm/WasmModule.h"
+#include "wasm/WasmSerialize.h"
 
 #include "jit/MacroAssembler-inl.h"
 #include "vm/ArrayBufferObject-inl.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 using mozilla::Atomic;
rename from js/src/asmjs/WasmCode.h
rename to js/src/wasm/WasmCode.h
--- a/js/src/asmjs/WasmCode.h
+++ b/js/src/wasm/WasmCode.h
@@ -14,18 +14,18 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_code_h
 #define wasm_code_h
 
-#include "asmjs/WasmGeneratedSourceMap.h"
-#include "asmjs/WasmTypes.h"
+#include "wasm/WasmGeneratedSourceMap.h"
+#include "wasm/WasmTypes.h"
 
 namespace js {
 
 struct AsmJSMetadata;
 
 namespace wasm {
 
 struct LinkData;
rename from js/src/asmjs/WasmCompartment.cpp
rename to js/src/wasm/WasmCompartment.cpp
--- a/js/src/asmjs/WasmCompartment.cpp
+++ b/js/src/wasm/WasmCompartment.cpp
@@ -11,21 +11,21 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmCompartment.h"
+#include "wasm/WasmCompartment.h"
 
 #include "jscompartment.h"
 
-#include "asmjs/WasmInstance.h"
+#include "wasm/WasmInstance.h"
 
 #include "vm/Debugger-inl.h"
 
 using namespace js;
 using namespace wasm;
 
 Compartment::Compartment(Zone* zone)
   : mutatingInstances_(false),
rename from js/src/asmjs/WasmCompartment.h
rename to js/src/wasm/WasmCompartment.h
--- a/js/src/asmjs/WasmCompartment.h
+++ b/js/src/wasm/WasmCompartment.h
@@ -14,17 +14,17 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_compartment_h
 #define wasm_compartment_h
 
-#include "asmjs/WasmJS.h"
+#include "wasm/WasmJS.h"
 
 namespace js {
 
 class WasmActivation;
 
 namespace wasm {
 
 class Code;
rename from js/src/asmjs/WasmCompile.cpp
rename to js/src/wasm/WasmCompile.cpp
--- a/js/src/asmjs/WasmCompile.cpp
+++ b/js/src/wasm/WasmCompile.cpp
@@ -11,24 +11,24 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmCompile.h"
+#include "wasm/WasmCompile.h"
 
 #include "jsprf.h"
 
-#include "asmjs/WasmBinaryFormat.h"
-#include "asmjs/WasmBinaryIterator.h"
-#include "asmjs/WasmGenerator.h"
-#include "asmjs/WasmSignalHandlers.h"
+#include "wasm/WasmBinaryFormat.h"
+#include "wasm/WasmBinaryIterator.h"
+#include "wasm/WasmGenerator.h"
+#include "wasm/WasmSignalHandlers.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 using mozilla::IsNaN;
 
 namespace {
rename from js/src/asmjs/WasmCompile.h
rename to js/src/wasm/WasmCompile.h
--- a/js/src/asmjs/WasmCompile.h
+++ b/js/src/wasm/WasmCompile.h
@@ -14,18 +14,18 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_compile_h
 #define wasm_compile_h
 
-#include "asmjs/WasmJS.h"
-#include "asmjs/WasmModule.h"
+#include "wasm/WasmJS.h"
+#include "wasm/WasmModule.h"
 
 namespace js {
 namespace wasm {
 
 // Describes the JS scripted caller of a request to compile a wasm module.
 
 struct ScriptedCaller
 {
rename from js/src/asmjs/WasmFrameIterator.cpp
rename to js/src/wasm/WasmFrameIterator.cpp
--- a/js/src/asmjs/WasmFrameIterator.cpp
+++ b/js/src/wasm/WasmFrameIterator.cpp
@@ -11,19 +11,19 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmFrameIterator.h"
+#include "wasm/WasmFrameIterator.h"
 
-#include "asmjs/WasmInstance.h"
+#include "wasm/WasmInstance.h"
 
 #include "jit/MacroAssembler-inl.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 using mozilla::DebugOnly;
rename from js/src/asmjs/WasmFrameIterator.h
rename to js/src/wasm/WasmFrameIterator.h
rename from js/src/asmjs/WasmGeneratedSourceMap.h
rename to js/src/wasm/WasmGeneratedSourceMap.h
rename from js/src/asmjs/WasmGenerator.cpp
rename to js/src/wasm/WasmGenerator.cpp
--- a/js/src/asmjs/WasmGenerator.cpp
+++ b/js/src/wasm/WasmGenerator.cpp
@@ -11,26 +11,26 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmGenerator.h"
+#include "wasm/WasmGenerator.h"
 
 #include "mozilla/CheckedInt.h"
 #include "mozilla/EnumeratedRange.h"
 
 #include <algorithm>
 
-#include "asmjs/WasmBaselineCompile.h"
-#include "asmjs/WasmIonCompile.h"
-#include "asmjs/WasmStubs.h"
+#include "wasm/WasmBaselineCompile.h"
+#include "wasm/WasmIonCompile.h"
+#include "wasm/WasmStubs.h"
 
 #include "jit/MacroAssembler-inl.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 using mozilla::CheckedInt;
rename from js/src/asmjs/WasmGenerator.h
rename to js/src/wasm/WasmGenerator.h
--- a/js/src/asmjs/WasmGenerator.h
+++ b/js/src/wasm/WasmGenerator.h
@@ -14,20 +14,20 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_generator_h
 #define wasm_generator_h
 
-#include "asmjs/WasmBinary.h"
-#include "asmjs/WasmCompile.h"
-#include "asmjs/WasmModule.h"
 #include "jit/MacroAssembler.h"
+#include "wasm/WasmBinary.h"
+#include "wasm/WasmCompile.h"
+#include "wasm/WasmModule.h"
 
 namespace js {
 namespace wasm {
 
 class FunctionGenerator;
 
 // The ModuleGeneratorData holds all the state shared between the
 // ModuleGenerator thread and background compile threads. The background
rename from js/src/asmjs/WasmInstance.cpp
rename to js/src/wasm/WasmInstance.cpp
--- a/js/src/asmjs/WasmInstance.cpp
+++ b/js/src/wasm/WasmInstance.cpp
@@ -11,21 +11,21 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmInstance.h"
+#include "wasm/WasmInstance.h"
 
-#include "asmjs/WasmModule.h"
 #include "jit/BaselineJIT.h"
 #include "jit/JitCommon.h"
+#include "wasm/WasmModule.h"
 
 #include "jsobjinlines.h"
 
 #include "vm/ArrayBufferObject-inl.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
rename from js/src/asmjs/WasmInstance.h
rename to js/src/wasm/WasmInstance.h
--- a/js/src/asmjs/WasmInstance.h
+++ b/js/src/wasm/WasmInstance.h
@@ -14,19 +14,19 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_instance_h
 #define wasm_instance_h
 
-#include "asmjs/WasmCode.h"
-#include "asmjs/WasmTable.h"
 #include "gc/Barrier.h"
+#include "wasm/WasmCode.h"
+#include "wasm/WasmTable.h"
 
 namespace js {
 namespace wasm {
 
 // Instance represents a wasm instance and provides all the support for runtime
 // execution of code in the instance. Instances share various immutable data
 // structures with the Module from which they were instantiated and other
 // instances instantiated from the same Module. However, an Instance has no
rename from js/src/asmjs/WasmIonCompile.cpp
rename to js/src/wasm/WasmIonCompile.cpp
--- a/js/src/asmjs/WasmIonCompile.cpp
+++ b/js/src/wasm/WasmIonCompile.cpp
@@ -11,28 +11,28 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmIonCompile.h"
+#include "wasm/WasmIonCompile.h"
 
 #include "mozilla/MathAlgorithms.h"
 
-#include "asmjs/WasmBaselineCompile.h"
-#include "asmjs/WasmBinaryFormat.h"
-#include "asmjs/WasmBinaryIterator.h"
-#include "asmjs/WasmGenerator.h"
-#include "asmjs/WasmSignalHandlers.h"
-
 #include "jit/CodeGenerator.h"
 
+#include "wasm/WasmBaselineCompile.h"
+#include "wasm/WasmBinaryFormat.h"
+#include "wasm/WasmBinaryIterator.h"
+#include "wasm/WasmGenerator.h"
+#include "wasm/WasmSignalHandlers.h"
+
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 using mozilla::DebugOnly;
 using mozilla::IsPowerOfTwo;
 using mozilla::Maybe;
 using mozilla::Nothing;
rename from js/src/asmjs/WasmIonCompile.h
rename to js/src/wasm/WasmIonCompile.h
--- a/js/src/asmjs/WasmIonCompile.h
+++ b/js/src/wasm/WasmIonCompile.h
@@ -14,18 +14,18 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_ion_compile_h
 #define wasm_ion_compile_h
 
-#include "asmjs/WasmBinary.h"
 #include "jit/MacroAssembler.h"
+#include "wasm/WasmBinary.h"
 
 namespace js {
 namespace wasm {
 
 struct ModuleGeneratorData;
 
 typedef Vector<jit::MIRType, 8, SystemAllocPolicy> MIRTypeVector;
 typedef jit::ABIArgIter<MIRTypeVector> ABIArgMIRTypeIter;
rename from js/src/asmjs/WasmJS.cpp
rename to js/src/wasm/WasmJS.cpp
--- a/js/src/asmjs/WasmJS.cpp
+++ b/js/src/wasm/WasmJS.cpp
@@ -11,30 +11,30 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmJS.h"
+#include "wasm/WasmJS.h"
 
 #include "mozilla/CheckedInt.h"
 #include "mozilla/Maybe.h"
 
 #include "jsprf.h"
 
-#include "asmjs/WasmCompile.h"
-#include "asmjs/WasmInstance.h"
-#include "asmjs/WasmModule.h"
-#include "asmjs/WasmSignalHandlers.h"
 #include "builtin/Promise.h"
 #include "jit/JitOptions.h"
 #include "vm/Interpreter.h"
+#include "wasm/WasmCompile.h"
+#include "wasm/WasmInstance.h"
+#include "wasm/WasmModule.h"
+#include "wasm/WasmSignalHandlers.h"
 
 #include "jsobjinlines.h"
 
 #include "vm/NativeObject-inl.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
rename from js/src/asmjs/WasmJS.h
rename to js/src/wasm/WasmJS.h
--- a/js/src/asmjs/WasmJS.h
+++ b/js/src/wasm/WasmJS.h
@@ -14,19 +14,19 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_js_h
 #define wasm_js_h
 
-#include "asmjs/WasmTypes.h"
 #include "gc/Policy.h"
 #include "vm/NativeObject.h"
+#include "wasm/WasmTypes.h"
 
 namespace js {
 
 class TypedArrayObject;
 
 namespace wasm {
 
 // Creates a testing-only NaN JS object with fields as described above, for
rename from js/src/asmjs/WasmModule.cpp
rename to js/src/wasm/WasmModule.cpp
--- a/js/src/asmjs/WasmModule.cpp
+++ b/js/src/wasm/WasmModule.cpp
@@ -11,25 +11,25 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmModule.h"
+#include "wasm/WasmModule.h"
 
 #include "jsnspr.h"
 
-#include "asmjs/WasmCompile.h"
-#include "asmjs/WasmInstance.h"
-#include "asmjs/WasmJS.h"
-#include "asmjs/WasmSerialize.h"
 #include "jit/JitOptions.h"
+#include "wasm/WasmCompile.h"
+#include "wasm/WasmInstance.h"
+#include "wasm/WasmJS.h"
+#include "wasm/WasmSerialize.h"
 
 #include "jsatominlines.h"
 
 #include "vm/ArrayBufferObject-inl.h"
 #include "vm/Debugger-inl.h"
 
 using namespace js;
 using namespace js::jit;
rename from js/src/asmjs/WasmModule.h
rename to js/src/wasm/WasmModule.h
--- a/js/src/asmjs/WasmModule.h
+++ b/js/src/wasm/WasmModule.h
@@ -14,20 +14,21 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_module_h
 #define wasm_module_h
 
-#include "asmjs/WasmCode.h"
-#include "asmjs/WasmTable.h"
 #include "js/TypeDecls.h"
 
+#include "wasm/WasmCode.h"
+#include "wasm/WasmTable.h"
+
 namespace js {
 namespace wasm {
 
 // LinkData contains all the metadata necessary to patch all the locations
 // that depend on the absolute address of a CodeSegment.
 //
 // LinkData is built incrementing by ModuleGenerator and then stored immutably
 // in Module.
rename from js/src/asmjs/WasmSerialize.h
rename to js/src/wasm/WasmSerialize.h
rename from js/src/asmjs/WasmSignalHandlers.cpp
rename to js/src/wasm/WasmSignalHandlers.cpp
--- a/js/src/asmjs/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp
@@ -11,25 +11,25 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmSignalHandlers.h"
+#include "wasm/WasmSignalHandlers.h"
 
 #include "mozilla/DebugOnly.h"
 #include "mozilla/PodOperations.h"
 
-#include "asmjs/WasmInstance.h"
 #include "jit/AtomicOperations.h"
 #include "jit/Disassembler.h"
 #include "vm/Runtime.h"
+#include "wasm/WasmInstance.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 using JS::GenericNaN;
 using mozilla::DebugOnly;
 using mozilla::PodArrayZero;
rename from js/src/asmjs/WasmSignalHandlers.h
rename to js/src/wasm/WasmSignalHandlers.h
rename from js/src/asmjs/WasmStubs.cpp
rename to js/src/wasm/WasmStubs.cpp
--- a/js/src/asmjs/WasmStubs.cpp
+++ b/js/src/wasm/WasmStubs.cpp
@@ -11,22 +11,22 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmStubs.h"
+#include "wasm/WasmStubs.h"
 
 #include "mozilla/ArrayUtils.h"
 
-#include "asmjs/WasmCode.h"
-#include "asmjs/WasmIonCompile.h"
+#include "wasm/WasmCode.h"
+#include "wasm/WasmIonCompile.h"
 
 #include "jit/MacroAssembler-inl.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 using mozilla::ArrayLength;
rename from js/src/asmjs/WasmStubs.h
rename to js/src/wasm/WasmStubs.h
--- a/js/src/asmjs/WasmStubs.h
+++ b/js/src/wasm/WasmStubs.h
@@ -14,17 +14,17 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_stubs_h
 #define wasm_stubs_h
 
-#include "asmjs/WasmTypes.h"
+#include "wasm/WasmTypes.h"
 
 namespace js {
 
 namespace jit { class MacroAssembler; class Label; }
 
 namespace wasm {
 
 class FuncDefExport;
rename from js/src/asmjs/WasmTable.cpp
rename to js/src/wasm/WasmTable.cpp
--- a/js/src/asmjs/WasmTable.cpp
+++ b/js/src/wasm/WasmTable.cpp
@@ -11,24 +11,24 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmTable.h"
+#include "wasm/WasmTable.h"
 
 #include "mozilla/CheckedInt.h"
 
 #include "jscntxt.h"
 
-#include "asmjs/WasmInstance.h"
-#include "asmjs/WasmJS.h"
+#include "wasm/WasmInstance.h"
+#include "wasm/WasmJS.h"
 
 using namespace js;
 using namespace js::wasm;
 using mozilla::CheckedInt;
 
 Table::Table(JSContext* cx, const TableDesc& desc, HandleWasmTableObject maybeObject,
              UniqueByteArray array)
   : maybeObject_(maybeObject),
rename from js/src/asmjs/WasmTable.h
rename to js/src/wasm/WasmTable.h
--- a/js/src/asmjs/WasmTable.h
+++ b/js/src/wasm/WasmTable.h
@@ -14,18 +14,18 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_table_h
 #define wasm_table_h
 
-#include "asmjs/WasmCode.h"
 #include "gc/Policy.h"
+#include "wasm/WasmCode.h"
 
 namespace js {
 namespace wasm {
 
 // A Table is an indexable array of opaque values. Tables are first-class
 // stateful objects exposed to WebAssembly. asm.js also uses Tables to represent
 // its homogeneous function-pointer tables.
 
rename from js/src/asmjs/WasmTextToBinary.cpp
rename to js/src/wasm/WasmTextToBinary.cpp
--- a/js/src/asmjs/WasmTextToBinary.cpp
+++ b/js/src/wasm/WasmTextToBinary.cpp
@@ -11,33 +11,33 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmTextToBinary.h"
+#include "wasm/WasmTextToBinary.h"
 
 #include "mozilla/CheckedInt.h"
 #include "mozilla/MathAlgorithms.h"
 #include "mozilla/Maybe.h"
 
 #include "jsdtoa.h"
 #include "jsnum.h"
 #include "jsprf.h"
 #include "jsstr.h"
 
-#include "asmjs/WasmAST.h"
-#include "asmjs/WasmBinaryFormat.h"
-#include "asmjs/WasmTypes.h"
 #include "ds/LifoAlloc.h"
 #include "js/CharacterEncoding.h"
 #include "js/HashTable.h"
+#include "wasm/WasmAST.h"
+#include "wasm/WasmBinaryFormat.h"
+#include "wasm/WasmTypes.h"
 
 using namespace js;
 using namespace js::wasm;
 
 using mozilla::BitwiseCast;
 using mozilla::CeilingLog2;
 using mozilla::CountLeadingZeroes32;
 using mozilla::CheckedInt;
rename from js/src/asmjs/WasmTextToBinary.h
rename to js/src/wasm/WasmTextToBinary.h
--- a/js/src/asmjs/WasmTextToBinary.h
+++ b/js/src/wasm/WasmTextToBinary.h
@@ -14,19 +14,20 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 #ifndef wasm_text_to_binary_h
 #define wasm_text_to_binary_h
 
-#include "asmjs/WasmBinary.h"
 #include "js/Utility.h"
 
+#include "wasm/WasmBinary.h"
+
 namespace js {
 namespace wasm {
 
 // Translate the textual representation of a wasm module (given by a
 // null-terminated char16_t array) into serialized bytes. If there is an error
 // other than out-of-memory an error message string will be stored in 'error'.
 
 extern MOZ_MUST_USE bool
rename from js/src/asmjs/WasmTextUtils.cpp
rename to js/src/wasm/WasmTextUtils.cpp
--- a/js/src/asmjs/WasmTextUtils.cpp
+++ b/js/src/wasm/WasmTextUtils.cpp
@@ -11,20 +11,20 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmTextUtils.h"
+#include "wasm/WasmTextUtils.h"
 
-#include "asmjs/WasmBinary.h"
 #include "vm/StringBuffer.h"
+#include "wasm/WasmBinary.h"
 
 using namespace js;
 using namespace js::jit;
 
 using mozilla::IsNaN;
 
 template<size_t base>
 bool
rename from js/src/asmjs/WasmTextUtils.h
rename to js/src/wasm/WasmTextUtils.h
rename from js/src/asmjs/WasmTypes.cpp
rename to js/src/wasm/WasmTypes.cpp
--- a/js/src/asmjs/WasmTypes.cpp
+++ b/js/src/wasm/WasmTypes.cpp
@@ -11,31 +11,31 @@
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
-#include "asmjs/WasmTypes.h"
+#include "wasm/WasmTypes.h"
 
 #include "mozilla/MathAlgorithms.h"
 
 #include "fdlibm.h"
 
 #include "jslibmath.h"
 #include "jsmath.h"
 
-#include "asmjs/WasmInstance.h"
-#include "asmjs/WasmSerialize.h"
-#include "asmjs/WasmSignalHandlers.h"
 #include "jit/MacroAssembler.h"
 #include "js/Conversions.h"
 #include "vm/Interpreter.h"
+#include "wasm/WasmInstance.h"
+#include "wasm/WasmSerialize.h"
+#include "wasm/WasmSignalHandlers.h"
 
 #include "vm/Stack-inl.h"
 
 using namespace js;
 using namespace js::jit;
 using namespace js::wasm;
 
 using mozilla::IsNaN;
rename from js/src/asmjs/WasmTypes.h
rename to js/src/wasm/WasmTypes.h
--- a/js/src/asmjs/WasmTypes.h
+++ b/js/src/wasm/WasmTypes.h
@@ -24,23 +24,23 @@
 #include "mozilla/Maybe.h"
 #include "mozilla/Move.h"
 #include "mozilla/RefCounted.h"
 #include "mozilla/RefPtr.h"
 #include "mozilla/Unused.h"
 
 #include "NamespaceImports.h"
 
-#include "asmjs/WasmBinary.h"
 #include "ds/LifoAlloc.h"
 #include "jit/IonTypes.h"
 #include "js/UniquePtr.h"
 #include "js/Utility.h"
 #include "js/Vector.h"
 #include "vm/MallocProvider.h"
+#include "wasm/WasmBinary.h"
 
 namespace js {
 
 class PropertyName;
 namespace jit { struct BaselineScript; }
 
 // This is a widespread header, so lets keep out the core wasm impl types.