Bug 902908 - Rename js/src/ion to js/src/jit. r=luke, a=bajaj
authorJan de Mooij <jdemooij@mozilla.com>
Wed, 28 Aug 2013 18:00:02 -0400
changeset 148470 c253a1011418d8eb171fba11f1071957c85738e5
parent 148469 3387658ba3d355c5574a818a00e472fd21b550dc
child 148471 d13fb050f87903bd99264200887975a3f5bf5dbb
push id2818
push userryanvm@gmail.com
push dateWed, 28 Aug 2013 22:00:55 +0000
treeherdermozilla-beta@882cfa3872c5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersluke, bajaj
bugs902908
milestone24.0
Bug 902908 - Rename js/src/ion to js/src/jit. r=luke, a=bajaj
CLOBBER
js/src/Makefile.in
js/src/assembler/assembler/AssemblerBuffer.h
js/src/builtin/ParallelArray.h
js/src/builtin/TestingFunctions.cpp
js/src/frontend/BytecodeCompiler.cpp
js/src/frontend/BytecodeEmitter.cpp
js/src/gc/Marking.cpp
js/src/gc/Marking.h
js/src/gc/RootMarking.cpp
js/src/gc/Zone.cpp
js/src/ion/AliasAnalysis.cpp
js/src/ion/AliasAnalysis.h
js/src/ion/AsmJS.cpp
js/src/ion/AsmJS.h
js/src/ion/AsmJSLink.cpp
js/src/ion/AsmJSModule.h
js/src/ion/AsmJSSignalHandlers.cpp
js/src/ion/BacktrackingAllocator.cpp
js/src/ion/BacktrackingAllocator.h
js/src/ion/Bailouts.cpp
js/src/ion/Bailouts.h
js/src/ion/BaselineBailouts.cpp
js/src/ion/BaselineCompiler.cpp
js/src/ion/BaselineCompiler.h
js/src/ion/BaselineFrame-inl.h
js/src/ion/BaselineFrame.cpp
js/src/ion/BaselineFrame.h
js/src/ion/BaselineFrameInfo.cpp
js/src/ion/BaselineFrameInfo.h
js/src/ion/BaselineHelpers.h
js/src/ion/BaselineIC.cpp
js/src/ion/BaselineIC.h
js/src/ion/BaselineInspector.cpp
js/src/ion/BaselineInspector.h
js/src/ion/BaselineJIT.cpp
js/src/ion/BaselineJIT.h
js/src/ion/BaselineRegisters.h
js/src/ion/BitSet.cpp
js/src/ion/BitSet.h
js/src/ion/BytecodeAnalysis.cpp
js/src/ion/BytecodeAnalysis.h
js/src/ion/C1Spewer.cpp
js/src/ion/C1Spewer.h
js/src/ion/CodeGenerator.cpp
js/src/ion/CodeGenerator.h
js/src/ion/CompactBuffer.h
js/src/ion/CompileInfo-inl.h
js/src/ion/CompileInfo.h
js/src/ion/CompilerRoot.h
js/src/ion/EdgeCaseAnalysis.cpp
js/src/ion/EdgeCaseAnalysis.h
js/src/ion/EffectiveAddressAnalysis.cpp
js/src/ion/EffectiveAddressAnalysis.h
js/src/ion/ExecutionModeInlines.h
js/src/ion/FixedArityList.h
js/src/ion/FixedList.h
js/src/ion/InlineList.h
js/src/ion/Ion.cpp
js/src/ion/Ion.h
js/src/ion/IonAllocPolicy.h
js/src/ion/IonAnalysis.cpp
js/src/ion/IonAnalysis.h
js/src/ion/IonBuilder.cpp
js/src/ion/IonBuilder.h
js/src/ion/IonCaches.cpp
js/src/ion/IonCaches.h
js/src/ion/IonCode.h
js/src/ion/IonCompartment.h
js/src/ion/IonFrameIterator-inl.h
js/src/ion/IonFrameIterator.h
js/src/ion/IonFrames-inl.h
js/src/ion/IonFrames.cpp
js/src/ion/IonFrames.h
js/src/ion/IonInstrumentation.h
js/src/ion/IonLinker.h
js/src/ion/IonMacroAssembler.cpp
js/src/ion/IonMacroAssembler.h
js/src/ion/IonSpewer.cpp
js/src/ion/IonSpewer.h
js/src/ion/IonTypes.h
js/src/ion/JSONSpewer.cpp
js/src/ion/JSONSpewer.h
js/src/ion/LICM.cpp
js/src/ion/LICM.h
js/src/ion/LIR-Common.h
js/src/ion/LIR-inl.h
js/src/ion/LIR.cpp
js/src/ion/LIR.h
js/src/ion/LOpcodes.h
js/src/ion/LinearScan.cpp
js/src/ion/LinearScan.h
js/src/ion/LiveRangeAllocator.cpp
js/src/ion/LiveRangeAllocator.h
js/src/ion/Lowering.cpp
js/src/ion/Lowering.h
js/src/ion/MCallOptimize.cpp
js/src/ion/MIR.cpp
js/src/ion/MIR.h
js/src/ion/MIRGenerator.h
js/src/ion/MIRGraph.cpp
js/src/ion/MIRGraph.h
js/src/ion/MOpcodes.h
js/src/ion/MoveEmitter.h
js/src/ion/MoveResolver.cpp
js/src/ion/MoveResolver.h
js/src/ion/ParallelArrayAnalysis.cpp
js/src/ion/ParallelArrayAnalysis.h
js/src/ion/ParallelFunctions.cpp
js/src/ion/ParallelFunctions.h
js/src/ion/PcScriptCache-inl.h
js/src/ion/PcScriptCache.h
js/src/ion/PerfSpewer.cpp
js/src/ion/PerfSpewer.h
js/src/ion/RangeAnalysis.cpp
js/src/ion/RangeAnalysis.h
js/src/ion/RegisterAllocator.cpp
js/src/ion/RegisterAllocator.h
js/src/ion/RegisterSets.h
js/src/ion/Registers.h
js/src/ion/Safepoints.cpp
js/src/ion/Safepoints.h
js/src/ion/SnapshotReader.h
js/src/ion/SnapshotWriter.h
js/src/ion/Snapshots.cpp
js/src/ion/StackSlotAllocator.h
js/src/ion/StupidAllocator.cpp
js/src/ion/StupidAllocator.h
js/src/ion/TypePolicy.cpp
js/src/ion/TypePolicy.h
js/src/ion/UnreachableCodeElimination.cpp
js/src/ion/UnreachableCodeElimination.h
js/src/ion/VMFunctions.cpp
js/src/ion/VMFunctions.h
js/src/ion/ValueNumbering.cpp
js/src/ion/ValueNumbering.h
js/src/ion/arm/Architecture-arm.cpp
js/src/ion/arm/Architecture-arm.h
js/src/ion/arm/Assembler-arm.cpp
js/src/ion/arm/Assembler-arm.h
js/src/ion/arm/Bailouts-arm.cpp
js/src/ion/arm/BaselineCompiler-arm.cpp
js/src/ion/arm/BaselineCompiler-arm.h
js/src/ion/arm/BaselineHelpers-arm.h
js/src/ion/arm/BaselineIC-arm.cpp
js/src/ion/arm/BaselineRegisters-arm.h
js/src/ion/arm/CodeGenerator-arm.cpp
js/src/ion/arm/CodeGenerator-arm.h
js/src/ion/arm/IonFrames-arm.cpp
js/src/ion/arm/IonFrames-arm.h
js/src/ion/arm/LIR-arm.h
js/src/ion/arm/LOpcodes-arm.h
js/src/ion/arm/Lowering-arm.cpp
js/src/ion/arm/Lowering-arm.h
js/src/ion/arm/MacroAssembler-arm.cpp
js/src/ion/arm/MacroAssembler-arm.h
js/src/ion/arm/MoveEmitter-arm.cpp
js/src/ion/arm/MoveEmitter-arm.h
js/src/ion/arm/Trampoline-arm.cpp
js/src/ion/shared/Assembler-shared.h
js/src/ion/shared/Assembler-x86-shared.cpp
js/src/ion/shared/Assembler-x86-shared.h
js/src/ion/shared/BaselineCompiler-shared.cpp
js/src/ion/shared/BaselineCompiler-shared.h
js/src/ion/shared/BaselineCompiler-x86-shared.cpp
js/src/ion/shared/BaselineCompiler-x86-shared.h
js/src/ion/shared/BaselineIC-x86-shared.cpp
js/src/ion/shared/CodeGenerator-shared-inl.h
js/src/ion/shared/CodeGenerator-shared.cpp
js/src/ion/shared/CodeGenerator-shared.h
js/src/ion/shared/CodeGenerator-x86-shared.cpp
js/src/ion/shared/CodeGenerator-x86-shared.h
js/src/ion/shared/IonAssemblerBuffer.h
js/src/ion/shared/IonAssemblerBufferWithConstantPools.h
js/src/ion/shared/IonFrames-shared.h
js/src/ion/shared/IonFrames-x86-shared.cpp
js/src/ion/shared/IonFrames-x86-shared.h
js/src/ion/shared/LIR-x86-shared.h
js/src/ion/shared/Lowering-shared-inl.h
js/src/ion/shared/Lowering-shared.cpp
js/src/ion/shared/Lowering-shared.h
js/src/ion/shared/Lowering-x86-shared.cpp
js/src/ion/shared/Lowering-x86-shared.h
js/src/ion/shared/MacroAssembler-x86-shared.h
js/src/ion/shared/MoveEmitter-x86-shared.cpp
js/src/ion/shared/MoveEmitter-x86-shared.h
js/src/ion/x64/Architecture-x64.h
js/src/ion/x64/Assembler-x64.cpp
js/src/ion/x64/Assembler-x64.h
js/src/ion/x64/Bailouts-x64.cpp
js/src/ion/x64/BaselineCompiler-x64.cpp
js/src/ion/x64/BaselineCompiler-x64.h
js/src/ion/x64/BaselineHelpers-x64.h
js/src/ion/x64/BaselineIC-x64.cpp
js/src/ion/x64/BaselineRegisters-x64.h
js/src/ion/x64/CodeGenerator-x64.cpp
js/src/ion/x64/CodeGenerator-x64.h
js/src/ion/x64/LIR-x64.h
js/src/ion/x64/LOpcodes-x64.h
js/src/ion/x64/Lowering-x64.cpp
js/src/ion/x64/Lowering-x64.h
js/src/ion/x64/MacroAssembler-x64.cpp
js/src/ion/x64/MacroAssembler-x64.h
js/src/ion/x64/Trampoline-x64.cpp
js/src/ion/x86/Architecture-x86.h
js/src/ion/x86/Assembler-x86.cpp
js/src/ion/x86/Assembler-x86.h
js/src/ion/x86/Bailouts-x86.cpp
js/src/ion/x86/BaselineCompiler-x86.cpp
js/src/ion/x86/BaselineCompiler-x86.h
js/src/ion/x86/BaselineHelpers-x86.h
js/src/ion/x86/BaselineIC-x86.cpp
js/src/ion/x86/BaselineRegisters-x86.h
js/src/ion/x86/CodeGenerator-x86.cpp
js/src/ion/x86/CodeGenerator-x86.h
js/src/ion/x86/LIR-x86.h
js/src/ion/x86/LOpcodes-x86.h
js/src/ion/x86/Lowering-x86.cpp
js/src/ion/x86/Lowering-x86.h
js/src/ion/x86/MacroAssembler-x86.cpp
js/src/ion/x86/MacroAssembler-x86.h
js/src/ion/x86/Trampoline-x86.cpp
js/src/jit/AliasAnalysis.cpp
js/src/jit/AliasAnalysis.h
js/src/jit/AsmJS.cpp
js/src/jit/AsmJS.h
js/src/jit/AsmJSLink.cpp
js/src/jit/AsmJSModule.h
js/src/jit/AsmJSSignalHandlers.cpp
js/src/jit/BacktrackingAllocator.cpp
js/src/jit/BacktrackingAllocator.h
js/src/jit/Bailouts.cpp
js/src/jit/Bailouts.h
js/src/jit/BaselineBailouts.cpp
js/src/jit/BaselineCompiler.cpp
js/src/jit/BaselineCompiler.h
js/src/jit/BaselineFrame-inl.h
js/src/jit/BaselineFrame.cpp
js/src/jit/BaselineFrame.h
js/src/jit/BaselineFrameInfo.cpp
js/src/jit/BaselineFrameInfo.h
js/src/jit/BaselineHelpers.h
js/src/jit/BaselineIC.cpp
js/src/jit/BaselineIC.h
js/src/jit/BaselineInspector.cpp
js/src/jit/BaselineInspector.h
js/src/jit/BaselineJIT.cpp
js/src/jit/BaselineJIT.h
js/src/jit/BaselineRegisters.h
js/src/jit/BitSet.cpp
js/src/jit/BitSet.h
js/src/jit/BytecodeAnalysis.cpp
js/src/jit/BytecodeAnalysis.h
js/src/jit/C1Spewer.cpp
js/src/jit/C1Spewer.h
js/src/jit/CodeGenerator.cpp
js/src/jit/CodeGenerator.h
js/src/jit/CompactBuffer.h
js/src/jit/CompileInfo-inl.h
js/src/jit/CompileInfo.h
js/src/jit/CompilerRoot.h
js/src/jit/EdgeCaseAnalysis.cpp
js/src/jit/EdgeCaseAnalysis.h
js/src/jit/EffectiveAddressAnalysis.cpp
js/src/jit/EffectiveAddressAnalysis.h
js/src/jit/ExecutionModeInlines.h
js/src/jit/FixedArityList.h
js/src/jit/FixedList.h
js/src/jit/InlineList.h
js/src/jit/Ion.cpp
js/src/jit/Ion.h
js/src/jit/IonAllocPolicy.h
js/src/jit/IonAnalysis.cpp
js/src/jit/IonAnalysis.h
js/src/jit/IonBuilder.cpp
js/src/jit/IonBuilder.h
js/src/jit/IonCaches.cpp
js/src/jit/IonCaches.h
js/src/jit/IonCode.h
js/src/jit/IonCompartment.h
js/src/jit/IonFrameIterator-inl.h
js/src/jit/IonFrameIterator.h
js/src/jit/IonFrames-inl.h
js/src/jit/IonFrames.cpp
js/src/jit/IonFrames.h
js/src/jit/IonInstrumentation.h
js/src/jit/IonLinker.h
js/src/jit/IonMacroAssembler.cpp
js/src/jit/IonMacroAssembler.h
js/src/jit/IonSpewer.cpp
js/src/jit/IonSpewer.h
js/src/jit/IonTypes.h
js/src/jit/JSONSpewer.cpp
js/src/jit/JSONSpewer.h
js/src/jit/LICM.cpp
js/src/jit/LICM.h
js/src/jit/LIR-Common.h
js/src/jit/LIR-inl.h
js/src/jit/LIR.cpp
js/src/jit/LIR.h
js/src/jit/LOpcodes.h
js/src/jit/LinearScan.cpp
js/src/jit/LinearScan.h
js/src/jit/LiveRangeAllocator.cpp
js/src/jit/LiveRangeAllocator.h
js/src/jit/Lowering.cpp
js/src/jit/Lowering.h
js/src/jit/MCallOptimize.cpp
js/src/jit/MIR.cpp
js/src/jit/MIR.h
js/src/jit/MIRGenerator.h
js/src/jit/MIRGraph.cpp
js/src/jit/MIRGraph.h
js/src/jit/MOpcodes.h
js/src/jit/MoveEmitter.h
js/src/jit/MoveResolver.cpp
js/src/jit/MoveResolver.h
js/src/jit/ParallelArrayAnalysis.cpp
js/src/jit/ParallelArrayAnalysis.h
js/src/jit/ParallelFunctions.cpp
js/src/jit/ParallelFunctions.h
js/src/jit/PcScriptCache-inl.h
js/src/jit/PcScriptCache.h
js/src/jit/PerfSpewer.cpp
js/src/jit/PerfSpewer.h
js/src/jit/RangeAnalysis.cpp
js/src/jit/RangeAnalysis.h
js/src/jit/RegisterAllocator.cpp
js/src/jit/RegisterAllocator.h
js/src/jit/RegisterSets.h
js/src/jit/Registers.h
js/src/jit/Safepoints.cpp
js/src/jit/Safepoints.h
js/src/jit/SnapshotReader.h
js/src/jit/SnapshotWriter.h
js/src/jit/Snapshots.cpp
js/src/jit/StackSlotAllocator.h
js/src/jit/StupidAllocator.cpp
js/src/jit/StupidAllocator.h
js/src/jit/TypePolicy.cpp
js/src/jit/TypePolicy.h
js/src/jit/UnreachableCodeElimination.cpp
js/src/jit/UnreachableCodeElimination.h
js/src/jit/VMFunctions.cpp
js/src/jit/VMFunctions.h
js/src/jit/ValueNumbering.cpp
js/src/jit/ValueNumbering.h
js/src/jit/arm/Architecture-arm.cpp
js/src/jit/arm/Architecture-arm.h
js/src/jit/arm/Assembler-arm.cpp
js/src/jit/arm/Assembler-arm.h
js/src/jit/arm/Bailouts-arm.cpp
js/src/jit/arm/BaselineCompiler-arm.cpp
js/src/jit/arm/BaselineCompiler-arm.h
js/src/jit/arm/BaselineHelpers-arm.h
js/src/jit/arm/BaselineIC-arm.cpp
js/src/jit/arm/BaselineRegisters-arm.h
js/src/jit/arm/CodeGenerator-arm.cpp
js/src/jit/arm/CodeGenerator-arm.h
js/src/jit/arm/IonFrames-arm.cpp
js/src/jit/arm/IonFrames-arm.h
js/src/jit/arm/LIR-arm.h
js/src/jit/arm/LOpcodes-arm.h
js/src/jit/arm/Lowering-arm.cpp
js/src/jit/arm/Lowering-arm.h
js/src/jit/arm/MacroAssembler-arm.cpp
js/src/jit/arm/MacroAssembler-arm.h
js/src/jit/arm/MoveEmitter-arm.cpp
js/src/jit/arm/MoveEmitter-arm.h
js/src/jit/arm/Trampoline-arm.cpp
js/src/jit/shared/Assembler-shared.h
js/src/jit/shared/Assembler-x86-shared.cpp
js/src/jit/shared/Assembler-x86-shared.h
js/src/jit/shared/BaselineCompiler-shared.cpp
js/src/jit/shared/BaselineCompiler-shared.h
js/src/jit/shared/BaselineCompiler-x86-shared.cpp
js/src/jit/shared/BaselineCompiler-x86-shared.h
js/src/jit/shared/BaselineIC-x86-shared.cpp
js/src/jit/shared/CodeGenerator-shared-inl.h
js/src/jit/shared/CodeGenerator-shared.cpp
js/src/jit/shared/CodeGenerator-shared.h
js/src/jit/shared/CodeGenerator-x86-shared.cpp
js/src/jit/shared/CodeGenerator-x86-shared.h
js/src/jit/shared/IonAssemblerBuffer.h
js/src/jit/shared/IonAssemblerBufferWithConstantPools.h
js/src/jit/shared/IonFrames-shared.h
js/src/jit/shared/IonFrames-x86-shared.cpp
js/src/jit/shared/IonFrames-x86-shared.h
js/src/jit/shared/LIR-x86-shared.h
js/src/jit/shared/Lowering-shared-inl.h
js/src/jit/shared/Lowering-shared.cpp
js/src/jit/shared/Lowering-shared.h
js/src/jit/shared/Lowering-x86-shared.cpp
js/src/jit/shared/Lowering-x86-shared.h
js/src/jit/shared/MacroAssembler-x86-shared.h
js/src/jit/shared/MoveEmitter-x86-shared.cpp
js/src/jit/shared/MoveEmitter-x86-shared.h
js/src/jit/x64/Architecture-x64.h
js/src/jit/x64/Assembler-x64.cpp
js/src/jit/x64/Assembler-x64.h
js/src/jit/x64/Bailouts-x64.cpp
js/src/jit/x64/BaselineCompiler-x64.cpp
js/src/jit/x64/BaselineCompiler-x64.h
js/src/jit/x64/BaselineHelpers-x64.h
js/src/jit/x64/BaselineIC-x64.cpp
js/src/jit/x64/BaselineRegisters-x64.h
js/src/jit/x64/CodeGenerator-x64.cpp
js/src/jit/x64/CodeGenerator-x64.h
js/src/jit/x64/LIR-x64.h
js/src/jit/x64/LOpcodes-x64.h
js/src/jit/x64/Lowering-x64.cpp
js/src/jit/x64/Lowering-x64.h
js/src/jit/x64/MacroAssembler-x64.cpp
js/src/jit/x64/MacroAssembler-x64.h
js/src/jit/x64/Trampoline-x64.cpp
js/src/jit/x86/Architecture-x86.h
js/src/jit/x86/Assembler-x86.cpp
js/src/jit/x86/Assembler-x86.h
js/src/jit/x86/Bailouts-x86.cpp
js/src/jit/x86/BaselineCompiler-x86.cpp
js/src/jit/x86/BaselineCompiler-x86.h
js/src/jit/x86/BaselineHelpers-x86.h
js/src/jit/x86/BaselineIC-x86.cpp
js/src/jit/x86/BaselineRegisters-x86.h
js/src/jit/x86/CodeGenerator-x86.cpp
js/src/jit/x86/CodeGenerator-x86.h
js/src/jit/x86/LIR-x86.h
js/src/jit/x86/LOpcodes-x86.h
js/src/jit/x86/Lowering-x86.cpp
js/src/jit/x86/Lowering-x86.h
js/src/jit/x86/MacroAssembler-x86.cpp
js/src/jit/x86/MacroAssembler-x86.h
js/src/jit/x86/Trampoline-x86.cpp
js/src/jsapi.cpp
js/src/jscntxt.cpp
js/src/jscntxtinlines.h
js/src/jscompartment.cpp
js/src/jsdbgapi.cpp
js/src/jsfun.cpp
js/src/jsgc.cpp
js/src/jsinfer.cpp
js/src/jsinferinlines.h
js/src/jsmemorymetrics.cpp
js/src/jsobj.cpp
js/src/jsscript.cpp
js/src/jsscriptinlines.h
js/src/jsworkers.cpp
js/src/jsworkers.h
js/src/shell/js.cpp
js/src/vm/ArgumentsObject.cpp
js/src/vm/Debugger.cpp
js/src/vm/ForkJoin.cpp
js/src/vm/ForkJoin.h
js/src/vm/Interpreter-inl.h
js/src/vm/Interpreter.cpp
js/src/vm/SPSProfiler.cpp
js/src/vm/Stack-inl.h
js/src/vm/Stack.cpp
js/src/vm/Stack.h
--- a/CLOBBER
+++ b/CLOBBER
@@ -12,10 +12,10 @@
 #          O               O
 #          |               |
 #          O <-- Clobber   O  <-- Clobber
 #
 # Note: The description below will be part of the error message shown to users.
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
-Bug 886886 - replace fixed-ratio capture resampler in webrtc with speex resampler
-Requires a clobber due to modification of a .gypi file without a .gyp or configure.in change
+
+Bug 902908 renamed js/src/ion to js/src/jit and required a clobber
\ No newline at end of file
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -69,28 +69,28 @@ VPATH		+= \
 # BEGIN enable non-releasable features
 #
 ifdef NIGHTLY_BUILD
 DEFINES += -DENABLE_PARALLEL_JS
 endif
 
 # Ion
 ifdef ENABLE_ION
-VPATH +=	$(srcdir)/ion
-VPATH +=	$(srcdir)/ion/shared
+VPATH +=	$(srcdir)/jit
+VPATH +=	$(srcdir)/jit/shared
 
 ifeq (86, $(findstring 86,$(TARGET_CPU)))
 ifeq (x86_64, $(TARGET_CPU))
-VPATH +=	$(srcdir)/ion/x64
+VPATH +=	$(srcdir)/jit/x64
 else
-VPATH +=	$(srcdir)/ion/x86
+VPATH +=	$(srcdir)/jit/x86
 endif
 endif
 ifeq (arm, $(findstring arm, $(TARGET_CPU)))
-VPATH +=	$(srcdir)/ion/arm
+VPATH +=	$(srcdir)/jit/arm
 endif
 endif #ENABLE_ION
 
 ###############################################
 # BEGIN include sources for the Nitro assembler
 #
 
 VPATH += 	$(srcdir)/assembler \
--- a/js/src/assembler/assembler/AssemblerBuffer.h
+++ b/js/src/assembler/assembler/AssemblerBuffer.h
@@ -38,17 +38,17 @@
 #include <limits.h>
 #include "assembler/jit/ExecutableAllocator.h"
 #include "assembler/wtf/Assertions.h"
 
 #include <stdarg.h>
 #include "jsfriendapi.h"
 #include "jsopcode.h"
 
-#include "ion/IonSpewer.h"
+#include "jit/IonSpewer.h"
 #include "js/RootingAPI.h"
 
 #define PRETTY_PRINT_OFFSET(os) (((os)<0)?"-":""), (((os)<0)?-(os):(os))
 
 #define FIXME_INSN_PRINTING                                 \
     do {                                                    \
         spew("FIXME insn printing %s:%d",                   \
              __FILE__, __LINE__);                           \
--- a/js/src/builtin/ParallelArray.h
+++ b/js/src/builtin/ParallelArray.h
@@ -6,17 +6,17 @@
 
 #ifndef builtin_ParallelArray_h
 #define builtin_ParallelArray_h
 
 #include "jsapi.h"
 #include "jscntxt.h"
 #include "jsobj.h"
 
-#include "ion/Ion.h"
+#include "jit/Ion.h"
 #include "vm/ForkJoin.h"
 #include "vm/ThreadPool.h"
 
 namespace js {
 
 class ParallelArrayObject : public JSObject
 {
     static Class protoClass;
--- a/js/src/builtin/TestingFunctions.cpp
+++ b/js/src/builtin/TestingFunctions.cpp
@@ -9,17 +9,17 @@
 #include "jsapi.h"
 #include "jscntxt.h"
 #include "jsfriendapi.h"
 #include "jsgc.h"
 #include "jsobj.h"
 #include "jsprf.h"
 #include "jswrapper.h"
 
-#include "ion/AsmJS.h"
+#include "jit/AsmJS.h"
 #include "vm/ForkJoin.h"
 
 #include "vm/ObjectImpl-inl.h"
 
 using namespace js;
 using namespace JS;
 
 using mozilla::ArrayLength;
--- a/js/src/frontend/BytecodeCompiler.cpp
+++ b/js/src/frontend/BytecodeCompiler.cpp
@@ -5,17 +5,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "frontend/BytecodeCompiler.h"
 
 #include "jsscript.h"
 #include "frontend/BytecodeEmitter.h"
 #include "frontend/FoldConstants.h"
 #include "frontend/NameFunctions.h"
-#include "ion/AsmJS.h"
+#include "jit/AsmJS.h"
 #include "vm/GlobalObject.h"
 
 #include "jsobjinlines.h"
 
 #include "frontend/ParseMaps-inl.h"
 #include "frontend/Parser-inl.h"
 #include "frontend/SharedContext-inl.h"
 
--- a/js/src/frontend/BytecodeEmitter.cpp
+++ b/js/src/frontend/BytecodeEmitter.cpp
@@ -23,17 +23,17 @@
 #include "jscntxt.h"
 #include "jsfun.h"
 #include "jsnum.h"
 #include "jsopcode.h"
 #include "jsscript.h"
 
 #include "frontend/Parser.h"
 #include "frontend/TokenStream.h"
-#include "ion/AsmJS.h"
+#include "jit/AsmJS.h"
 #include "vm/Debugger.h"
 
 #include "jsatominlines.h"
 #include "jsobjinlines.h"
 #include "jsscriptinlines.h"
 
 #include "frontend/ParseMaps-inl.h"
 #include "frontend/ParseNode-inl.h"
--- a/js/src/gc/Marking.cpp
+++ b/js/src/gc/Marking.cpp
@@ -3,17 +3,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 "gc/Marking.h"
 
 #include "mozilla/DebugOnly.h"
 
-#include "ion/IonCode.h"
+#include "jit/IonCode.h"
 #include "vm/Shape.h"
 
 #include "jscompartmentinlines.h"
 
 #include "gc/Nursery-inl.h"
 #include "vm/Shape-inl.h"
 #include "vm/String-inl.h"
 
--- a/js/src/gc/Marking.h
+++ b/js/src/gc/Marking.h
@@ -9,17 +9,17 @@
 
 #include "jsgc.h"
 #include "jscntxt.h"
 #include "jslock.h"
 
 #include "gc/Barrier.h"
 #include "gc/Nursery.h"
 #include "js/TemplateLib.h"
-#include "ion/IonCode.h"
+#include "jit/IonCode.h"
 
 extern "C" {
 struct JSContext;
 class JSFunction;
 class JSObject;
 class JSScript;
 }
 
--- a/js/src/gc/RootMarking.cpp
+++ b/js/src/gc/RootMarking.cpp
@@ -14,18 +14,18 @@
 #include "jsprf.h"
 #include "jswatchpoint.h"
 
 #include "builtin/MapObject.h"
 #include "frontend/BytecodeCompiler.h"
 #include "gc/GCInternals.h"
 #include "gc/Marking.h"
 #ifdef JS_ION
-# include "ion/IonMacroAssembler.h"
-# include "ion/IonFrameIterator.h"
+# include "jit/IonMacroAssembler.h"
+# include "jit/IonFrameIterator.h"
 #endif
 #include "js/HashTable.h"
 #include "vm/Debugger.h"
 
 #include "jsgcinlines.h"
 #include "jsobjinlines.h"
 
 #ifdef MOZ_VALGRIND
--- a/js/src/gc/Zone.cpp
+++ b/js/src/gc/Zone.cpp
@@ -5,19 +5,19 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "jscntxt.h"
 #include "jsgc.h"
 
 #include "vm/Debugger.h"
 
 #ifdef JS_ION
-#include "ion/BaselineJIT.h"
-#include "ion/IonCompartment.h"
-#include "ion/Ion.h"
+#include "jit/BaselineJIT.h"
+#include "jit/IonCompartment.h"
+#include "jit/Ion.h"
 #endif
 
 #include "jsgcinlines.h"
 
 using namespace js;
 using namespace js::gc;
 
 JS::Zone::Zone(JSRuntime *rt)
rename from js/src/ion/AliasAnalysis.cpp
rename to js/src/jit/AliasAnalysis.cpp
rename from js/src/ion/AliasAnalysis.h
rename to js/src/jit/AliasAnalysis.h
--- a/js/src/ion/AliasAnalysis.h
+++ b/js/src/jit/AliasAnalysis.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_AliasAnalysis_h
-#define ion_AliasAnalysis_h
+#ifndef jit_AliasAnalysis_h
+#define jit_AliasAnalysis_h
 
 #include "MIR.h"
 #include "MIRGraph.h"
 
 namespace js {
 namespace ion {
 
 class MIRGraph;
@@ -54,9 +54,9 @@ class AliasAnalysis
   public:
     AliasAnalysis(MIRGenerator *mir, MIRGraph &graph);
     bool analyze();
 };
 
 } // namespace js
 } // namespace ion
 
-#endif /* ion_AliasAnalysis_h */
+#endif /* jit_AliasAnalysis_h */
rename from js/src/ion/AsmJS.cpp
rename to js/src/jit/AsmJS.cpp
--- a/js/src/ion/AsmJS.cpp
+++ b/js/src/jit/AsmJS.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 "jsmath.h"
 #include "jsworkers.h"
 #include "prmjtime.h"
 
 #include "frontend/ParseNode.h"
-#include "ion/AsmJS.h"
-#include "ion/AsmJSModule.h"
+#include "jit/AsmJS.h"
+#include "jit/AsmJSModule.h"
 
 #include "frontend/ParseNode-inl.h"
 
-#include "ion/PerfSpewer.h"
-#include "ion/CodeGenerator.h"
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
+#include "jit/PerfSpewer.h"
+#include "jit/CodeGenerator.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
 
 #ifdef MOZ_VTUNE
 # include "jitprofiling.h"
 #endif
 
 using namespace js;
 using namespace js::frontend;
 using namespace js::ion;
rename from js/src/ion/AsmJS.h
rename to js/src/jit/AsmJS.h
--- a/js/src/ion/AsmJS.h
+++ b/js/src/jit/AsmJS.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_AsmJS_h
-#define ion_AsmJS_h
+#ifndef jit_AsmJS_h
+#define jit_AsmJS_h
 
 #ifdef XP_MACOSX
 # include <pthread.h>
 # include <mach/mach.h>
 #endif
 
 namespace js {
 
@@ -183,9 +183,9 @@ IsAsmJSModule(JSContext *cx, unsigned ar
 
 // Return whether the given value is a nested function in an asm.js module that
 // has been both compile- and link-time validated.
 extern JSBool
 IsAsmJSFunction(JSContext *cx, unsigned argc, Value *vp);
 
 } // namespace js
 
-#endif /* ion_AsmJS_h */
+#endif /* jit_AsmJS_h */
rename from js/src/ion/AsmJSLink.cpp
rename to js/src/jit/AsmJSLink.cpp
rename from js/src/ion/AsmJSModule.h
rename to js/src/jit/AsmJSModule.h
--- a/js/src/ion/AsmJSModule.h
+++ b/js/src/jit/AsmJSModule.h
@@ -1,21 +1,21 @@
 /* -*- 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/. */
 
-#ifndef ion_AsmJSModule_h
-#define ion_AsmJSModule_h
+#ifndef jit_AsmJSModule_h
+#define jit_AsmJSModule_h
 
 #ifdef JS_ION
 
 #include "gc/Marking.h"
-#include "ion/RegisterSets.h"
+#include "jit/RegisterSets.h"
 
 #include "jsscript.h"
 #include "jstypedarrayinlines.h"
 
 #include "IonMacroAssembler.h"
 
 namespace js {
 
@@ -737,9 +737,9 @@ AsmJSModuleObject(JSFunction *moduleFun)
 
 extern void
 SetAsmJSModuleObject(JSFunction *moduleFun, JSObject *moduleObj);
 
 }  // namespace js
 
 #endif  // JS_ION
 
-#endif /* ion_AsmJSModule_h */
+#endif /* jit_AsmJSModule_h */
rename from js/src/ion/AsmJSSignalHandlers.cpp
rename to js/src/jit/AsmJSSignalHandlers.cpp
--- a/js/src/ion/AsmJSSignalHandlers.cpp
+++ b/js/src/jit/AsmJSSignalHandlers.cpp
@@ -3,18 +3,18 @@
  * 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 "jscntxt.h"
 
 #include "jstypedarrayinlines.h"
 
-#include "ion/AsmJS.h"
-#include "ion/AsmJSModule.h"
+#include "jit/AsmJS.h"
+#include "jit/AsmJSModule.h"
 #include "assembler/assembler/MacroAssembler.h"
 
 using namespace js;
 using namespace js::ion;
 using namespace mozilla;
 
 #if defined(XP_WIN)
 # define XMM_sig(p,i) ((p)->Xmm##i)
rename from js/src/ion/BacktrackingAllocator.cpp
rename to js/src/jit/BacktrackingAllocator.cpp
rename from js/src/ion/BacktrackingAllocator.h
rename to js/src/jit/BacktrackingAllocator.h
--- a/js/src/ion/BacktrackingAllocator.h
+++ b/js/src/jit/BacktrackingAllocator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BacktrackingAllocator_h
-#define ion_BacktrackingAllocator_h
+#ifndef jit_BacktrackingAllocator_h
+#define jit_BacktrackingAllocator_h
 
 #include "LiveRangeAllocator.h"
 
 #include "ds/PriorityQueue.h"
 #include "ds/SplayTree.h"
 
 // Backtracking priority queue based register allocator based on that described
 // in the following blog post:
@@ -229,9 +229,9 @@ class BacktrackingAllocator : public Liv
     bool trySplitAfterLastRegisterUse(LiveInterval *interval, bool *success);
     bool splitAtAllRegisterUses(LiveInterval *interval);
     bool splitAcrossCalls(LiveInterval *interval);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_BacktrackingAllocator_h */
+#endif /* jit_BacktrackingAllocator_h */
rename from js/src/ion/Bailouts.cpp
rename to js/src/jit/Bailouts.cpp
rename from js/src/ion/Bailouts.h
rename to js/src/jit/Bailouts.h
--- a/js/src/ion/Bailouts.h
+++ b/js/src/jit/Bailouts.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_Bailouts_h
-#define ion_Bailouts_h
+#ifndef jit_Bailouts_h
+#define jit_Bailouts_h
 
 #include "jstypes.h"
 #include "vm/Stack.h"
 #include "IonFrameIterator.h"
 #include "IonFrames.h"
 
 namespace js {
 namespace ion {
@@ -158,9 +158,9 @@ uint32_t InvalidationBailout(Invalidatio
 
 uint32_t FinishBailoutToBaseline(BaselineBailoutInfo *bailoutInfo);
 
 bool CheckFrequentBailouts(JSContext *cx, JSScript *script);
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_Bailouts_h */
+#endif /* jit_Bailouts_h */
rename from js/src/ion/BaselineBailouts.cpp
rename to js/src/jit/BaselineBailouts.cpp
rename from js/src/ion/BaselineCompiler.cpp
rename to js/src/jit/BaselineCompiler.cpp
rename from js/src/ion/BaselineCompiler.h
rename to js/src/jit/BaselineCompiler.h
--- a/js/src/ion/BaselineCompiler.h
+++ b/js/src/jit/BaselineCompiler.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineCompiler_h
-#define ion_BaselineCompiler_h
+#ifndef jit_BaselineCompiler_h
+#define jit_BaselineCompiler_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "IonCode.h"
 #include "jsinfer.h"
 
@@ -267,9 +267,9 @@ class BaselineCompiler : public Baseline
     Address getScopeCoordinateAddress(Register reg);
 };
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineCompiler_h */
+#endif /* jit_BaselineCompiler_h */
rename from js/src/ion/BaselineFrame-inl.h
rename to js/src/jit/BaselineFrame-inl.h
--- a/js/src/ion/BaselineFrame-inl.h
+++ b/js/src/jit/BaselineFrame-inl.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineFrame_inl_h
-#define ion_BaselineFrame_inl_h
+#ifndef jit_BaselineFrame_inl_h
+#define jit_BaselineFrame_inl_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 
 #include "IonFrames.h"
 #include "vm/ScopeObject-inl.h"
@@ -77,9 +77,9 @@ BaselineFrame::callObj() const
     return obj->as<CallObject>();
 }
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineFrame_inl_h */
+#endif /* jit_BaselineFrame_inl_h */
rename from js/src/ion/BaselineFrame.cpp
rename to js/src/jit/BaselineFrame.cpp
rename from js/src/ion/BaselineFrame.h
rename to js/src/jit/BaselineFrame.h
--- a/js/src/ion/BaselineFrame.h
+++ b/js/src/jit/BaselineFrame.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineFrame_h
-#define ion_BaselineFrame_h
+#ifndef jit_BaselineFrame_h
+#define jit_BaselineFrame_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 
 #include "IonFrames.h"
 #include "vm/Stack.h"
@@ -398,9 +398,9 @@ class BaselineFrame
 // Ensure the frame is 8-byte aligned (required on ARM).
 JS_STATIC_ASSERT(((sizeof(BaselineFrame) + BaselineFrame::FramePointerOffset) % 8) == 0);
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineFrame_h */
+#endif /* jit_BaselineFrame_h */
rename from js/src/ion/BaselineFrameInfo.cpp
rename to js/src/jit/BaselineFrameInfo.cpp
rename from js/src/ion/BaselineFrameInfo.h
rename to js/src/jit/BaselineFrameInfo.h
--- a/js/src/ion/BaselineFrameInfo.h
+++ b/js/src/jit/BaselineFrameInfo.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineFrameInfo_h
-#define ion_BaselineFrameInfo_h
+#ifndef jit_BaselineFrameInfo_h
+#define jit_BaselineFrameInfo_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 
 #include "BaselineJIT.h"
 #include "BaselineFrame.h"
@@ -328,9 +328,9 @@ class FrameInfo
 #endif
 };
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineFrameInfo_h */
+#endif /* jit_BaselineFrameInfo_h */
rename from js/src/ion/BaselineHelpers.h
rename to js/src/jit/BaselineHelpers.h
--- a/js/src/ion/BaselineHelpers.h
+++ b/js/src/jit/BaselineHelpers.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineHelpers_h
-#define ion_BaselineHelpers_h
+#ifndef jit_BaselineHelpers_h
+#define jit_BaselineHelpers_h
 
 #ifdef JS_ION
 
 #if defined(JS_CPU_X86)
 # include "x86/BaselineHelpers-x86.h"
 #elif defined(JS_CPU_X64)
 # include "x64/BaselineHelpers-x64.h"
 #elif defined(JS_CPU_ARM)
@@ -22,9 +22,9 @@
 namespace js {
 namespace ion {
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineHelpers_h */
+#endif /* jit_BaselineHelpers_h */
rename from js/src/ion/BaselineIC.cpp
rename to js/src/jit/BaselineIC.cpp
--- a/js/src/ion/BaselineIC.cpp
+++ b/js/src/jit/BaselineIC.cpp
@@ -1,26 +1,26 @@
 /* -*- 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 "ion/BaselineJIT.h"
+#include "jit/BaselineJIT.h"
 
 #include "builtin/Eval.h"
-#include "ion/BaselineCompiler.h"
-#include "ion/BaselineHelpers.h"
-#include "ion/BaselineIC.h"
-#include "ion/IonLinker.h"
-#include "ion/IonSpewer.h"
-#include "ion/VMFunctions.h"
+#include "jit/BaselineCompiler.h"
+#include "jit/BaselineHelpers.h"
+#include "jit/BaselineIC.h"
+#include "jit/IonLinker.h"
+#include "jit/IonSpewer.h"
+#include "jit/VMFunctions.h"
 
 #include "builtin/Iterator-inl.h"
-#include "ion/IonFrames-inl.h"
+#include "jit/IonFrames-inl.h"
 #include "vm/Interpreter-inl.h"
 
 namespace js {
 namespace ion {
 
 #ifdef DEBUG
 void
 FallbackICSpew(JSContext *cx, ICFallbackStub *stub, const char *fmt, ...)
rename from js/src/ion/BaselineIC.h
rename to js/src/jit/BaselineIC.h
--- a/js/src/ion/BaselineIC.h
+++ b/js/src/jit/BaselineIC.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineIC_h
-#define ion_BaselineIC_h
+#ifndef jit_BaselineIC_h
+#define jit_BaselineIC_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "jsgc.h"
 #include "jsopcode.h"
 #include "jsproxy.h"
@@ -5644,9 +5644,9 @@ class ICRetSub_Resume : public ICStub
     };
 };
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineIC_h */
+#endif /* jit_BaselineIC_h */
rename from js/src/ion/BaselineInspector.cpp
rename to js/src/jit/BaselineInspector.cpp
rename from js/src/ion/BaselineInspector.h
rename to js/src/jit/BaselineInspector.h
--- a/js/src/ion/BaselineInspector.h
+++ b/js/src/jit/BaselineInspector.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineInspector_h
-#define ion_BaselineInspector_h
+#ifndef jit_BaselineInspector_h
+#define jit_BaselineInspector_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 
 #include "BaselineJIT.h"
 #include "BaselineIC.h"
@@ -112,9 +112,9 @@ class BaselineInspector
     bool hasSeenDoubleResult(jsbytecode *pc);
 };
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineInspector_h */
+#endif /* jit_BaselineInspector_h */
rename from js/src/ion/BaselineJIT.cpp
rename to js/src/jit/BaselineJIT.cpp
rename from js/src/ion/BaselineJIT.h
rename to js/src/jit/BaselineJIT.h
--- a/js/src/ion/BaselineJIT.h
+++ b/js/src/jit/BaselineJIT.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineJIT_h
-#define ion_BaselineJIT_h
+#ifndef jit_BaselineJIT_h
+#define jit_BaselineJIT_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 
 #include "IonCode.h"
 #include "IonMacroAssembler.h"
@@ -332,9 +332,9 @@ BailoutIonToBaseline(JSContext *cx, JitA
 void
 MarkActiveBaselineScripts(Zone *zone);
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineJIT_h */
+#endif /* jit_BaselineJIT_h */
rename from js/src/ion/BaselineRegisters.h
rename to js/src/jit/BaselineRegisters.h
--- a/js/src/ion/BaselineRegisters.h
+++ b/js/src/jit/BaselineRegisters.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BaselineRegisters_h
-#define ion_BaselineRegisters_h
+#ifndef jit_BaselineRegisters_h
+#define jit_BaselineRegisters_h
 
 #ifdef JS_ION
 
 #if defined(JS_CPU_X86)
 # include "x86/BaselineRegisters-x86.h"
 #elif defined(JS_CPU_X64)
 # include "x64/BaselineRegisters-x64.h"
 #else
@@ -20,9 +20,9 @@
 namespace js {
 namespace ion {
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_BaselineRegisters_h */
+#endif /* jit_BaselineRegisters_h */
rename from js/src/ion/BitSet.cpp
rename to js/src/jit/BitSet.cpp
rename from js/src/ion/BitSet.h
rename to js/src/jit/BitSet.h
--- a/js/src/ion/BitSet.h
+++ b/js/src/jit/BitSet.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BitSet_h
-#define ion_BitSet_h
+#ifndef jit_BitSet_h
+#define jit_BitSet_h
 
 #include "IonAllocPolicy.h"
 
 namespace js {
 namespace ion {
 
 // Provides constant time set insertion and removal, and fast linear
 // set operations such as intersection, difference, and union.
@@ -165,9 +165,9 @@ class BitSet::Iterator
         JS_ASSERT(index_ <= set_.max_);
         return index_;
     }
 };
 
 }
 }
 
-#endif /* ion_BitSet_h */
+#endif /* jit_BitSet_h */
rename from js/src/ion/BytecodeAnalysis.cpp
rename to js/src/jit/BytecodeAnalysis.cpp
--- a/js/src/ion/BytecodeAnalysis.cpp
+++ b/js/src/jit/BytecodeAnalysis.cpp
@@ -1,15 +1,15 @@
 /* -*- 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 "ion/BytecodeAnalysis.h"
+#include "jit/BytecodeAnalysis.h"
 #include "jsopcode.h"
 #include "jsopcodeinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 BytecodeAnalysis::BytecodeAnalysis(JSScript *script)
   : script_(script),
rename from js/src/ion/BytecodeAnalysis.h
rename to js/src/jit/BytecodeAnalysis.h
--- a/js/src/ion/BytecodeAnalysis.h
+++ b/js/src/jit/BytecodeAnalysis.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_BytecodeAnalysis_h
-#define ion_BytecodeAnalysis_h
+#ifndef jit_BytecodeAnalysis_h
+#define jit_BytecodeAnalysis_h
 
 #include "jscntxt.h"
 
 #include "IonAllocPolicy.h"
 #include "js/Vector.h"
 
 namespace js {
 namespace ion {
@@ -55,9 +55,9 @@ class BytecodeAnalysis
         return NULL;
     }
 };
 
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_BytecodeAnalysis_h */
+#endif /* jit_BytecodeAnalysis_h */
rename from js/src/ion/C1Spewer.cpp
rename to js/src/jit/C1Spewer.cpp
rename from js/src/ion/C1Spewer.h
rename to js/src/jit/C1Spewer.h
--- a/js/src/ion/C1Spewer.h
+++ b/js/src/jit/C1Spewer.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_C1Spewer_h
-#define ion_C1Spewer_h
+#ifndef jit_C1Spewer_h
+#define jit_C1Spewer_h
 
 #ifdef DEBUG
 
 #include "jsscript.h"
 
 #include "js/RootingAPI.h"
 
 namespace js {
@@ -47,9 +47,9 @@ class C1Spewer
     void spewIntervals(FILE *fp, MBasicBlock *block, LinearScanAllocator *regalloc, size_t &nextId);
 };
 
 } // namespace ion
 } // namespace js
 
 #endif /* DEBUG */
 
-#endif /* ion_C1Spewer_h */
+#endif /* jit_C1Spewer_h */
rename from js/src/ion/CodeGenerator.cpp
rename to js/src/jit/CodeGenerator.cpp
rename from js/src/ion/CodeGenerator.h
rename to js/src/jit/CodeGenerator.h
--- a/js/src/ion/CodeGenerator.h
+++ b/js/src/jit/CodeGenerator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_CodeGenerator_h
-#define ion_CodeGenerator_h
+#ifndef jit_CodeGenerator_h
+#define jit_CodeGenerator_h
 
 #if defined(JS_CPU_X86)
 # include "x86/CodeGenerator-x86.h"
 #elif defined(JS_CPU_X64)
 # include "x64/CodeGenerator-x64.h"
 #elif defined(JS_CPU_ARM)
 # include "arm/CodeGenerator-arm.h"
 #else
@@ -343,9 +343,9 @@ class CodeGenerator : public CodeGenerat
     IonScriptCounts *unassociatedScriptCounts_;
 
     PerfSpewer perfSpewer_;
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_CodeGenerator_h */
+#endif /* jit_CodeGenerator_h */
rename from js/src/ion/CompactBuffer.h
rename to js/src/jit/CompactBuffer.h
--- a/js/src/ion/CompactBuffer.h
+++ b/js/src/jit/CompactBuffer.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_Compactbuffer_h
-#define ion_Compactbuffer_h
+#ifndef jit_Compactbuffer_h
+#define jit_Compactbuffer_h
 
 #include "js/Vector.h"
 #include "jsalloc.h"
 #include "IonTypes.h"
 
 namespace js {
 namespace ion {
 
@@ -152,9 +152,9 @@ CompactBufferReader::CompactBufferReader
   : buffer_(writer.buffer()),
     end_(writer.buffer() + writer.length())
 {
 }
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_Compactbuffer_h */
+#endif /* jit_Compactbuffer_h */
rename from js/src/ion/CompileInfo-inl.h
rename to js/src/jit/CompileInfo-inl.h
--- a/js/src/ion/CompileInfo-inl.h
+++ b/js/src/jit/CompileInfo-inl.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_CompileInfo_inl_h
-#define ion_CompileInfo_inl_h
+#ifndef jit_CompileInfo_inl_h
+#define jit_CompileInfo_inl_h
 
 #include "CompileInfo.h"
 #include "jsgcinlines.h"
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace ion;
 
@@ -79,9 +79,9 @@ CompileInfo::getConst(jsbytecode *pc) co
 }
 
 jssrcnote *
 CompileInfo::getNote(JSContext *cx, jsbytecode *pc) const
 {
     return js_GetSrcNote(cx, script(), pc);
 }
 
-#endif /* ion_CompileInfo_inl_h */
+#endif /* jit_CompileInfo_inl_h */
rename from js/src/ion/CompileInfo.h
rename to js/src/jit/CompileInfo.h
--- a/js/src/ion/CompileInfo.h
+++ b/js/src/jit/CompileInfo.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_CompileInfo_h
-#define ion_CompileInfo_h
+#ifndef jit_CompileInfo_h
+#define jit_CompileInfo_h
 
 #include "Registers.h"
 
 namespace js {
 namespace ion {
 
 inline unsigned
 StartArgSlot(JSScript *script, JSFunction *fun)
@@ -195,9 +195,9 @@ class CompileInfo
     jsbytecode *osrPc_;
     bool constructing_;
     ExecutionMode executionMode_;
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_CompileInfo_h */
+#endif /* jit_CompileInfo_h */
rename from js/src/ion/CompilerRoot.h
rename to js/src/jit/CompilerRoot.h
--- a/js/src/ion/CompilerRoot.h
+++ b/js/src/jit/CompilerRoot.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_CompilerRoot_h
-#define ion_CompilerRoot_h
+#ifndef jit_CompilerRoot_h
+#define jit_CompilerRoot_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 
 #include "js/RootingAPI.h"
 
 namespace js {
@@ -60,9 +60,9 @@ typedef CompilerRoot<PropertyName*> Comp
 typedef CompilerRoot<Shape*> CompilerRootShape;
 typedef CompilerRoot<Value> CompilerRootValue;
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_CompilerRoot_h */
+#endif /* jit_CompilerRoot_h */
rename from js/src/ion/EdgeCaseAnalysis.cpp
rename to js/src/jit/EdgeCaseAnalysis.cpp
rename from js/src/ion/EdgeCaseAnalysis.h
rename to js/src/jit/EdgeCaseAnalysis.h
--- a/js/src/ion/EdgeCaseAnalysis.h
+++ b/js/src/jit/EdgeCaseAnalysis.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_EdgeCaseAnalysis_h
-#define ion_EdgeCaseAnalysis_h
+#ifndef jit_EdgeCaseAnalysis_h
+#define jit_EdgeCaseAnalysis_h
 
 namespace js {
 namespace ion {
 
 class MIRGraph;
 
 class EdgeCaseAnalysis
 {
@@ -21,9 +21,9 @@ class EdgeCaseAnalysis
     EdgeCaseAnalysis(MIRGenerator *mir, MIRGraph &graph);
     bool analyzeLate();
 };
 
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_EdgeCaseAnalysis_h */
+#endif /* jit_EdgeCaseAnalysis_h */
rename from js/src/ion/EffectiveAddressAnalysis.cpp
rename to js/src/jit/EffectiveAddressAnalysis.cpp
rename from js/src/ion/EffectiveAddressAnalysis.h
rename to js/src/jit/EffectiveAddressAnalysis.h
--- a/js/src/ion/EffectiveAddressAnalysis.h
+++ b/js/src/jit/EffectiveAddressAnalysis.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_EffectiveAddressAnalysis_h
-#define ion_EffectiveAddressAnalysis_h
+#ifndef jit_EffectiveAddressAnalysis_h
+#define jit_EffectiveAddressAnalysis_h
 
 #include "MIR.h"
 #include "MIRGraph.h"
 
 namespace js {
 namespace ion {
 
 class EffectiveAddressAnalysis
@@ -23,9 +23,9 @@ class EffectiveAddressAnalysis
     {}
 
     bool analyze();
 };
 
 } /* namespace ion */
 } /* namespace js */
 
-#endif /* ion_EffectiveAddressAnalysis_h */
+#endif /* jit_EffectiveAddressAnalysis_h */
rename from js/src/ion/ExecutionModeInlines.h
rename to js/src/jit/ExecutionModeInlines.h
--- a/js/src/ion/ExecutionModeInlines.h
+++ b/js/src/jit/ExecutionModeInlines.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_ExecutionModeInlines_h
-#define ion_ExecutionModeInlines_h
+#ifndef jit_ExecutionModeInlines_h
+#define jit_ExecutionModeInlines_h
 
 #ifdef JS_ION
 
 namespace js {
 namespace ion {
 
 static inline bool
 HasIonScript(JSScript *script, ExecutionMode cmode)
@@ -104,9 +104,9 @@ CompilerOutputKind(ExecutionMode cmode)
     return types::CompilerOutput::Ion;
 }
 
 } // namespace ion
 } // namespace js
 
 #endif  // JS_ION
 
-#endif /* ion_ExecutionModeInlines_h */
+#endif /* jit_ExecutionModeInlines_h */
rename from js/src/ion/FixedArityList.h
rename to js/src/jit/FixedArityList.h
--- a/js/src/ion/FixedArityList.h
+++ b/js/src/jit/FixedArityList.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_FixedArityList_h
-#define ion_FixedArityList_h
+#ifndef jit_FixedArityList_h
+#define jit_FixedArityList_h
 
 namespace js {
 namespace ion {
 
 template <typename T, size_t Arity>
 class FixedArityList
 {
     T list_[Arity];
@@ -44,9 +44,9 @@ class FixedArityList<T, 0>
         static T *operand = NULL;
         return *operand;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_FixedArityList_h */
+#endif /* jit_FixedArityList_h */
rename from js/src/ion/FixedList.h
rename to js/src/jit/FixedList.h
--- a/js/src/ion/FixedList.h
+++ b/js/src/jit/FixedList.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_FixedList_h
-#define ion_FixedList_h
+#ifndef jit_FixedList_h
+#define jit_FixedList_h
 
 namespace js {
 namespace ion {
 
 // List of a fixed length, but the length is unknown until runtime.
 template <typename T>
 class FixedList
 {
@@ -66,9 +66,9 @@ class FixedList
         JS_ASSERT(index < length_);
         return list_[index];
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_FixedList_h */
+#endif /* jit_FixedList_h */
rename from js/src/ion/InlineList.h
rename to js/src/jit/InlineList.h
--- a/js/src/ion/InlineList.h
+++ b/js/src/jit/InlineList.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_InlineList_h
-#define ion_InlineList_h
+#ifndef jit_InlineList_h
+#define jit_InlineList_h
 
 #include "mozilla/DebugOnly.h"
 
 #include "jsutil.h"
 
 namespace js {
 
 template <typename T> class InlineForwardList;
@@ -387,9 +387,9 @@ class InlineListReverseIterator
     }
 
   private:
     Node *iter;
 };
 
 } // namespace js
 
-#endif /* ion_InlineList_h */
+#endif /* jit_InlineList_h */
rename from js/src/ion/Ion.cpp
rename to js/src/jit/Ion.cpp
--- a/js/src/ion/Ion.cpp
+++ b/js/src/jit/Ion.cpp
@@ -42,18 +42,18 @@
 #include "gc/Marking.h"
 
 #include "jscompartmentinlines.h"
 #include "jsgcinlines.h"
 #include "jsinferinlines.h"
 
 #include "gc/Barrier-inl.h"
 #include "vm/Stack-inl.h"
-#include "ion/IonFrames-inl.h"
-#include "ion/CompilerRoot.h"
+#include "jit/IonFrames-inl.h"
+#include "jit/CompilerRoot.h"
 #include "ExecutionModeInlines.h"
 #include "AsmJS.h"
 #include "AsmJSModule.h"
 
 #if JS_TRACE_LOGGING
 #include "TraceLogging.h"
 #endif
 
rename from js/src/ion/Ion.h
rename to js/src/jit/Ion.h
--- a/js/src/ion/Ion.h
+++ b/js/src/jit/Ion.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_Ion_h
-#define ion_Ion_h
+#ifndef jit_Ion_h
+#define jit_Ion_h
 
 #ifdef JS_ION
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "IonCode.h"
 #include "CompileInfo.h"
 #include "jsinfer.h"
@@ -353,9 +353,9 @@ size_t SizeOfIonData(JSScript *script, J
 void DestroyIonScripts(FreeOp *fop, JSScript *script);
 void TraceIonScripts(JSTracer* trc, JSScript *script);
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_Ion_h */
+#endif /* jit_Ion_h */
rename from js/src/ion/IonAllocPolicy.h
rename to js/src/jit/IonAllocPolicy.h
--- a/js/src/ion/IonAllocPolicy.h
+++ b/js/src/jit/IonAllocPolicy.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonAllocPolicy_h
-#define ion_IonAllocPolicy_h
+#ifndef jit_IonAllocPolicy_h
+#define jit_IonAllocPolicy_h
 
 #include "mozilla/GuardObjects.h"
 
 #include "jscntxt.h"
 #include "ds/LifoAlloc.h"
 
 #include "Ion.h"
 #include "InlineList.h"
@@ -156,9 +156,9 @@ class TempObjectPool
     void clear() {
         freed_.clear();
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_IonAllocPolicy_h */
+#endif /* jit_IonAllocPolicy_h */
rename from js/src/ion/IonAnalysis.cpp
rename to js/src/jit/IonAnalysis.cpp
rename from js/src/ion/IonAnalysis.h
rename to js/src/jit/IonAnalysis.h
--- a/js/src/ion/IonAnalysis.h
+++ b/js/src/jit/IonAnalysis.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonAnalysis_h
-#define ion_IonAnalysis_h
+#ifndef jit_IonAnalysis_h
+#define jit_IonAnalysis_h
 
 // This file declares various analysis passes that operate on MIR.
 
 #include "IonAllocPolicy.h"
 #include "MIR.h"
 
 namespace js {
 namespace ion {
@@ -122,9 +122,9 @@ class LinearSum
   private:
     Vector<LinearTerm, 2, IonAllocPolicy> terms_;
     int32_t constant_;
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_IonAnalysis_h */
+#endif /* jit_IonAnalysis_h */
rename from js/src/ion/IonBuilder.cpp
rename to js/src/jit/IonBuilder.cpp
--- a/js/src/ion/IonBuilder.cpp
+++ b/js/src/jit/IonBuilder.cpp
@@ -1,27 +1,27 @@
 /* -*- 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 "ion/IonBuilder.h"
+#include "jit/IonBuilder.h"
 
 #include "mozilla/DebugOnly.h"
 
 #include "builtin/Eval.h"
 #include "frontend/SourceNotes.h"
-#include "ion/BaselineInspector.h"
-#include "ion/Ion.h"
-#include "ion/IonAnalysis.h"
-#include "ion/IonAnalysis.h"
-#include "ion/IonSpewer.h"
-#include "ion/Lowering.h"
-#include "ion/MIRGraph.h"
+#include "jit/BaselineInspector.h"
+#include "jit/Ion.h"
+#include "jit/IonAnalysis.h"
+#include "jit/IonAnalysis.h"
+#include "jit/IonSpewer.h"
+#include "jit/Lowering.h"
+#include "jit/MIRGraph.h"
 
 #include "CompileInfo-inl.h"
 #include "ExecutionModeInlines.h"
 #include "jsanalyzeinlines.h"
 #include "jsscriptinlines.h"
 #include "jstypedarrayinlines.h"
 
 #ifdef JS_THREADSAFE
rename from js/src/ion/IonBuilder.h
rename to js/src/jit/IonBuilder.h
--- a/js/src/ion/IonBuilder.h
+++ b/js/src/jit/IonBuilder.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonBuilder_h
-#define ion_IonBuilder_h
+#ifndef jit_IonBuilder_h
+#define jit_IonBuilder_h
 
 #ifdef JS_ION
 
 // This file declares the data structures for building a MIRGraph from a
 // JSScript.
 
 #include "MIR.h"
 #include "MIRGraph.h"
@@ -806,9 +806,9 @@ bool TypeSetIncludes(types::TypeSet *typ
 
 bool NeedsPostBarrier(CompileInfo &info, MDefinition *value);
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_IonBuilder_h */
+#endif /* jit_IonBuilder_h */
rename from js/src/ion/IonCaches.cpp
rename to js/src/jit/IonCaches.cpp
rename from js/src/ion/IonCaches.h
rename to js/src/jit/IonCaches.h
--- a/js/src/ion/IonCaches.h
+++ b/js/src/jit/IonCaches.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonCaches_h
-#define ion_IonCaches_h
+#ifndef jit_IonCaches_h
+#define jit_IonCaches_h
 
 #include "IonCode.h"
 #include "Registers.h"
 
 #include "vm/ForkJoin.h"
 
 class JSFunction;
 class JSScript;
@@ -931,9 +931,9 @@ class ParallelGetPropertyIC : public Dis
         return *static_cast<ickind##IC *>(this);                        \
     }
 IONCACHE_KIND_LIST(CACHE_CASTS)
 #undef OPCODE_CASTS
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_IonCaches_h */
+#endif /* jit_IonCaches_h */
rename from js/src/ion/IonCode.h
rename to js/src/jit/IonCode.h
--- a/js/src/ion/IonCode.h
+++ b/js/src/jit/IonCode.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonCode_h
-#define ion_IonCode_h
+#ifndef jit_IonCode_h
+#define jit_IonCode_h
 
 #include "mozilla/PodOperations.h"
 
 #include "IonTypes.h"
 #include "AsmJS.h"
 #include "gc/Heap.h"
 
 // For RecompileInfo
@@ -719,9 +719,9 @@ IsMarked(const ion::VMFunction *)
     // It is considered as a root object which is always marked.
     return true;
 }
 
 } // namespace gc
 
 } // namespace js
 
-#endif /* ion_IonCode_h */
+#endif /* jit_IonCode_h */
rename from js/src/ion/IonCompartment.h
rename to js/src/jit/IonCompartment.h
--- a/js/src/ion/IonCompartment.h
+++ b/js/src/jit/IonCompartment.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonCompartment_h
-#define ion_IonCompartment_h
+#ifndef jit_IonCompartment_h
+#define jit_IonCompartment_h
 
 #ifdef JS_ION
 
 #include "IonCode.h"
 #include "jsweakcache.h"
 #include "js/Value.h"
 #include "vm/Stack.h"
 #include "IonFrames.h"
@@ -338,9 +338,9 @@ class IonCompartment
 void InvalidateAll(FreeOp *fop, JS::Zone *zone);
 void FinishInvalidation(FreeOp *fop, JSScript *script);
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_IonCompartment_h */
+#endif /* jit_IonCompartment_h */
rename from js/src/ion/IonFrameIterator-inl.h
rename to js/src/jit/IonFrameIterator-inl.h
--- a/js/src/ion/IonFrameIterator-inl.h
+++ b/js/src/jit/IonFrameIterator-inl.h
@@ -1,23 +1,23 @@
 /* -*- 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/. */
 
-#ifndef ion_IonFrameIterator_inl_h
-#define ion_IonFrameIterator_inl_h
+#ifndef jit_IonFrameIterator_inl_h
+#define jit_IonFrameIterator_inl_h
 
 #ifdef JS_ION
 
-#include "ion/BaselineFrame.h"
-#include "ion/IonFrameIterator.h"
-#include "ion/Bailouts.h"
-#include "ion/Ion.h"
+#include "jit/BaselineFrame.h"
+#include "jit/IonFrameIterator.h"
+#include "jit/Bailouts.h"
+#include "jit/Ion.h"
 
 namespace js {
 namespace ion {
 
 template <class Op>
 inline void
 SnapshotIterator::readFrameArgs(Op &op, const Value *argv, Value *scopeChain, Value *thisv,
                                 unsigned start, unsigned formalEnd, unsigned iterEnd,
@@ -235,9 +235,9 @@ IonFrameIterator::baselineFrame() const
     return (BaselineFrame *)(fp() - BaselineFrame::FramePointerOffset - BaselineFrame::Size());
 }
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_IonFrameIterator_inl_h */
+#endif /* jit_IonFrameIterator_inl_h */
rename from js/src/ion/IonFrameIterator.h
rename to js/src/jit/IonFrameIterator.h
--- a/js/src/ion/IonFrameIterator.h
+++ b/js/src/jit/IonFrameIterator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonFrameIterator_h
-#define ion_IonFrameIterator_h
+#ifndef jit_IonFrameIterator_h
+#define jit_IonFrameIterator_h
 
 #ifdef JS_ION
 
 #include "jstypes.h"
 #include "IonCode.h"
 #include "SnapshotReader.h"
 
 class JSFunction;
@@ -330,9 +330,9 @@ class InlineFrameIteratorMaybeGC
 typedef InlineFrameIteratorMaybeGC<CanGC> InlineFrameIterator;
 typedef InlineFrameIteratorMaybeGC<NoGC> InlineFrameIteratorNoGC;
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_IonFrameIterator_h */
+#endif /* jit_IonFrameIterator_h */
rename from js/src/ion/IonFrames-inl.h
rename to js/src/jit/IonFrames-inl.h
--- a/js/src/ion/IonFrames-inl.h
+++ b/js/src/jit/IonFrames-inl.h
@@ -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/. */
 
-#ifndef ion_IonFrames_inl_h
-#define ion_IonFrames_inl_h
+#ifndef jit_IonFrames_inl_h
+#define jit_IonFrames_inl_h
 
 #ifdef JS_ION
 
-#include "ion/IonFrames.h"
-#include "ion/IonFrameIterator.h"
-#include "ion/LIR.h"
+#include "jit/IonFrames.h"
+#include "jit/IonFrameIterator.h"
+#include "jit/LIR.h"
 
 namespace js {
 namespace ion {
 
 inline void
 SafepointIndex::resolve()
 {
     JS_ASSERT(!resolved);
@@ -146,9 +146,9 @@ GetTopBaselineFrame(JSContext *cx)
     return iter.baselineFrame();
 }
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_IonFrames_inl_h */
+#endif /* jit_IonFrames_inl_h */
rename from js/src/ion/IonFrames.cpp
rename to js/src/jit/IonFrames.cpp
--- a/js/src/ion/IonFrames.cpp
+++ b/js/src/jit/IonFrames.cpp
@@ -5,31 +5,31 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "IonFrames.h"
 
 #include "jsobj.h"
 #include "jsscript.h"
 #include "jsfun.h"
 #include "gc/Marking.h"
-#include "ion/BaselineFrame.h"
-#include "ion/BaselineIC.h"
-#include "ion/BaselineJIT.h"
-#include "ion/Ion.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonMacroAssembler.h"
-#include "ion/IonSpewer.h"
-#include "ion/PcScriptCache.h"
-#include "ion/Safepoints.h"
-#include "ion/SnapshotReader.h"
-#include "ion/VMFunctions.h"
+#include "jit/BaselineFrame.h"
+#include "jit/BaselineIC.h"
+#include "jit/BaselineJIT.h"
+#include "jit/Ion.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/IonSpewer.h"
+#include "jit/PcScriptCache.h"
+#include "jit/Safepoints.h"
+#include "jit/SnapshotReader.h"
+#include "jit/VMFunctions.h"
 
-#include "ion/IonFrameIterator-inl.h"
-#include "ion/IonFrames-inl.h"
-#include "ion/PcScriptCache-inl.h"
+#include "jit/IonFrameIterator-inl.h"
+#include "jit/IonFrames-inl.h"
+#include "jit/PcScriptCache-inl.h"
 #include "vm/Probes-inl.h"
 
 namespace js {
 namespace ion {
 
 IonFrameIterator::IonFrameIterator(const ActivationIterator &activations)
     : current_(activations.jitTop()),
       type_(IonFrame_Exit),
rename from js/src/ion/IonFrames.h
rename to js/src/jit/IonFrames.h
--- a/js/src/ion/IonFrames.h
+++ b/js/src/jit/IonFrames.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonFrames_h
-#define ion_IonFrames_h
+#ifndef jit_IonFrames_h
+#define jit_IonFrames_h
 
 #ifdef JS_ION
 
 #include "mozilla/DebugOnly.h"
 
 #include "jsfun.h"
 #include "jstypes.h"
 #include "jsutil.h"
@@ -284,19 +284,19 @@ MakeFrameDescriptor(uint32_t frameSize, 
 {
     return (frameSize << FRAMESIZE_SHIFT) | type;
 }
 
 } // namespace ion
 } // namespace js
 
 #if defined(JS_CPU_X86) || defined (JS_CPU_X64)
-# include "ion/shared/IonFrames-x86-shared.h"
+# include "jit/shared/IonFrames-x86-shared.h"
 #elif defined (JS_CPU_ARM)
-# include "ion/arm/IonFrames-arm.h"
+# include "jit/arm/IonFrames-arm.h"
 #else
 # error "unsupported architecture"
 #endif
 
 namespace js {
 namespace ion {
 
 JSScript *
@@ -333,9 +333,9 @@ ReadFrameDoubleSlot(IonJSFrameLayout *fp
 CalleeToken
 MarkCalleeToken(JSTracer *trc, CalleeToken token);
 
 } /* namespace ion */
 } /* namespace js */
 
 #endif // JS_ION
 
-#endif /* ion_IonFrames_h */
+#endif /* jit_IonFrames_h */
rename from js/src/ion/IonInstrumentation.h
rename to js/src/jit/IonInstrumentation.h
--- a/js/src/ion/IonInstrumentation.h
+++ b/js/src/jit/IonInstrumentation.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonInstrumentation_h
-#define ion_IonInstrumentation_h
+#ifndef jit_IonInstrumentation_h
+#define jit_IonInstrumentation_h
 
 namespace js {
 
 class SPSProfiler;
 
 namespace ion {
 
 class MacroAssembler;
@@ -32,9 +32,9 @@ class IonInstrumentation : public BaseIn
     void leave(MacroAssembler &masm, Register reg) {
         BaseInstrumentation::leave(*trackedPc_, masm, reg);
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_IonInstrumentation_h */
+#endif /* jit_IonInstrumentation_h */
rename from js/src/ion/IonLinker.h
rename to js/src/jit/IonLinker.h
--- a/js/src/ion/IonLinker.h
+++ b/js/src/jit/IonLinker.h
@@ -1,24 +1,24 @@
 /* -*- 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/. */
 
-#ifndef ion_IonLinker_h
-#define ion_IonLinker_h
+#ifndef jit_IonLinker_h
+#define jit_IonLinker_h
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "jsgc.h"
-#include "ion/IonCode.h"
-#include "ion/IonCompartment.h"
+#include "jit/IonCode.h"
+#include "jit/IonCompartment.h"
 #include "assembler/jit/ExecutableAllocator.h"
-#include "ion/IonMacroAssembler.h"
+#include "jit/IonMacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 class Linker
 {
     MacroAssembler &masm;
 
@@ -75,9 +75,9 @@ class Linker
     IonCode *newCode(JSContext *cx, JSC::CodeKind kind) {
         return newCode(cx, cx->compartment()->ionCompartment(), kind);
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_IonLinker_h */
+#endif /* jit_IonLinker_h */
rename from js/src/ion/IonMacroAssembler.cpp
rename to js/src/jit/IonMacroAssembler.cpp
--- a/js/src/ion/IonMacroAssembler.cpp
+++ b/js/src/jit/IonMacroAssembler.cpp
@@ -1,25 +1,25 @@
 /* -*- 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 "ion/IonMacroAssembler.h"
+#include "jit/IonMacroAssembler.h"
 
 #include "jsinfer.h"
 
-#include "ion/AsmJS.h"
-#include "ion/Bailouts.h"
-#include "ion/BaselineIC.h"
-#include "ion/BaselineJIT.h"
-#include "ion/BaselineRegisters.h"
-#include "ion/IonMacroAssembler.h"
-#include "ion/MIR.h"
+#include "jit/AsmJS.h"
+#include "jit/Bailouts.h"
+#include "jit/BaselineIC.h"
+#include "jit/BaselineJIT.h"
+#include "jit/BaselineRegisters.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/MIR.h"
 #include "js/RootingAPI.h"
 #include "vm/ForkJoin.h"
 
 #include "jsgcinlines.h"
 #include "jsinferinlines.h"
 
 using namespace js;
 using namespace js::ion;
rename from js/src/ion/IonMacroAssembler.h
rename to js/src/jit/IonMacroAssembler.h
--- a/js/src/ion/IonMacroAssembler.h
+++ b/js/src/jit/IonMacroAssembler.h
@@ -1,34 +1,34 @@
 /* -*- 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/. */
 
-#ifndef ion_IonMacroAssembler_h
-#define ion_IonMacroAssembler_h
+#ifndef jit_IonMacroAssembler_h
+#define jit_IonMacroAssembler_h
 
 #ifdef JS_ION
 
 #include "jstypedarray.h"
 #include "jscompartment.h"
 
 #if defined(JS_CPU_X86)
-# include "ion/x86/MacroAssembler-x86.h"
+# include "jit/x86/MacroAssembler-x86.h"
 #elif defined(JS_CPU_X64)
-# include "ion/x64/MacroAssembler-x64.h"
+# include "jit/x64/MacroAssembler-x64.h"
 #elif defined(JS_CPU_ARM)
-# include "ion/arm/MacroAssembler-arm.h"
+# include "jit/arm/MacroAssembler-arm.h"
 #endif
-#include "ion/AsmJS.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonInstrumentation.h"
-#include "ion/ParallelFunctions.h"
-#include "ion/VMFunctions.h"
+#include "jit/AsmJS.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonInstrumentation.h"
+#include "jit/ParallelFunctions.h"
+#include "jit/VMFunctions.h"
 #include "vm/ForkJoin.h"
 #include "vm/Shape.h"
 
 namespace js {
 namespace ion {
 
 // The public entrypoint for emitting assembly. Note that a MacroAssembler can
 // use cx->lifoAlloc, so take care not to interleave masm use with other
@@ -1005,9 +1005,9 @@ class ABIArgIter
     uint32_t stackBytesConsumedSoFar() const { return gen_.stackBytesConsumedSoFar(); }
 };
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_IonMacroAssembler_h */
+#endif /* jit_IonMacroAssembler_h */
rename from js/src/ion/IonSpewer.cpp
rename to js/src/jit/IonSpewer.cpp
rename from js/src/ion/IonSpewer.h
rename to js/src/jit/IonSpewer.h
--- a/js/src/ion/IonSpewer.h
+++ b/js/src/jit/IonSpewer.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonSpewer_h
-#define ion_IonSpewer_h
+#ifndef jit_IonSpewer_h
+#define jit_IonSpewer_h
 
 #include <stdarg.h>
 
 #include "mozilla/DebugOnly.h"
 
 #include "C1Spewer.h"
 #include "JSONSpewer.h"
 
@@ -192,9 +192,9 @@ class AutoDisableSpew
             EnableChannel(Channel);
 #endif
     }
 };
 
 } /* ion */
 } /* js */
 
-#endif /* ion_IonSpewer_h */
+#endif /* jit_IonSpewer_h */
rename from js/src/ion/IonTypes.h
rename to js/src/jit/IonTypes.h
--- a/js/src/ion/IonTypes.h
+++ b/js/src/jit/IonTypes.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_IonTypes_h
-#define ion_IonTypes_h
+#ifndef jit_IonTypes_h
+#define jit_IonTypes_h
 
 #include "js/Value.h"
 #include <jstypes.h>
 
 namespace js {
 namespace ion {
 
 typedef uint32_t SnapshotOffset;
@@ -206,9 +206,9 @@ IsNullOrUndefined(MIRType type)
 #ifdef DEBUG
 // Track the pipeline of opcodes which has produced a snapshot.
 #define TRACK_SNAPSHOTS 1
 #endif
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_IonTypes_h */
+#endif /* jit_IonTypes_h */
rename from js/src/ion/JSONSpewer.cpp
rename to js/src/jit/JSONSpewer.cpp
rename from js/src/ion/JSONSpewer.h
rename to js/src/jit/JSONSpewer.h
--- a/js/src/ion/JSONSpewer.h
+++ b/js/src/jit/JSONSpewer.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_JSONSpewer_h
-#define ion_JSONSpewer_h
+#ifndef jit_JSONSpewer_h
+#define jit_JSONSpewer_h
 
 #include <stdio.h>
 
 #include "jsscript.h"
 
 #include "js/RootingAPI.h"
 
 class JSScript;
@@ -71,9 +71,9 @@ class JSONSpewer
     void endPass();
     void endFunction();
     void finish();
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_JSONSpewer_h */
+#endif /* jit_JSONSpewer_h */
rename from js/src/ion/LICM.cpp
rename to js/src/jit/LICM.cpp
rename from js/src/ion/LICM.h
rename to js/src/jit/LICM.h
--- a/js/src/ion/LICM.h
+++ b/js/src/jit/LICM.h
@@ -1,21 +1,21 @@
 /* -*- 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/. */
 
-#ifndef ion_LICM_h
-#define ion_LICM_h
+#ifndef jit_LICM_h
+#define jit_LICM_h
 
-#include "ion/IonAllocPolicy.h"
-#include "ion/IonAnalysis.h"
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
+#include "jit/IonAllocPolicy.h"
+#include "jit/IonAnalysis.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
 // This file represents the Loop Invariant Code Motion optimization pass
 
 namespace js {
 namespace ion {
 
 class MIRGraph;
 class MBasicBlock;
 
@@ -82,9 +82,9 @@ class Loop
     inline bool isHoistable(const MDefinition *ins) const {
         return ins->isMovable() && !ins->isEffectful() && !ins->neverHoist();
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_LICM_h */
+#endif /* jit_LICM_h */
rename from js/src/ion/LIR-Common.h
rename to js/src/jit/LIR-Common.h
--- a/js/src/ion/LIR-Common.h
+++ b/js/src/jit/LIR-Common.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_LIR_Common_h
-#define ion_LIR_Common_h
-
-#include "ion/shared/Assembler-shared.h"
+#ifndef jit_LIR_Common_h
+#define jit_LIR_Common_h
+
+#include "jit/shared/Assembler-shared.h"
 
 // This file declares LIR instructions that are common to every platform.
 
 namespace js {
 namespace ion {
 
 template <size_t Temps, size_t ExtraUses = 0>
 class LBinaryMath : public LInstructionHelper<1, 2 + ExtraUses, Temps>
@@ -4775,9 +4775,9 @@ class LAsmJSCheckOverRecursed : public L
     MAsmJSCheckOverRecursed *mir() const {
         return mir_->toAsmJSCheckOverRecursed();
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_LIR_Common_h */
+#endif /* jit_LIR_Common_h */
rename from js/src/ion/LIR-inl.h
rename to js/src/jit/LIR-inl.h
--- a/js/src/ion/LIR-inl.h
+++ b/js/src/jit/LIR-inl.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_LIR_inl_h
-#define ion_LIR_inl_h
+#ifndef jit_LIR_inl_h
+#define jit_LIR_inl_h
 
 namespace js {
 namespace ion {
 
 #define LIROP(name)                                                         \
     L##name *LInstruction::to##name()                                       \
     {                                                                       \
         JS_ASSERT(is##name());                                              \
@@ -75,9 +75,9 @@ BaseOfNunboxSlot(LDefinition::Type type,
         return slot + (NUNBOX32_PAYLOAD_OFFSET / STACK_SLOT_SIZE);
     return slot + (NUNBOX32_TYPE_OFFSET / STACK_SLOT_SIZE);
 }
 #endif
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_LIR_inl_h */
+#endif /* jit_LIR_inl_h */
rename from js/src/ion/LIR.cpp
rename to js/src/jit/LIR.cpp
rename from js/src/ion/LIR.h
rename to js/src/jit/LIR.h
--- a/js/src/ion/LIR.h
+++ b/js/src/jit/LIR.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_LIR_h
-#define ion_LIR_h
+#ifndef jit_LIR_h
+#define jit_LIR_h
 
 // This file declares the core data structures for LIR: storage allocations for
 // inputs and outputs, as well as the interface instructions must conform to.
 
 #include "jscntxt.h"
 #include "IonAllocPolicy.h"
 #include "InlineList.h"
 #include "FixedArityList.h"
@@ -1441,9 +1441,9 @@ LAllocation::toRegister() const
 #elif defined(JS_CPU_ARM)
 # include "arm/LIR-arm.h"
 #endif
 
 #undef LIR_HEADER
 
 #include "LIR-inl.h"
 
-#endif /* ion_LIR_h */
+#endif /* jit_LIR_h */
rename from js/src/ion/LOpcodes.h
rename to js/src/jit/LOpcodes.h
--- a/js/src/ion/LOpcodes.h
+++ b/js/src/jit/LOpcodes.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_LOpcodes_h
-#define ion_LOpcodes_h
+#ifndef jit_LOpcodes_h
+#define jit_LOpcodes_h
 
 #define LIR_COMMON_OPCODE_LIST(_)   \
     _(Label)                        \
     _(Nop)                          \
     _(OsiPoint)                     \
     _(MoveGroup)                    \
     _(Integer)                      \
     _(Pointer)                      \
@@ -247,9 +247,9 @@
 #elif defined(JS_CPU_ARM)
 # include "arm/LOpcodes-arm.h"
 #endif
 
 #define LIR_OPCODE_LIST(_)          \
     LIR_COMMON_OPCODE_LIST(_)       \
     LIR_CPU_OPCODE_LIST(_)
 
-#endif /* ion_LOpcodes_h */
+#endif /* jit_LOpcodes_h */
rename from js/src/ion/LinearScan.cpp
rename to js/src/jit/LinearScan.cpp
rename from js/src/ion/LinearScan.h
rename to js/src/jit/LinearScan.h
--- a/js/src/ion/LinearScan.h
+++ b/js/src/jit/LinearScan.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_LinearScan_h
-#define ion_LinearScan_h
+#ifndef jit_LinearScan_h
+#define jit_LinearScan_h
 
 #include "LiveRangeAllocator.h"
 #include "BitSet.h"
 
 #include "js/Vector.h"
 
 namespace js {
 namespace ion {
@@ -129,9 +129,9 @@ class LinearScanAllocator : public LiveR
     }
 
     bool go();
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_LinearScan_h */
+#endif /* jit_LinearScan_h */
rename from js/src/ion/LiveRangeAllocator.cpp
rename to js/src/jit/LiveRangeAllocator.cpp
rename from js/src/ion/LiveRangeAllocator.h
rename to js/src/jit/LiveRangeAllocator.h
--- a/js/src/ion/LiveRangeAllocator.h
+++ b/js/src/jit/LiveRangeAllocator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_LiveRangeAllocator_h
-#define ion_LiveRangeAllocator_h
+#ifndef jit_LiveRangeAllocator_h
+#define jit_LiveRangeAllocator_h
 
 #include "mozilla/DebugOnly.h"
 
 #include "RegisterAllocator.h"
 #include "StackSlotAllocator.h"
 
 // Common structures and functions used by register allocators that operate on
 // virtual register live ranges.
@@ -644,9 +644,9 @@ class LiveRangeAllocator : public Regist
         }
         return i;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_LiveRangeAllocator_h */
+#endif /* jit_LiveRangeAllocator_h */
rename from js/src/ion/Lowering.cpp
rename to js/src/jit/Lowering.cpp
rename from js/src/ion/Lowering.h
rename to js/src/jit/Lowering.h
--- a/js/src/ion/Lowering.h
+++ b/js/src/jit/Lowering.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_Lowering_h
-#define ion_Lowering_h
+#ifndef jit_Lowering_h
+#define jit_Lowering_h
 
 // This file declares the structures that are used for attaching LIR to a
 // MIRGraph.
 
 #include "IonAllocPolicy.h"
 #include "LIR.h"
 #include "MOpcodes.h"
 
@@ -244,9 +244,9 @@ class LIRGenerator : public LIRGenerator
     bool visitAsmJSCheckOverRecursed(MAsmJSCheckOverRecursed *ins);
     bool visitSetDOMProperty(MSetDOMProperty *ins);
     bool visitGetDOMProperty(MGetDOMProperty *ins);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_Lowering_h */
+#endif /* jit_Lowering_h */
rename from js/src/ion/MCallOptimize.cpp
rename to js/src/jit/MCallOptimize.cpp
rename from js/src/ion/MIR.cpp
rename to js/src/jit/MIR.cpp
rename from js/src/ion/MIR.h
rename to js/src/jit/MIR.h
--- a/js/src/ion/MIR.h
+++ b/js/src/jit/MIR.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_MIR_h
-#define ion_MIR_h
+#ifndef jit_MIR_h
+#define jit_MIR_h
 
 // This file declares everything needed to build actual MIR instructions: the
 // actual opcodes and instructions themselves, the instruction interface, and
 // use chains.
 #include "jscntxt.h"
 #include "jslibmath.h"
 #include "jsinfer.h"
 #include "jsinferinlines.h"
@@ -8293,9 +8293,9 @@ void AddObjectsForPropertyRead(JSContext
                                types::StackTypeSet *observed);
 bool PropertyWriteNeedsTypeBarrier(JSContext *cx, MBasicBlock *current, MDefinition **pobj,
                                    PropertyName *name, MDefinition **pvalue,
                                    bool canModify = true);
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_MIR_h */
+#endif /* jit_MIR_h */
rename from js/src/ion/MIRGenerator.h
rename to js/src/jit/MIRGenerator.h
--- a/js/src/ion/MIRGenerator.h
+++ b/js/src/jit/MIRGenerator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_MIRGenerator_h
-#define ion_MIRGenerator_h
+#ifndef jit_MIRGenerator_h
+#define jit_MIRGenerator_h
 
 // This file declares the data structures used to build a control-flow graph
 // containing MIR.
 #include <stdarg.h>
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "IonAllocPolicy.h"
@@ -152,9 +152,9 @@ class MIRGenerator
     AsmJSHeapAccessVector asmJSHeapAccesses_;
 #endif
     AsmJSGlobalAccessVector asmJSGlobalAccesses_;
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_MIRGenerator_h */
+#endif /* jit_MIRGenerator_h */
rename from js/src/ion/MIRGraph.cpp
rename to js/src/jit/MIRGraph.cpp
rename from js/src/ion/MIRGraph.h
rename to js/src/jit/MIRGraph.h
--- a/js/src/ion/MIRGraph.h
+++ b/js/src/jit/MIRGraph.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_MIRGraph_h
-#define ion_MIRGraph_h
+#ifndef jit_MIRGraph_h
+#define jit_MIRGraph_h
 
 // This file declares the data structures used to build a control-flow graph
 // containing MIR.
 
 #include "IonAllocPolicy.h"
 #include "MIRGenerator.h"
 #include "FixedList.h"
 
@@ -725,9 +725,9 @@ class MDefinitionIterator
         return getIns();
     }
 
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_MIRGraph_h */
+#endif /* jit_MIRGraph_h */
rename from js/src/ion/MOpcodes.h
rename to js/src/jit/MOpcodes.h
--- a/js/src/ion/MOpcodes.h
+++ b/js/src/jit/MOpcodes.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_MOpcodes_h
-#define ion_MOpcodes_h
+#ifndef jit_MOpcodes_h
+#define jit_MOpcodes_h
 
 namespace js {
 namespace ion {
 
 #define MIR_OPCODE_LIST(_)                                                  \
     _(Constant)                                                             \
     _(Parameter)                                                            \
     _(Callee)                                                               \
@@ -215,9 +215,9 @@ class MInstructionVisitorWithDefaults : 
 #define VISIT_INS(op) virtual bool visit##op(M##op *) { JS_NOT_REACHED("NYI: " #op); return false; }
     MIR_OPCODE_LIST(VISIT_INS)
 #undef VISIT_INS
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_MOpcodes_h */
+#endif /* jit_MOpcodes_h */
rename from js/src/ion/MoveEmitter.h
rename to js/src/jit/MoveEmitter.h
--- a/js/src/ion/MoveEmitter.h
+++ b/js/src/jit/MoveEmitter.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_MoveEmitter_h
-#define ion_MoveEmitter_h
+#ifndef jit_MoveEmitter_h
+#define jit_MoveEmitter_h
 
 #if defined(JS_CPU_X86) || defined(JS_CPU_X64)
-# include "ion/shared/MoveEmitter-x86-shared.h"
+# include "jit/shared/MoveEmitter-x86-shared.h"
 #elif defined(JS_CPU_ARM)
-# include "ion/arm/MoveEmitter-arm.h"
+# include "jit/arm/MoveEmitter-arm.h"
 #else
 # error "CPU Not Supported"
 #endif
 
-#endif /* ion_MoveEmitter_h */
+#endif /* jit_MoveEmitter_h */
rename from js/src/ion/MoveResolver.cpp
rename to js/src/jit/MoveResolver.cpp
rename from js/src/ion/MoveResolver.h
rename to js/src/jit/MoveResolver.h
--- a/js/src/ion/MoveResolver.h
+++ b/js/src/jit/MoveResolver.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_MoveResolver_h
-#define ion_MoveResolver_h
+#ifndef jit_MoveResolver_h
+#define jit_MoveResolver_h
 
 #include "Registers.h"
 #include "InlineList.h"
 #include "IonAllocPolicy.h"
 
 namespace js {
 namespace ion {
 
@@ -208,9 +208,9 @@ class MoveResolver
     void clearTempObjectPool() {
         movePool_.clear();
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_MoveResolver_h */
+#endif /* jit_MoveResolver_h */
rename from js/src/ion/ParallelArrayAnalysis.cpp
rename to js/src/jit/ParallelArrayAnalysis.cpp
rename from js/src/ion/ParallelArrayAnalysis.h
rename to js/src/jit/ParallelArrayAnalysis.h
--- a/js/src/ion/ParallelArrayAnalysis.h
+++ b/js/src/jit/ParallelArrayAnalysis.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_ParallelArrayAnalysis_h
-#define ion_ParallelArrayAnalysis_h
+#ifndef jit_ParallelArrayAnalysis_h
+#define jit_ParallelArrayAnalysis_h
 
 #include "MIR.h"
 #include "CompileInfo.h"
 
 namespace js {
 
 class StackFrame;
 
@@ -47,9 +47,9 @@ class ParallelArrayAnalysis
 // This code may clone scripts and thus may invoke the GC.  Hence only
 // run from the link phase, which executes on the main thread.
 typedef Vector<JSScript *, 4, IonAllocPolicy> CallTargetVector;
 bool AddPossibleCallees(MIRGraph &graph, CallTargetVector &targets);
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_ParallelArrayAnalysis_h */
+#endif /* jit_ParallelArrayAnalysis_h */
rename from js/src/ion/ParallelFunctions.cpp
rename to js/src/jit/ParallelFunctions.cpp
--- a/js/src/ion/ParallelFunctions.cpp
+++ b/js/src/jit/ParallelFunctions.cpp
@@ -1,17 +1,17 @@
 /* -*- 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 "ion/ParallelFunctions.h"
+#include "jit/ParallelFunctions.h"
 
-#include "ion/IonSpewer.h"
+#include "jit/IonSpewer.h"
 #include "vm/Interpreter.h"
 
 #include "jscompartmentinlines.h"
 #include "jsstrinlines.h"
 #include "vm/Interpreter-inl.h"
 
 using namespace js;
 using namespace ion;
rename from js/src/ion/ParallelFunctions.h
rename to js/src/jit/ParallelFunctions.h
--- a/js/src/ion/ParallelFunctions.h
+++ b/js/src/jit/ParallelFunctions.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_ParallelFunctions_h
-#define ion_ParallelFunctions_h
+#ifndef jit_ParallelFunctions_h
+#define jit_ParallelFunctions_h
 
 #include "vm/ThreadPool.h"
 #include "vm/ForkJoin.h"
 #include "gc/Heap.h"
 
 namespace js {
 namespace ion {
 
@@ -71,9 +71,9 @@ void TraceLIR(uint32_t bblock, uint32_t 
               const char *lirOpName, const char *mirOpName,
               JSScript *script, jsbytecode *pc);
 
 void ParCallToUncompiledScript(JSFunction *func);
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_ParallelFunctions_h */
+#endif /* jit_ParallelFunctions_h */
rename from js/src/ion/PcScriptCache-inl.h
rename to js/src/jit/PcScriptCache-inl.h
--- a/js/src/ion/PcScriptCache-inl.h
+++ b/js/src/jit/PcScriptCache-inl.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_PcScriptCache_inl_h
-#define ion_PcScriptCache_inl_h
+#ifndef jit_PcScriptCache_inl_h
+#define jit_PcScriptCache_inl_h
 
 #include "PcScriptCache.h"
 
 namespace js {
 namespace ion {
 
 // Get a value from the cache. May perform lazy allocation.
 bool
@@ -31,9 +31,9 @@ PcScriptCache::get(JSRuntime *rt, uint32
         *pcRes = entries[hash].pc;
 
     return true;
 }
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_PcScriptCache_inl_h */
+#endif /* jit_PcScriptCache_inl_h */
rename from js/src/ion/PcScriptCache.h
rename to js/src/jit/PcScriptCache.h
--- a/js/src/ion/PcScriptCache.h
+++ b/js/src/jit/PcScriptCache.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_PcScriptCache_h
-#define ion_PcScriptCache_h
+#ifndef jit_PcScriptCache_h
+#define jit_PcScriptCache_h
 
 // Defines a fixed-size hash table solely for the purpose of caching ion::GetPcScript().
 // One cache is attached to each JSRuntime; it functions as if cleared on GC.
 
 struct JSRuntime;
 
 namespace js {
 namespace ion {
@@ -55,9 +55,9 @@ struct PcScriptCache
         uint32_t key = (uint32_t)((uintptr_t)addr);
         return ((key >> 3) * 2654435761u) % Length;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_PcScriptCache_h */
+#endif /* jit_PcScriptCache_h */
rename from js/src/ion/PerfSpewer.cpp
rename to js/src/jit/PerfSpewer.cpp
rename from js/src/ion/PerfSpewer.h
rename to js/src/jit/PerfSpewer.h
--- a/js/src/ion/PerfSpewer.h
+++ b/js/src/jit/PerfSpewer.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_PerfSpewer_h
-#define ion_PerfSpewer_h
+#ifndef jit_PerfSpewer_h
+#define jit_PerfSpewer_h
 
 #include <stdio.h>
 
 #include "jsscript.h"
 #include "IonMacroAssembler.h"
 #include "js/RootingAPI.h"
 
 class JSScript;
@@ -70,9 +70,9 @@ class PerfSpewer
     void writeProfile(JSScript *script,
                       IonCode *code,
                       MacroAssembler &masm);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_PerfSpewer_h */
+#endif /* jit_PerfSpewer_h */
rename from js/src/ion/RangeAnalysis.cpp
rename to js/src/jit/RangeAnalysis.cpp
rename from js/src/ion/RangeAnalysis.h
rename to js/src/jit/RangeAnalysis.h
--- a/js/src/ion/RangeAnalysis.h
+++ b/js/src/jit/RangeAnalysis.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_RangeAnalysis_h
-#define ion_RangeAnalysis_h
+#ifndef jit_RangeAnalysis_h
+#define jit_RangeAnalysis_h
 
 #include "mozilla/FloatingPoint.h"
 #include "mozilla/MathAlgorithms.h"
 
 #include "wtf/Platform.h"
 #include "MIR.h"
 #include "CompileInfo.h"
 #include "IonAnalysis.h"
@@ -364,9 +364,9 @@ class Range : public TempObject {
     inline void setSymbolicUpper(SymbolicBound *bound) {
         symbolicUpper_ = bound;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_RangeAnalysis_h */
+#endif /* jit_RangeAnalysis_h */
rename from js/src/ion/RegisterAllocator.cpp
rename to js/src/jit/RegisterAllocator.cpp
rename from js/src/ion/RegisterAllocator.h
rename to js/src/jit/RegisterAllocator.h
--- a/js/src/ion/RegisterAllocator.h
+++ b/js/src/jit/RegisterAllocator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_RegisterAllocator_h
-#define ion_RegisterAllocator_h
+#ifndef jit_RegisterAllocator_h
+#define jit_RegisterAllocator_h
 
 #include "mozilla/Attributes.h"
 
 #include "Ion.h"
 #include "MIR.h"
 #include "MIRGraph.h"
 #include "InlineList.h"
 #include "LIR.h"
@@ -354,9 +354,9 @@ class RegisterAllocator
         }
         return i;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_RegisterAllocator_h */
+#endif /* jit_RegisterAllocator_h */
rename from js/src/ion/RegisterSets.h
rename to js/src/jit/RegisterSets.h
--- a/js/src/ion/RegisterSets.h
+++ b/js/src/jit/RegisterSets.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_RegisterSets_h
-#define ion_RegisterSets_h
+#ifndef jit_RegisterSets_h
+#define jit_RegisterSets_h
 
 #include "Registers.h"
-#include "ion/IonAllocPolicy.h"
+#include "jit/IonAllocPolicy.h"
 
 namespace js {
 namespace ion {
 
 struct AnyRegister {
     typedef uint32_t Code;
 
     static const uint32_t Total = Registers::Total + FloatRegisters::Total;
@@ -821,9 +821,9 @@ struct AsmJSBoundsCheck
 };
 
 typedef Vector<AsmJSBoundsCheck, 0, IonAllocPolicy> AsmJSBoundsCheckVector;
 #endif
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_RegisterSets_h */
+#endif /* jit_RegisterSets_h */
rename from js/src/ion/Registers.h
rename to js/src/jit/Registers.h
--- a/js/src/ion/Registers.h
+++ b/js/src/jit/Registers.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_Registers_h
-#define ion_Registers_h
+#ifndef jit_Registers_h
+#define jit_Registers_h
 
 #include "jsutil.h"
 #include "IonTypes.h"
 #if defined(JS_CPU_X86)
 # include "x86/Architecture-x86.h"
 #elif defined(JS_CPU_X64)
 # include "x64/Architecture-x64.h"
 #elif defined(JS_CPU_ARM)
@@ -116,9 +116,9 @@ class MachineState
     void write(Register reg, uintptr_t value) const {
         *regs_[reg.code()] = value;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_Registers_h */
+#endif /* jit_Registers_h */
rename from js/src/ion/Safepoints.cpp
rename to js/src/jit/Safepoints.cpp
rename from js/src/ion/Safepoints.h
rename to js/src/jit/Safepoints.h
--- a/js/src/ion/Safepoints.h
+++ b/js/src/jit/Safepoints.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_Safepoints_h
-#define ion_Safepoints_h
+#ifndef jit_Safepoints_h
+#define jit_Safepoints_h
 
 #include "Registers.h"
 #include "CompactBuffer.h"
 #include "BitSet.h"
 
 #include "shared/Assembler-shared.h"
 
 namespace js {
@@ -102,9 +102,9 @@ class SafepointReader
     // Returns true if a nunbox slot was read, false if there are no more
     // nunbox slots.
     bool getNunboxSlot(LAllocation *type, LAllocation *payload);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_Safepoints_h */
+#endif /* jit_Safepoints_h */
rename from js/src/ion/SnapshotReader.h
rename to js/src/jit/SnapshotReader.h
--- a/js/src/ion/SnapshotReader.h
+++ b/js/src/jit/SnapshotReader.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_SnapshotReader_h
-#define ion_SnapshotReader_h
+#ifndef jit_SnapshotReader_h
+#define jit_SnapshotReader_h
 
 #include "IonTypes.h"
 #include "IonCode.h"
 #include "Registers.h"
 #include "CompactBuffer.h"
 
 namespace js {
 namespace ion {
@@ -226,9 +226,9 @@ class SnapshotReader
     uint32_t frameCount() const {
         return frameCount_;
     }
 };
 
 }
 }
 
-#endif /* ion_SnapshotReader_h */
+#endif /* jit_SnapshotReader_h */
rename from js/src/ion/SnapshotWriter.h
rename to js/src/jit/SnapshotWriter.h
--- a/js/src/ion/SnapshotWriter.h
+++ b/js/src/jit/SnapshotWriter.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_SnapshotWriter_h
-#define ion_SnapshotWriter_h
+#ifndef jit_SnapshotWriter_h
+#define jit_SnapshotWriter_h
 
 #include "Ion.h"
 #include "IonCode.h"
 #include "Registers.h"
 #include "CompactBuffer.h"
 #include "Bailouts.h"
 
 namespace js {
@@ -68,9 +68,9 @@ class SnapshotWriter
     const uint8_t *buffer() const {
         return writer_.buffer();
     }
 };
 
 }
 }
 
-#endif /* ion_SnapshotWriter_h */
+#endif /* jit_SnapshotWriter_h */
rename from js/src/ion/Snapshots.cpp
rename to js/src/jit/Snapshots.cpp
rename from js/src/ion/StackSlotAllocator.h
rename to js/src/jit/StackSlotAllocator.h
--- a/js/src/ion/StackSlotAllocator.h
+++ b/js/src/jit/StackSlotAllocator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_StackSlotAllocator_h
-#define ion_StackSlotAllocator_h
+#ifndef jit_StackSlotAllocator_h
+#define jit_StackSlotAllocator_h
 
 #include "Registers.h"
 
 namespace js {
 namespace ion {
 
 class StackSlotAllocator
 {
@@ -56,9 +56,9 @@ class StackSlotAllocator
     uint32_t stackHeight() const {
         return height_;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_StackSlotAllocator_h */
+#endif /* jit_StackSlotAllocator_h */
rename from js/src/ion/StupidAllocator.cpp
rename to js/src/jit/StupidAllocator.cpp
rename from js/src/ion/StupidAllocator.h
rename to js/src/jit/StupidAllocator.h
--- a/js/src/ion/StupidAllocator.h
+++ b/js/src/jit/StupidAllocator.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_StupidAllocator_h
-#define ion_StupidAllocator_h
+#ifndef jit_StupidAllocator_h
+#define jit_StupidAllocator_h
 
 #include "RegisterAllocator.h"
 
 // Simple register allocator that only carries registers within basic blocks.
 
 namespace js {
 namespace ion {
 
@@ -75,9 +75,9 @@ class StupidAllocator : public RegisterA
     void loadRegister(LInstruction *ins, uint32_t vreg, RegisterIndex index);
 
     RegisterIndex findExistingRegister(uint32_t vreg);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_StupidAllocator_h */
+#endif /* jit_StupidAllocator_h */
rename from js/src/ion/TypePolicy.cpp
rename to js/src/jit/TypePolicy.cpp
rename from js/src/ion/TypePolicy.h
rename to js/src/jit/TypePolicy.h
--- a/js/src/ion/TypePolicy.h
+++ b/js/src/jit/TypePolicy.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_TypePolicy_h
-#define ion_TypePolicy_h
+#ifndef jit_TypePolicy_h
+#define jit_TypePolicy_h
 
 #include "IonTypes.h"
 
 namespace js {
 namespace ion {
 
 class MInstruction;
 class MDefinition;
@@ -249,9 +249,9 @@ CoercesToDouble(MIRType type)
         return true;
     return false;
 }
 
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_TypePolicy_h */
+#endif /* jit_TypePolicy_h */
rename from js/src/ion/UnreachableCodeElimination.cpp
rename to js/src/jit/UnreachableCodeElimination.cpp
rename from js/src/ion/UnreachableCodeElimination.h
rename to js/src/jit/UnreachableCodeElimination.h
--- a/js/src/ion/UnreachableCodeElimination.h
+++ b/js/src/jit/UnreachableCodeElimination.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_UnreachableCodeElimination_h
-#define ion_UnreachableCodeElimination_h
+#ifndef jit_UnreachableCodeElimination_h
+#define jit_UnreachableCodeElimination_h
 
 #include "MIR.h"
 #include "MIRGraph.h"
 
 namespace js {
 namespace ion {
 
 class MIRGraph;
@@ -49,9 +49,9 @@ class UnreachableCodeElimination
     // reachable.  The parameter |marked| should be the number of blocks that
     // are marked.
     bool removeUnmarkedBlocks(size_t marked);
 };
 
 } /* namespace ion */
 } /* namespace js */
 
-#endif /* ion_UnreachableCodeElimination_h */
+#endif /* jit_UnreachableCodeElimination_h */
rename from js/src/ion/VMFunctions.cpp
rename to js/src/jit/VMFunctions.cpp
--- a/js/src/ion/VMFunctions.cpp
+++ b/js/src/jit/VMFunctions.cpp
@@ -1,31 +1,31 @@
 /* -*- 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 "Ion.h"
 #include "IonCompartment.h"
-#include "ion/BaselineFrame-inl.h"
-#include "ion/BaselineIC.h"
-#include "ion/IonFrames.h"
+#include "jit/BaselineFrame-inl.h"
+#include "jit/BaselineIC.h"
+#include "jit/IonFrames.h"
 
 #include "vm/Debugger.h"
 #include "vm/Interpreter.h"
 #include "vm/StringObject-inl.h"
 
 #include "builtin/ParallelArray.h"
 
 #include "frontend/BytecodeCompiler.h"
 
 #include "jsboolinlines.h"
 
-#include "ion/IonFrames-inl.h" // for GetTopIonJSScript
+#include "jit/IonFrames-inl.h" // for GetTopIonJSScript
 
 #include "vm/Interpreter-inl.h"
 #include "vm/StringObject-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 namespace js {
rename from js/src/ion/VMFunctions.h
rename to js/src/jit/VMFunctions.h
--- a/js/src/ion/VMFunctions.h
+++ b/js/src/jit/VMFunctions.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_VMFunctions_h
-#define ion_VMFunctions_h
+#ifndef jit_VMFunctions_h
+#define jit_VMFunctions_h
 
 #include "jspubtd.h"
 
 namespace js {
 
 class DeclEnvObject;
 class ForkJoinSlice;
 
@@ -617,9 +617,9 @@ bool EnterBlock(JSContext *cx, BaselineF
 bool LeaveBlock(JSContext *cx, BaselineFrame *frame);
 
 bool InitBaselineFrameForOsr(BaselineFrame *frame, StackFrame *interpFrame,
                              uint32_t numStackValues);
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_VMFunctions_h */
+#endif /* jit_VMFunctions_h */
rename from js/src/ion/ValueNumbering.cpp
rename to js/src/jit/ValueNumbering.cpp
rename from js/src/ion/ValueNumbering.h
rename to js/src/jit/ValueNumbering.h
--- a/js/src/ion/ValueNumbering.h
+++ b/js/src/jit/ValueNumbering.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_ValueNumbering_h
-#define ion_ValueNumbering_h
+#ifndef jit_ValueNumbering_h
+#define jit_ValueNumbering_h
 
 #include "MIR.h"
 #include "MIRGraph.h"
 #include "CompileInfo.h"
 
 namespace js {
 namespace ion {
 
@@ -131,9 +131,9 @@ class ValueNumberData : public TempObjec
         if (rep->valueNumberData()->classNext)
             rep->valueNumberData()->classNext->valueNumberData()->classPrev = thisDef;
         rep->valueNumberData()->classNext = thisDef;
     }
 };
 } // namespace ion
 } // namespace js
 
-#endif /* ion_ValueNumbering_h */
+#endif /* jit_ValueNumbering_h */
rename from js/src/ion/arm/Architecture-arm.cpp
rename to js/src/jit/arm/Architecture-arm.cpp
--- a/js/src/ion/arm/Architecture-arm.cpp
+++ b/js/src/jit/arm/Architecture-arm.cpp
@@ -22,18 +22,18 @@
 #define HWCAP_VFPv3    (1<<1)
 #define HWCAP_VFPv3D16 (1<<2)
 #define HWCAP_VFPv4    (1<<3)
 #define HWCAP_IDIVA    (1<<4)
 #define HWCAP_IDIVT    (1<<5)
 #define HWCAP_NEON     (1<<6)
 #define HWCAP_ARMv7    (1<<7)
 #endif
-#include "ion/arm/Architecture-arm.h"
-#include "ion/arm/Assembler-arm.h"
+#include "jit/arm/Architecture-arm.h"
+#include "jit/arm/Assembler-arm.h"
 namespace js {
 namespace ion {
 
 uint32_t getFlags()
 {
     static bool isSet = false;
     static uint32_t flags = 0;
     if (isSet)
rename from js/src/ion/arm/Architecture-arm.h
rename to js/src/jit/arm/Architecture-arm.h
--- a/js/src/ion/arm/Architecture-arm.h
+++ b/js/src/jit/arm/Architecture-arm.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_Architecture_arm_h
-#define ion_arm_Architecture_arm_h
+#ifndef jit_arm_Architecture_arm_h
+#define jit_arm_Architecture_arm_h
 
 #include <limits.h>
 // gcc appears to use __ARM_PCS_VFP to denote that the target is a hard-float target.
 #ifdef __ARM_PCS_VFP
 #define JS_CPU_ARM_HARDFP
 #endif
 namespace js {
 namespace ion {
@@ -210,9 +210,9 @@ class FloatRegisters
 bool hasMOVWT();
 bool hasVFPv3();
 bool hasVFP();
 bool has16DP();
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_Architecture_arm_h */
+#endif /* jit_arm_Architecture_arm_h */
rename from js/src/ion/arm/Assembler-arm.cpp
rename to js/src/jit/arm/Assembler-arm.cpp
--- a/js/src/ion/arm/Assembler-arm.cpp
+++ b/js/src/jit/arm/Assembler-arm.cpp
@@ -7,17 +7,17 @@
 #include "mozilla/DebugOnly.h"
 
 #include "Assembler-arm.h"
 #include "MacroAssembler-arm.h"
 #include "gc/Marking.h"
 #include "jsutil.h"
 #include "assembler/jit/ExecutableAllocator.h"
 #include "jscompartment.h"
-#include "ion/IonCompartment.h"
+#include "jit/IonCompartment.h"
 
 using namespace js;
 using namespace js::ion;
 
 ABIArgGenerator::ABIArgGenerator() :
 #if defined(JS_CPU_ARM_HARDFP)
     intRegIndex_(0),
     floatRegIndex_(0),
rename from js/src/ion/arm/Assembler-arm.h
rename to js/src/jit/arm/Assembler-arm.h
--- a/js/src/ion/arm/Assembler-arm.h
+++ b/js/src/jit/arm/Assembler-arm.h
@@ -1,27 +1,27 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_Assembler_arm_h
-#define ion_arm_Assembler_arm_h
+#ifndef jit_arm_Assembler_arm_h
+#define jit_arm_Assembler_arm_h
 
 #include "mozilla/Attributes.h"
 #include "mozilla/MathAlgorithms.h"
 #include "mozilla/Util.h"
 
-#include "ion/shared/Assembler-shared.h"
+#include "jit/shared/Assembler-shared.h"
 #include "assembler/assembler/AssemblerBufferWithConstantPool.h"
-#include "ion/CompactBuffer.h"
-#include "ion/IonCode.h"
-#include "ion/arm/Architecture-arm.h"
-#include "ion/shared/IonAssemblerBufferWithConstantPools.h"
+#include "jit/CompactBuffer.h"
+#include "jit/IonCode.h"
+#include "jit/arm/Architecture-arm.h"
+#include "jit/shared/IonAssemblerBufferWithConstantPools.h"
 
 namespace js {
 namespace ion {
 
 //NOTE: there are duplicates in this list!
 // sometimes we want to specifically refer to the
 // link register as a link register (bl lr is much
 // clearer than bl r14).  HOWEVER, this register can
@@ -2244,9 +2244,9 @@ class AutoForbidPools {
     ~AutoForbidPools() {
         masm_->leaveNoPool();
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_Assembler_arm_h */
+#endif /* jit_arm_Assembler_arm_h */
rename from js/src/ion/arm/Bailouts-arm.cpp
rename to js/src/jit/arm/Bailouts-arm.cpp
--- a/js/src/ion/arm/Bailouts-arm.cpp
+++ b/js/src/jit/arm/Bailouts-arm.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "jscntxt.h"
 #include "jscompartment.h"
-#include "ion/Bailouts.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonFrames-inl.h"
+#include "jit/Bailouts.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonFrames-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 #if 0
 // no clue what these asserts should be.
 JS_STATIC_ASSERT(sizeof(BailoutStack) ==
                  sizeof(uintptr_t) +
rename from js/src/ion/arm/BaselineCompiler-arm.cpp
rename to js/src/jit/arm/BaselineCompiler-arm.cpp
rename from js/src/ion/arm/BaselineCompiler-arm.h
rename to js/src/jit/arm/BaselineCompiler-arm.h
--- a/js/src/ion/arm/BaselineCompiler-arm.h
+++ b/js/src/jit/arm/BaselineCompiler-arm.h
@@ -1,26 +1,26 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_BaselineCompiler_arm_h
-#define ion_arm_BaselineCompiler_arm_h
+#ifndef jit_arm_BaselineCompiler_arm_h
+#define jit_arm_BaselineCompiler_arm_h
 
-#include "ion/shared/BaselineCompiler-shared.h"
+#include "jit/shared/BaselineCompiler-shared.h"
 
 namespace js {
 namespace ion {
 
 class BaselineCompilerARM : public BaselineCompilerShared
 {
   protected:
     BaselineCompilerARM(JSContext *cx, HandleScript script);
 };
 
 typedef BaselineCompilerARM BaselineCompilerSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_BaselineCompiler_arm_h */
+#endif /* jit_arm_BaselineCompiler_arm_h */
rename from js/src/ion/arm/BaselineHelpers-arm.h
rename to js/src/jit/arm/BaselineHelpers-arm.h
--- a/js/src/ion/arm/BaselineHelpers-arm.h
+++ b/js/src/jit/arm/BaselineHelpers-arm.h
@@ -1,23 +1,23 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_BaselineHelpers_arm_h
-#define ion_arm_BaselineHelpers_arm_h
+#ifndef jit_arm_BaselineHelpers_arm_h
+#define jit_arm_BaselineHelpers_arm_h
 
 #ifdef JS_ION
 
-#include "ion/IonMacroAssembler.h"
-#include "ion/BaselineFrame.h"
-#include "ion/BaselineRegisters.h"
-#include "ion/BaselineIC.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/BaselineFrame.h"
+#include "jit/BaselineRegisters.h"
+#include "jit/BaselineIC.h"
 
 namespace js {
 namespace ion {
 
 // Distance from sp to the top Value inside an IC stub (no return address on the stack on ARM).
 static const size_t ICStackValueOffset = 0;
 
 inline void
@@ -302,10 +302,10 @@ EmitStubGuardFailure(MacroAssembler &mas
 }
 
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_arm_BaselineHelpers_arm_h */
+#endif /* jit_arm_BaselineHelpers_arm_h */
 
rename from js/src/ion/arm/BaselineIC-arm.cpp
rename to js/src/jit/arm/BaselineIC-arm.cpp
--- a/js/src/ion/arm/BaselineIC-arm.cpp
+++ b/js/src/jit/arm/BaselineIC-arm.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "ion/BaselineJIT.h"
-#include "ion/BaselineIC.h"
-#include "ion/BaselineCompiler.h"
-#include "ion/BaselineHelpers.h"
-#include "ion/IonLinker.h"
+#include "jit/BaselineJIT.h"
+#include "jit/BaselineIC.h"
+#include "jit/BaselineCompiler.h"
+#include "jit/BaselineHelpers.h"
+#include "jit/IonLinker.h"
 
 using namespace js;
 using namespace js::ion;
 
 namespace js {
 namespace ion {
 
 // ICCompare_Int32
rename from js/src/ion/arm/BaselineRegisters-arm.h
rename to js/src/jit/arm/BaselineRegisters-arm.h
--- a/js/src/ion/arm/BaselineRegisters-arm.h
+++ b/js/src/jit/arm/BaselineRegisters-arm.h
@@ -1,20 +1,20 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_BaselineRegisters_arm_h
-#define ion_arm_BaselineRegisters_arm_h
+#ifndef jit_arm_BaselineRegisters_arm_h
+#define jit_arm_BaselineRegisters_arm_h
 
 #ifdef JS_ION
 
-#include "ion/IonMacroAssembler.h"
+#include "jit/IonMacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 // r15 = program-counter
 // r14 = link-register
 
 // r13 = stack-pointer
@@ -52,9 +52,9 @@ static const Register BaselineSecondScra
 static const FloatRegister FloatReg0      = d0;
 static const FloatRegister FloatReg1      = d2;
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_arm_BaselineRegisters_arm_h */
+#endif /* jit_arm_BaselineRegisters_arm_h */
rename from js/src/ion/arm/CodeGenerator-arm.cpp
rename to js/src/jit/arm/CodeGenerator-arm.cpp
--- a/js/src/ion/arm/CodeGenerator-arm.cpp
+++ b/js/src/jit/arm/CodeGenerator-arm.cpp
@@ -5,24 +5,24 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "jsnum.h"
 
 #include "CodeGenerator-arm.h"
-#include "ion/PerfSpewer.h"
-#include "ion/CodeGenerator.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonFrames.h"
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
-#include "ion/MoveEmitter.h"
-#include "ion/shared/CodeGenerator-shared-inl.h"
+#include "jit/PerfSpewer.h"
+#include "jit/CodeGenerator.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonFrames.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
+#include "jit/MoveEmitter.h"
+#include "jit/shared/CodeGenerator-shared-inl.h"
 #include "vm/Shape.h"
 
 #include "jsscriptinlines.h"
 
 #include "vm/Shape-inl.h"
 
 using namespace js;
 using namespace js::ion;
rename from js/src/ion/arm/CodeGenerator-arm.h
rename to js/src/jit/arm/CodeGenerator-arm.h
--- a/js/src/ion/arm/CodeGenerator-arm.h
+++ b/js/src/jit/arm/CodeGenerator-arm.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_CodeGenerator_arm_h
-#define ion_arm_CodeGenerator_arm_h
+#ifndef jit_arm_CodeGenerator_arm_h
+#define jit_arm_CodeGenerator_arm_h
 
 #include "Assembler-arm.h"
-#include "ion/shared/CodeGenerator-shared.h"
+#include "jit/shared/CodeGenerator-shared.h"
 
 namespace js {
 namespace ion {
 
 class OutOfLineBailout;
 class OutOfLineTableSwitch;
 
 class CodeGeneratorARM : public CodeGeneratorShared
@@ -190,9 +190,9 @@ class OutOfLineBailout : public OutOfLin
     LSnapshot *snapshot() const {
         return snapshot_;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_CodeGenerator_arm_h */
+#endif /* jit_arm_CodeGenerator_arm_h */
rename from js/src/ion/arm/IonFrames-arm.cpp
rename to js/src/jit/arm/IonFrames-arm.cpp
--- a/js/src/ion/arm/IonFrames-arm.cpp
+++ b/js/src/jit/arm/IonFrames-arm.cpp
@@ -1,16 +1,16 @@
 /* -*- 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 "ion/Ion.h"
-#include "ion/IonFrames.h"
+#include "jit/Ion.h"
+#include "jit/IonFrames.h"
 
 using namespace js;
 using namespace js::ion;
 
 IonJSFrameLayout *
 InvalidationBailoutStack::fp() const
 {
     return (IonJSFrameLayout *) (sp() + ionScript_->frameSize());
rename from js/src/ion/arm/IonFrames-arm.h
rename to js/src/jit/arm/IonFrames-arm.h
--- a/js/src/ion/arm/IonFrames-arm.h
+++ b/js/src/jit/arm/IonFrames-arm.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_IonFrames_arm_h
-#define ion_arm_IonFrames_arm_h
+#ifndef jit_arm_IonFrames_arm_h
+#define jit_arm_IonFrames_arm_h
 
-#include "ion/shared/IonFrames-shared.h"
-//#include "ion/arm/Assembler-arm.h"
+#include "jit/shared/IonFrames-shared.h"
+//#include "jit/arm/Assembler-arm.h"
 
 namespace js {
 namespace ion {
 
 class IonFramePrefix;
 // Layout of the frame prefix. This assumes the stack architecture grows down.
 // If this is ever not the case, we'll have to refactor.
 class IonCommonFrameLayout
@@ -535,9 +535,9 @@ class InvalidationBailoutStack
     }
 
     void checkInvariants() const;
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_IonFrames_arm_h */
+#endif /* jit_arm_IonFrames_arm_h */
rename from js/src/ion/arm/LIR-arm.h
rename to js/src/jit/arm/LIR-arm.h
--- a/js/src/ion/arm/LIR-arm.h
+++ b/js/src/jit/arm/LIR-arm.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_LIR_arm_h
-#define ion_arm_LIR_arm_h
+#ifndef jit_arm_LIR_arm_h
+#define jit_arm_LIR_arm_h
 
 namespace js {
 namespace ion {
 
 class LBox : public LInstructionHelper<2, 1, 0>
 {
     MIRType type_;
 
@@ -357,9 +357,9 @@ class LAsmJSLoadFuncPtr : public LInstru
     const LDefinition *temp() {
         return getTemp(0);
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_LIR_arm_h */
+#endif /* jit_arm_LIR_arm_h */
rename from js/src/ion/arm/LOpcodes-arm.h
rename to js/src/jit/arm/LOpcodes-arm.h
--- a/js/src/ion/arm/LOpcodes-arm.h
+++ b/js/src/jit/arm/LOpcodes-arm.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_LOpcodes_arm_h
-#define ion_arm_LOpcodes_arm_h
+#ifndef jit_arm_LOpcodes_arm_h
+#define jit_arm_LOpcodes_arm_h
 
 #define LIR_CPU_OPCODE_LIST(_)  \
     _(Unbox)                    \
     _(UnboxDouble)              \
     _(Box)                      \
     _(BoxDouble)                \
     _(DivI)                     \
     _(DivPowTwoI)               \
@@ -18,9 +18,9 @@
     _(ModPowTwoI)               \
     _(ModMaskI)                 \
     _(PowHalfD)                 \
     _(UInt32ToDouble)           \
     _(AsmJSDivOrMod)            \
     _(AsmJSLoadFuncPtr)
 
 
-#endif /* ion_arm_LOpcodes_arm_h */
+#endif /* jit_arm_LOpcodes_arm_h */
rename from js/src/ion/arm/Lowering-arm.cpp
rename to js/src/jit/arm/Lowering-arm.cpp
--- a/js/src/ion/arm/Lowering-arm.cpp
+++ b/js/src/jit/arm/Lowering-arm.cpp
@@ -1,18 +1,18 @@
 /* -*- 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 "ion/MIR.h"
-#include "ion/Lowering.h"
+#include "jit/MIR.h"
+#include "jit/Lowering.h"
 #include "Assembler-arm.h"
-#include "ion/shared/Lowering-shared-inl.h"
+#include "jit/shared/Lowering-shared-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 bool
 LIRGeneratorARM::useBox(LInstruction *lir, size_t n, MDefinition *mir,
                         LUse::Policy policy, bool useAtStart)
 {
rename from js/src/ion/arm/Lowering-arm.h
rename to js/src/jit/arm/Lowering-arm.h
--- a/js/src/ion/arm/Lowering-arm.h
+++ b/js/src/jit/arm/Lowering-arm.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_Lowering_arm_h
-#define ion_arm_Lowering_arm_h
+#ifndef jit_arm_Lowering_arm_h
+#define jit_arm_Lowering_arm_h
 
-#include "ion/shared/Lowering-shared.h"
+#include "jit/shared/Lowering-shared.h"
 
 namespace js {
 namespace ion {
 
 class LIRGeneratorARM : public LIRGeneratorShared
 {
   public:
     LIRGeneratorARM(MIRGenerator *gen, MIRGraph &graph, LIRGraph &lirGraph)
@@ -79,9 +79,9 @@ class LIRGeneratorARM : public LIRGenera
     bool visitStoreTypedArrayElementStatic(MStoreTypedArrayElementStatic *ins);
 };
 
 typedef LIRGeneratorARM LIRGeneratorSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_Lowering_arm_h */
+#endif /* jit_arm_Lowering_arm_h */
rename from js/src/ion/arm/MacroAssembler-arm.cpp
rename to js/src/jit/arm/MacroAssembler-arm.cpp
--- a/js/src/ion/arm/MacroAssembler-arm.cpp
+++ b/js/src/jit/arm/MacroAssembler-arm.cpp
@@ -2,19 +2,19 @@
  * 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 "mozilla/DebugOnly.h"
 #include "mozilla/MathAlgorithms.h"
 
-#include "ion/arm/MacroAssembler-arm.h"
-#include "ion/BaselineFrame.h"
-#include "ion/MoveEmitter.h"
+#include "jit/arm/MacroAssembler-arm.h"
+#include "jit/BaselineFrame.h"
+#include "jit/MoveEmitter.h"
 
 using namespace js;
 using namespace ion;
 
 using mozilla::Abs;
 
 bool
 isValueDTRDCandidate(ValueOperand &val)
rename from js/src/ion/arm/MacroAssembler-arm.h
rename to js/src/jit/arm/MacroAssembler-arm.h
--- a/js/src/ion/arm/MacroAssembler-arm.h
+++ b/js/src/jit/arm/MacroAssembler-arm.h
@@ -1,23 +1,23 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_MacroAssembler_arm_h
-#define ion_arm_MacroAssembler_arm_h
+#ifndef jit_arm_MacroAssembler_arm_h
+#define jit_arm_MacroAssembler_arm_h
 
 #include "mozilla/DebugOnly.h"
 
-#include "ion/arm/Assembler-arm.h"
-#include "ion/IonCaches.h"
-#include "ion/IonFrames.h"
-#include "ion/MoveResolver.h"
+#include "jit/arm/Assembler-arm.h"
+#include "jit/IonCaches.h"
+#include "jit/IonFrames.h"
+#include "jit/MoveResolver.h"
 #include "jsopcode.h"
 
 using mozilla::DebugOnly;
 
 namespace js {
 namespace ion {
 
 static Register CallReg = ip;
@@ -1347,9 +1347,9 @@ class MacroAssemblerARMCompat : public M
     }
 };
 
 typedef MacroAssemblerARMCompat MacroAssemblerSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_MacroAssembler_arm_h */
+#endif /* jit_arm_MacroAssembler_arm_h */
rename from js/src/ion/arm/MoveEmitter-arm.cpp
rename to js/src/jit/arm/MoveEmitter-arm.cpp
rename from js/src/ion/arm/MoveEmitter-arm.h
rename to js/src/jit/arm/MoveEmitter-arm.h
--- a/js/src/ion/arm/MoveEmitter-arm.h
+++ b/js/src/jit/arm/MoveEmitter-arm.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_arm_MoveEmitter_arm_h
-#define ion_arm_MoveEmitter_arm_h
+#ifndef jit_arm_MoveEmitter_arm_h
+#define jit_arm_MoveEmitter_arm_h
 
-#include "ion/MoveResolver.h"
-#include "ion/IonMacroAssembler.h"
+#include "jit/MoveResolver.h"
+#include "jit/IonMacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 class CodeGenerator;
 
 class MoveEmitterARM
 {
@@ -60,9 +60,9 @@ class MoveEmitterARM
     void finish();
 };
 
 typedef MoveEmitterARM MoveEmitter;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_arm_MoveEmitter_arm_h */
+#endif /* jit_arm_MoveEmitter_arm_h */
rename from js/src/ion/arm/Trampoline-arm.cpp
rename to js/src/jit/arm/Trampoline-arm.cpp
--- a/js/src/ion/arm/Trampoline-arm.cpp
+++ b/js/src/jit/arm/Trampoline-arm.cpp
@@ -1,24 +1,24 @@
 /* -*- 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 "jscompartment.h"
 #include "assembler/assembler/MacroAssembler.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonLinker.h"
-#include "ion/IonFrames.h"
-#include "ion/IonSpewer.h"
-#include "ion/Bailouts.h"
-#include "ion/VMFunctions.h"
-#include "ion/arm/BaselineHelpers-arm.h"
-#include "ion/ExecutionModeInlines.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonLinker.h"
+#include "jit/IonFrames.h"
+#include "jit/IonSpewer.h"
+#include "jit/Bailouts.h"
+#include "jit/VMFunctions.h"
+#include "jit/arm/BaselineHelpers-arm.h"
+#include "jit/ExecutionModeInlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 static void
 GenerateReturn(MacroAssembler &masm, int returnCode)
 {
     // Restore non-volatile registers
rename from js/src/ion/shared/Assembler-shared.h
rename to js/src/jit/shared/Assembler-shared.h
--- a/js/src/ion/shared/Assembler-shared.h
+++ b/js/src/jit/shared/Assembler-shared.h
@@ -1,25 +1,25 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_Assembler_shared_h
-#define ion_shared_Assembler_shared_h
+#ifndef jit_shared_Assembler_shared_h
+#define jit_shared_Assembler_shared_h
 
 #include <limits.h>
 
 #include "mozilla/DebugOnly.h"
 #include "mozilla/PodOperations.h"
 
-#include "ion/IonAllocPolicy.h"
-#include "ion/Registers.h"
-#include "ion/RegisterSets.h"
+#include "jit/IonAllocPolicy.h"
+#include "jit/Registers.h"
+#include "jit/RegisterSets.h"
 #if defined(JS_CPU_X64) || defined(JS_CPU_ARM)
 // JS_SMALL_BRANCH means the range on a branch instruction
 // is smaller than the whole address space
 #    define JS_SMALL_BRANCH
 #endif
 namespace js {
 namespace ion {
 
@@ -556,9 +556,9 @@ class CodeLocationLabel
         return raw_;
     }
 };
 
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_Assembler_shared_h */
+#endif /* jit_shared_Assembler_shared_h */
rename from js/src/ion/shared/Assembler-x86-shared.cpp
rename to js/src/jit/shared/Assembler-x86-shared.cpp
--- a/js/src/ion/shared/Assembler-x86-shared.cpp
+++ b/js/src/jit/shared/Assembler-x86-shared.cpp
@@ -1,15 +1,15 @@
 /* -*- 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 "ion/IonMacroAssembler.h"
+#include "jit/IonMacroAssembler.h"
 #include "gc/Marking.h"
 
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 void
rename from js/src/ion/shared/Assembler-x86-shared.h
rename to js/src/jit/shared/Assembler-x86-shared.h
--- a/js/src/ion/shared/Assembler-x86-shared.h
+++ b/js/src/jit/shared/Assembler-x86-shared.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_Assembler_x86_shared_h
-#define ion_shared_Assembler_x86_shared_h
+#ifndef jit_shared_Assembler_x86_shared_h
+#define jit_shared_Assembler_x86_shared_h
 #include <cstddef>
 #include "assembler/assembler/X86Assembler.h"
 
 namespace js {
 namespace ion {
 
 class AssemblerX86Shared
 {
@@ -1353,9 +1353,9 @@ class AssemblerX86Shared
                   *ptr == 0xE8);  // CALL
         *ptr = enabled ? 0xE8 : 0x3D;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_Assembler_x86_shared_h */
+#endif /* jit_shared_Assembler_x86_shared_h */
rename from js/src/ion/shared/BaselineCompiler-shared.cpp
rename to js/src/jit/shared/BaselineCompiler-shared.cpp
--- a/js/src/ion/shared/BaselineCompiler-shared.cpp
+++ b/js/src/jit/shared/BaselineCompiler-shared.cpp
@@ -1,17 +1,17 @@
 /* -*- 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 "BaselineCompiler-shared.h"
-#include "ion/BaselineIC.h"
-#include "ion/VMFunctions.h"
+#include "jit/BaselineIC.h"
+#include "jit/VMFunctions.h"
 
 using namespace js;
 using namespace js::ion;
 
 BaselineCompilerShared::BaselineCompilerShared(JSContext *cx, HandleScript script)
   : cx(cx),
     script(cx, script),
     pc(script->code),
rename from js/src/ion/shared/BaselineCompiler-shared.h
rename to js/src/jit/shared/BaselineCompiler-shared.h
--- a/js/src/ion/shared/BaselineCompiler-shared.h
+++ b/js/src/jit/shared/BaselineCompiler-shared.h
@@ -1,23 +1,23 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_BaselineCompiler_shared_h
-#define ion_shared_BaselineCompiler_shared_h
+#ifndef jit_shared_BaselineCompiler_shared_h
+#define jit_shared_BaselineCompiler_shared_h
 
 #include "jscntxt.h"
-#include "ion/BaselineFrameInfo.h"
-#include "ion/IonSpewer.h"
-#include "ion/BaselineIC.h"
-#include "ion/IonInstrumentation.h"
-#include "ion/IonMacroAssembler.h"
+#include "jit/BaselineFrameInfo.h"
+#include "jit/IonSpewer.h"
+#include "jit/BaselineIC.h"
+#include "jit/IonInstrumentation.h"
+#include "jit/IonMacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 class BaselineCompilerShared
 {
   protected:
     JSContext *cx;
@@ -135,9 +135,9 @@ class BaselineCompilerShared
     BytecodeAnalysis &analysis() {
         return analysis_;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_BaselineCompiler_shared_h */
+#endif /* jit_shared_BaselineCompiler_shared_h */
rename from js/src/ion/shared/BaselineCompiler-x86-shared.cpp
rename to js/src/jit/shared/BaselineCompiler-x86-shared.cpp
rename from js/src/ion/shared/BaselineCompiler-x86-shared.h
rename to js/src/jit/shared/BaselineCompiler-x86-shared.h
--- a/js/src/ion/shared/BaselineCompiler-x86-shared.h
+++ b/js/src/jit/shared/BaselineCompiler-x86-shared.h
@@ -1,24 +1,24 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_BaselineCompiler_x86_shared_h
-#define ion_shared_BaselineCompiler_x86_shared_h
+#ifndef jit_shared_BaselineCompiler_x86_shared_h
+#define jit_shared_BaselineCompiler_x86_shared_h
 
-#include "ion/shared/BaselineCompiler-shared.h"
+#include "jit/shared/BaselineCompiler-shared.h"
 
 namespace js {
 namespace ion {
 
 class BaselineCompilerX86Shared : public BaselineCompilerShared
 {
   protected:
     BaselineCompilerX86Shared(JSContext *cx, HandleScript script);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_BaselineCompiler_x86_shared_h */
+#endif /* jit_shared_BaselineCompiler_x86_shared_h */
rename from js/src/ion/shared/BaselineIC-x86-shared.cpp
rename to js/src/jit/shared/BaselineIC-x86-shared.cpp
--- a/js/src/ion/shared/BaselineIC-x86-shared.cpp
+++ b/js/src/jit/shared/BaselineIC-x86-shared.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "ion/BaselineJIT.h"
-#include "ion/BaselineIC.h"
-#include "ion/BaselineCompiler.h"
-#include "ion/BaselineHelpers.h"
-#include "ion/IonLinker.h"
+#include "jit/BaselineJIT.h"
+#include "jit/BaselineIC.h"
+#include "jit/BaselineCompiler.h"
+#include "jit/BaselineHelpers.h"
+#include "jit/IonLinker.h"
 
 using namespace js;
 using namespace js::ion;
 
 bool
 ICCompare_Double::Compiler::generateStubCode(MacroAssembler &masm)
 {
     Label failure, notNaN;
rename from js/src/ion/shared/CodeGenerator-shared-inl.h
rename to js/src/jit/shared/CodeGenerator-shared-inl.h
--- a/js/src/ion/shared/CodeGenerator-shared-inl.h
+++ b/js/src/jit/shared/CodeGenerator-shared-inl.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_CodeGenerator_shared_inl_h
-#define ion_shared_CodeGenerator_shared_inl_h
+#ifndef jit_shared_CodeGenerator_shared_inl_h
+#define jit_shared_CodeGenerator_shared_inl_h
 
 namespace js {
 namespace ion {
 
 static inline int32_t
 ToInt32(const LAllocation *a)
 {
     if (a->isConstantValue())
@@ -155,9 +155,9 @@ CodeGeneratorShared::restoreLiveIgnore(L
     JS_ASSERT(!ins->isCall());
     LSafepoint *safepoint = ins->safepoint();
     masm.PopRegsInMaskIgnore(safepoint->liveRegs(), ignore);
 }
 
 } // ion
 } // js
 
-#endif /* ion_shared_CodeGenerator_shared_inl_h */
+#endif /* jit_shared_CodeGenerator_shared_inl_h */
rename from js/src/ion/shared/CodeGenerator-shared.cpp
rename to js/src/jit/shared/CodeGenerator-shared.cpp
--- a/js/src/ion/shared/CodeGenerator-shared.cpp
+++ b/js/src/jit/shared/CodeGenerator-shared.cpp
@@ -2,23 +2,23 @@
  * 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 "mozilla/DebugOnly.h"
 
 #include "CodeGenerator-shared.h"
-#include "ion/MIRGenerator.h"
-#include "ion/IonFrames-inl.h"
-#include "ion/MIR.h"
+#include "jit/MIRGenerator.h"
+#include "jit/IonFrames-inl.h"
+#include "jit/MIR.h"
 #include "CodeGenerator-shared-inl.h"
-#include "ion/IonSpewer.h"
-#include "ion/IonMacroAssembler.h"
-#include "ion/ParallelFunctions.h"
+#include "jit/IonSpewer.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/ParallelFunctions.h"
 #include "builtin/ParallelArray.h"
 
 using namespace js;
 using namespace js::ion;
 
 using mozilla::DebugOnly;
 
 namespace js {
rename from js/src/ion/shared/CodeGenerator-shared.h
rename to js/src/jit/shared/CodeGenerator-shared.h
--- a/js/src/ion/shared/CodeGenerator-shared.h
+++ b/js/src/jit/shared/CodeGenerator-shared.h
@@ -1,27 +1,27 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_CodeGenerator_shared_h
-#define ion_shared_CodeGenerator_shared_h
+#ifndef jit_shared_CodeGenerator_shared_h
+#define jit_shared_CodeGenerator_shared_h
 
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
-#include "ion/LIR.h"
-#include "ion/IonCaches.h"
-#include "ion/IonMacroAssembler.h"
-#include "ion/IonFrames.h"
-#include "ion/IonMacroAssembler.h"
-#include "ion/Safepoints.h"
-#include "ion/VMFunctions.h"
-#include "ion/SnapshotWriter.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
+#include "jit/LIR.h"
+#include "jit/IonCaches.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/IonFrames.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/Safepoints.h"
+#include "jit/VMFunctions.h"
+#include "jit/SnapshotWriter.h"
 
 namespace js {
 namespace ion {
 
 class OutOfLineCode;
 class CodeGenerator;
 class MacroAssembler;
 class IonCache;
@@ -654,9 +654,9 @@ class OutOfLinePropagateParallelAbort : 
     LInstruction *lir() { return lir_; }
 
     bool generate(CodeGeneratorShared *codegen);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_CodeGenerator_shared_h */
+#endif /* jit_shared_CodeGenerator_shared_h */
rename from js/src/ion/shared/CodeGenerator-x86-shared.cpp
rename to js/src/jit/shared/CodeGenerator-x86-shared.cpp
--- a/js/src/ion/shared/CodeGenerator-x86-shared.cpp
+++ b/js/src/jit/shared/CodeGenerator-x86-shared.cpp
@@ -6,20 +6,20 @@
 
 #include "mozilla/DebugOnly.h"
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "jsmath.h"
 #include "CodeGenerator-x86-shared.h"
 #include "CodeGenerator-shared-inl.h"
-#include "ion/IonFrames.h"
-#include "ion/MoveEmitter.h"
-#include "ion/IonCompartment.h"
-#include "ion/ParallelFunctions.h"
+#include "jit/IonFrames.h"
+#include "jit/MoveEmitter.h"
+#include "jit/IonCompartment.h"
+#include "jit/ParallelFunctions.h"
 
 using namespace js;
 using namespace js::ion;
 
 namespace js {
 namespace ion {
 
 CodeGeneratorX86Shared::CodeGeneratorX86Shared(MIRGenerator *gen, LIRGraph *graph, MacroAssembler *masm)
rename from js/src/ion/shared/CodeGenerator-x86-shared.h
rename to js/src/jit/shared/CodeGenerator-x86-shared.h
--- a/js/src/ion/shared/CodeGenerator-x86-shared.h
+++ b/js/src/jit/shared/CodeGenerator-x86-shared.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_CodeGenerator_x86_shared_h
-#define ion_shared_CodeGenerator_x86_shared_h
+#ifndef jit_shared_CodeGenerator_x86_shared_h
+#define jit_shared_CodeGenerator_x86_shared_h
 
-#include "ion/shared/CodeGenerator-shared.h"
+#include "jit/shared/CodeGenerator-shared.h"
 
 namespace js {
 namespace ion {
 
 class OutOfLineBailout;
 class OutOfLineUndoALUOperation;
 class MulNegativeZeroCheck;
 class OutOfLineTableSwitch;
@@ -136,9 +136,9 @@ class OutOfLineBailout : public OutOfLin
     LSnapshot *snapshot() const {
         return snapshot_;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_CodeGenerator_x86_shared_h */
+#endif /* jit_shared_CodeGenerator_x86_shared_h */
rename from js/src/ion/shared/IonAssemblerBuffer.h
rename to js/src/jit/shared/IonAssemblerBuffer.h
--- a/js/src/ion/shared/IonAssemblerBuffer.h
+++ b/js/src/jit/shared/IonAssemblerBuffer.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_IonAssemblerBuffer_h
-#define ion_shared_IonAssemblerBuffer_h
+#ifndef jit_shared_IonAssemblerBuffer_h
+#define jit_shared_IonAssemblerBuffer_h
 // needed for the definition of Label :(
-#include "ion/shared/Assembler-shared.h"
+#include "jit/shared/Assembler-shared.h"
 
 namespace js {
 namespace ion {
 
 // This should theoretically reside inside of AssemblerBuffer, but that won't be nice
 // AssemblerBuffer is templated, BufferOffset would be indirectly.
 // A BufferOffset is the offset into a buffer, expressed in bytes of instructions.
 
@@ -215,9 +215,9 @@ struct AssemblerBuffer
         }
     };
   public:
     LifoAlloc LifoAlloc_;
 };
 
 } // ion
 } // js
-#endif /* ion_shared_IonAssemblerBuffer_h */
+#endif /* jit_shared_IonAssemblerBuffer_h */
rename from js/src/ion/shared/IonAssemblerBufferWithConstantPools.h
rename to js/src/jit/shared/IonAssemblerBufferWithConstantPools.h
--- a/js/src/ion/shared/IonAssemblerBufferWithConstantPools.h
+++ b/js/src/jit/shared/IonAssemblerBufferWithConstantPools.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_IonAssemblerBufferWithConstantPools_h
-#define ion_shared_IonAssemblerBufferWithConstantPools_h
-#include "ion/shared/IonAssemblerBuffer.h"
+#ifndef jit_shared_IonAssemblerBufferWithConstantPools_h
+#define jit_shared_IonAssemblerBufferWithConstantPools_h
+#include "jit/shared/IonAssemblerBuffer.h"
 #include "assembler/wtf/SegmentedVector.h"
-#include "ion/IonSpewer.h"
+#include "jit/IonSpewer.h"
 namespace js {
 namespace ion {
 typedef Vector<BufferOffset, 512, IonAllocPolicy> LoadOffsets;
 
 struct Pool
   : public IonAllocPolicy
 {
     const int maxOffset;
@@ -1142,9 +1142,9 @@ struct AssemblerBufferWithConstantPool :
         size_t size = getPoolEntrySize(pe);
         uint8_t *entry = getPoolEntry(pe);
         memcpy(buff, entry, size);
     }
 
 };
 } // ion
 } // js
-#endif /* ion_shared_IonAssemblerBufferWithConstantPools_h */
+#endif /* jit_shared_IonAssemblerBufferWithConstantPools_h */
rename from js/src/ion/shared/IonFrames-shared.h
rename to js/src/jit/shared/IonFrames-shared.h
--- a/js/src/ion/shared/IonFrames-shared.h
+++ b/js/src/jit/shared/IonFrames-shared.h
@@ -1,17 +1,17 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_IonFrames_shared_h
-#define ion_shared_IonFrames_shared_h
+#ifndef jit_shared_IonFrames_shared_h
+#define jit_shared_IonFrames_shared_h
 
 #define ION_FRAME_DOMGETTER ((IonCode *)0x1)
 #define ION_FRAME_DOMSETTER ((IonCode *)0x2)
 #define ION_FRAME_DOMMETHOD ((IonCode *)0x3)
 #define ION_FRAME_OOL_NATIVE_GETTER ((IonCode *)0x4)
 #define ION_FRAME_OOL_PROPERTY_OP   ((IonCode *)0x5)
 #define ION_FRAME_OOL_PROXY_GET     ((IonCode *)0x6)
 
-#endif /* ion_shared_IonFrames_shared_h */
+#endif /* jit_shared_IonFrames_shared_h */
rename from js/src/ion/shared/IonFrames-x86-shared.cpp
rename to js/src/jit/shared/IonFrames-x86-shared.cpp
--- a/js/src/ion/shared/IonFrames-x86-shared.cpp
+++ b/js/src/jit/shared/IonFrames-x86-shared.cpp
@@ -1,16 +1,16 @@
 /* -*- 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 "ion/Ion.h"
-#include "ion/IonFrames.h"
+#include "jit/Ion.h"
+#include "jit/IonFrames.h"
 
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 IonJSFrameLayout *
 InvalidationBailoutStack::fp() const
rename from js/src/ion/shared/IonFrames-x86-shared.h
rename to js/src/jit/shared/IonFrames-x86-shared.h
--- a/js/src/ion/shared/IonFrames-x86-shared.h
+++ b/js/src/jit/shared/IonFrames-x86-shared.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_IonFrames_x86_shared_h
-#define ion_shared_IonFrames_x86_shared_h
+#ifndef jit_shared_IonFrames_x86_shared_h
+#define jit_shared_IonFrames_x86_shared_h
 
-#include "ion/shared/IonFrames-shared.h"
+#include "jit/shared/IonFrames-shared.h"
 
 namespace js {
 namespace ion {
 
 class IonCommonFrameLayout
 {
   private:
     uint8_t *returnAddress_;
@@ -530,9 +530,9 @@ class InvalidationBailoutStack
     }
 
     void checkInvariants() const;
 };
 
 }
 }
 
-#endif /* ion_shared_IonFrames_x86_shared_h */
+#endif /* jit_shared_IonFrames_x86_shared_h */
rename from js/src/ion/shared/LIR-x86-shared.h
rename to js/src/jit/shared/LIR-x86-shared.h
--- a/js/src/ion/shared/LIR-x86-shared.h
+++ b/js/src/jit/shared/LIR-x86-shared.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_LIR_x86_shared_h
-#define ion_shared_LIR_x86_shared_h
+#ifndef jit_shared_LIR_x86_shared_h
+#define jit_shared_LIR_x86_shared_h
 
 namespace js {
 namespace ion {
 
 class LDivI : public LBinaryMath<1>
 {
   public:
     LIR_HEADER(DivI)
@@ -275,9 +275,9 @@ class LMulI : public LBinaryMath<0, 1>
     const LAllocation *lhsCopy() {
         return this->getOperand(2);
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_LIR_x86_shared_h */
+#endif /* jit_shared_LIR_x86_shared_h */
rename from js/src/ion/shared/Lowering-shared-inl.h
rename to js/src/jit/shared/Lowering-shared-inl.h
--- a/js/src/ion/shared/Lowering-shared-inl.h
+++ b/js/src/jit/shared/Lowering-shared-inl.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_Lowering_shared_inl_h
-#define ion_shared_Lowering_shared_inl_h
+#ifndef jit_shared_Lowering_shared_inl_h
+#define jit_shared_Lowering_shared_inl_h
 
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
 
 namespace js {
 namespace ion {
 
 bool
 LIRGeneratorShared::emitAtUses(MInstruction *mir)
 {
     JS_ASSERT(mir->canEmitAtUses());
@@ -452,9 +452,9 @@ LIRGeneratorShared::fillBoxUses(LInstruc
     lir->getOperand(n + 1)->toUse()->setVirtualRegister(VirtualRegisterOfPayload(mir));
     return true;
 }
 #endif
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_Lowering_shared_inl_h */
+#endif /* jit_shared_Lowering_shared_inl_h */
rename from js/src/ion/shared/Lowering-shared.cpp
rename to js/src/jit/shared/Lowering-shared.cpp
--- a/js/src/ion/shared/Lowering-shared.cpp
+++ b/js/src/jit/shared/Lowering-shared.cpp
@@ -1,17 +1,17 @@
 /* -*- 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 "ion/LIR.h"
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
+#include "jit/LIR.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
 #include "Lowering-shared.h"
 #include "Lowering-shared-inl.h"
 
 using namespace js;
 using namespace ion;
 
 bool
 LIRGeneratorShared::visitConstant(MConstant *ins)
rename from js/src/ion/shared/Lowering-shared.h
rename to js/src/jit/shared/Lowering-shared.h
--- a/js/src/ion/shared/Lowering-shared.h
+++ b/js/src/jit/shared/Lowering-shared.h
@@ -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/. */
 
-#ifndef ion_shared_Lowering_shared_h
-#define ion_shared_Lowering_shared_h
+#ifndef jit_shared_Lowering_shared_h
+#define jit_shared_Lowering_shared_h
 
 // This file declares the structures that are used for attaching LIR to a
 // MIRGraph.
 
-#include "ion/IonAllocPolicy.h"
-#include "ion/LIR.h"
+#include "jit/IonAllocPolicy.h"
+#include "jit/LIR.h"
 
 namespace js {
 namespace ion {
 
 class MBasicBlock;
 class MTableSwitch;
 class MIRGenerator;
 class MIRGraph;
@@ -180,9 +180,9 @@ class LIRGeneratorShared : public MInstr
     static bool allowStaticTypedArrayAccesses() {
         return false;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_Lowering_shared_h */
+#endif /* jit_shared_Lowering_shared_h */
rename from js/src/ion/shared/Lowering-x86-shared.cpp
rename to js/src/jit/shared/Lowering-x86-shared.cpp
--- a/js/src/ion/shared/Lowering-x86-shared.cpp
+++ b/js/src/jit/shared/Lowering-x86-shared.cpp
@@ -1,18 +1,18 @@
 /* -*- 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 "ion/MIR.h"
-#include "ion/Lowering.h"
-#include "ion/shared/Lowering-x86-shared.h"
-#include "ion/shared/Lowering-shared-inl.h"
+#include "jit/MIR.h"
+#include "jit/Lowering.h"
+#include "jit/shared/Lowering-x86-shared.h"
+#include "jit/shared/Lowering-shared-inl.h"
 using namespace js;
 using namespace js::ion;
 
 LTableSwitch *
 LIRGeneratorX86Shared::newLTableSwitch(const LAllocation &in, const LDefinition &inputCopy,
                                        MTableSwitch *tableswitch)
 {
     return new LTableSwitch(in, inputCopy, temp(), tableswitch);
rename from js/src/ion/shared/Lowering-x86-shared.h
rename to js/src/jit/shared/Lowering-x86-shared.h
--- a/js/src/ion/shared/Lowering-x86-shared.h
+++ b/js/src/jit/shared/Lowering-x86-shared.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_Lowering_x86_shared_h
-#define ion_shared_Lowering_x86_shared_h
+#ifndef jit_shared_Lowering_x86_shared_h
+#define jit_shared_Lowering_x86_shared_h
 
-#include "ion/shared/Lowering-shared.h"
+#include "jit/shared/Lowering-shared.h"
 
 namespace js {
 namespace ion {
 
 class LIRGeneratorX86Shared : public LIRGeneratorShared
 {
   protected:
     LIRGeneratorX86Shared(MIRGenerator *gen, MIRGraph &graph, LIRGraph &lirGraph)
@@ -44,9 +44,9 @@ class LIRGeneratorX86Shared : public LIR
     bool lowerUrshD(MUrsh *mir);
     bool lowerConstantDouble(double d, MInstruction *ins);
     bool lowerTruncateDToInt32(MTruncateToInt32 *ins);
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_Lowering_x86_shared_h */
+#endif /* jit_shared_Lowering_x86_shared_h */
rename from js/src/ion/shared/MacroAssembler-x86-shared.h
rename to js/src/jit/shared/MacroAssembler-x86-shared.h
--- a/js/src/ion/shared/MacroAssembler-x86-shared.h
+++ b/js/src/jit/shared/MacroAssembler-x86-shared.h
@@ -1,28 +1,28 @@
 /* -*- 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/. */
 
-#ifndef ion_shared_MacroAssembler_x86_shared_h
-#define ion_shared_MacroAssembler_x86_shared_h
+#ifndef jit_shared_MacroAssembler_x86_shared_h
+#define jit_shared_MacroAssembler_x86_shared_h
 
 #include "mozilla/DebugOnly.h"
 
 #ifdef JS_CPU_X86
-# include "ion/x86/Assembler-x86.h"
+# include "jit/x86/Assembler-x86.h"
 #elif JS_CPU_X64
-# include "ion/x64/Assembler-x64.h"
+# include "jit/x64/Assembler-x64.h"
 #endif
-#include "ion/IonFrames.h"
+#include "jit/IonFrames.h"
 #include "jsopcode.h"
 
-#include "ion/IonCaches.h"
+#include "jit/IonCaches.h"
 
 namespace js {
 namespace ion {
 
 class MacroAssemblerX86Shared : public Assembler
 {
   protected:
     // Bytes pushed onto the frame by the callee; includes frameDepth_. This is
@@ -498,9 +498,9 @@ class MacroAssemblerX86Shared : public A
     void abiret() {
         ret();
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_shared_MacroAssembler_x86_shared_h */
+#endif /* jit_shared_MacroAssembler_x86_shared_h */
rename from js/src/ion/shared/MoveEmitter-x86-shared.cpp
rename to js/src/jit/shared/MoveEmitter-x86-shared.cpp
rename from js/src/ion/shared/MoveEmitter-x86-shared.h
rename to js/src/jit/shared/MoveEmitter-x86-shared.h
--- a/js/src/ion/shared/MoveEmitter-x86-shared.h
+++ b/js/src/jit/shared/MoveEmitter-x86-shared.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_MoveEmitter_x86_shared_h
-#define ion_MoveEmitter_x86_shared_h
+#ifndef jit_MoveEmitter_x86_shared_h
+#define jit_MoveEmitter_x86_shared_h
 
-#include "ion/MoveResolver.h"
-#include "ion/IonMacroAssembler.h"
+#include "jit/MoveResolver.h"
+#include "jit/IonMacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 class CodeGenerator;
 
 class MoveEmitterX86
 {
@@ -56,9 +56,9 @@ class MoveEmitterX86
     void finish();
 };
 
 typedef MoveEmitterX86 MoveEmitter;
 
 } // ion
 } // js
 
-#endif /* ion_MoveEmitter_x86_shared_h */
+#endif /* jit_MoveEmitter_x86_shared_h */
rename from js/src/ion/x64/Architecture-x64.h
rename to js/src/jit/x64/Architecture-x64.h
--- a/js/src/ion/x64/Architecture-x64.h
+++ b/js/src/jit/x64/Architecture-x64.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_Architecture_x64_h
-#define ion_x64_Architecture_x64_h
+#ifndef jit_x64_Architecture_x64_h
+#define jit_x64_Architecture_x64_h
 
 #include "assembler/assembler/MacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 static const ptrdiff_t STACK_SLOT_SIZE       = 8;
 static const uint32_t MAX_STACK_SLOTS          = 256;
@@ -152,9 +152,9 @@ class FloatRegisters {
         (1 << JSC::X86Registers::xmm15);    // This is ScratchFloatReg.
 
     static const uint32_t AllocatableMask = AllMask & ~NonAllocatableMask;
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x64_Architecture_x64_h */
+#endif /* jit_x64_Architecture_x64_h */
rename from js/src/ion/x64/Assembler-x64.cpp
rename to js/src/jit/x64/Assembler-x64.cpp
--- a/js/src/ion/x64/Assembler-x64.cpp
+++ b/js/src/jit/x64/Assembler-x64.cpp
@@ -1,17 +1,17 @@
 /* -*- 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 "Assembler-x64.h"
 #include "gc/Marking.h"
-#include "ion/LIR.h"
+#include "jit/LIR.h"
 
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 ABIArgGenerator::ABIArgGenerator()
   :
rename from js/src/ion/x64/Assembler-x64.h
rename to js/src/jit/x64/Assembler-x64.h
--- a/js/src/ion/x64/Assembler-x64.h
+++ b/js/src/jit/x64/Assembler-x64.h
@@ -1,20 +1,20 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_Assembler_x64_h
-#define ion_x64_Assembler_x64_h
+#ifndef jit_x64_Assembler_x64_h
+#define jit_x64_Assembler_x64_h
 
-#include "ion/shared/Assembler-shared.h"
-#include "ion/CompactBuffer.h"
-#include "ion/IonCode.h"
+#include "jit/shared/Assembler-shared.h"
+#include "jit/CompactBuffer.h"
+#include "jit/IonCode.h"
 #include "mozilla/Util.h"
 
 namespace js {
 namespace ion {
 
 static const MOZ_CONSTEXPR Register rax = { JSC::X86Registers::eax };
 static const MOZ_CONSTEXPR Register rbx = { JSC::X86Registers::ebx };
 static const MOZ_CONSTEXPR Register rcx = { JSC::X86Registers::ecx };
@@ -254,17 +254,17 @@ class Operand
         JS_ASSERT(kind() == REG_DISP || kind() == SCALE);
         return disp_;
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#include "ion/shared/Assembler-x86-shared.h"
+#include "jit/shared/Assembler-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 // Return operand from a JS -> JS call.
 static const MOZ_CONSTEXPR ValueOperand JSReturnOperand = ValueOperand(JSReturnReg);
 
 class Assembler : public AssemblerX86Shared
@@ -753,9 +753,9 @@ GetFloatArgReg(uint32_t intArg, uint32_t
         return false;
     *out = FloatArgRegs[arg];
     return true;
 }
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x64_Assembler_x64_h */
+#endif /* jit_x64_Assembler_x64_h */
rename from js/src/ion/x64/Bailouts-x64.cpp
rename to js/src/jit/x64/Bailouts-x64.cpp
--- a/js/src/ion/x64/Bailouts-x64.cpp
+++ b/js/src/jit/x64/Bailouts-x64.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "jscntxt.h"
 #include "jscompartment.h"
-#include "ion/Bailouts.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonFrames-inl.h"
+#include "jit/Bailouts.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonFrames-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 #if defined(_WIN32)
 # pragma pack(push, 1)
 #endif
 
rename from js/src/ion/x64/BaselineCompiler-x64.cpp
rename to js/src/jit/x64/BaselineCompiler-x64.cpp
rename from js/src/ion/x64/BaselineCompiler-x64.h
rename to js/src/jit/x64/BaselineCompiler-x64.h
--- a/js/src/ion/x64/BaselineCompiler-x64.h
+++ b/js/src/jit/x64/BaselineCompiler-x64.h
@@ -1,26 +1,26 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_BaselineCompiler_x64_h
-#define ion_x64_BaselineCompiler_x64_h
+#ifndef jit_x64_BaselineCompiler_x64_h
+#define jit_x64_BaselineCompiler_x64_h
 
-#include "ion/shared/BaselineCompiler-x86-shared.h"
+#include "jit/shared/BaselineCompiler-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 class BaselineCompilerX64 : public BaselineCompilerX86Shared
 {
   protected:
     BaselineCompilerX64(JSContext *cx, HandleScript script);
 };
 
 typedef BaselineCompilerX64 BaselineCompilerSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x64_BaselineCompiler_x64_h */
+#endif /* jit_x64_BaselineCompiler_x64_h */
rename from js/src/ion/x64/BaselineHelpers-x64.h
rename to js/src/jit/x64/BaselineHelpers-x64.h
--- a/js/src/ion/x64/BaselineHelpers-x64.h
+++ b/js/src/jit/x64/BaselineHelpers-x64.h
@@ -1,23 +1,23 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_BaselineHelpers_x64_h
-#define ion_x64_BaselineHelpers_x64_h
+#ifndef jit_x64_BaselineHelpers_x64_h
+#define jit_x64_BaselineHelpers_x64_h
 
 #ifdef JS_ION
 
-#include "ion/IonMacroAssembler.h"
-#include "ion/BaselineFrame.h"
-#include "ion/BaselineRegisters.h"
-#include "ion/BaselineIC.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/BaselineFrame.h"
+#include "jit/BaselineRegisters.h"
+#include "jit/BaselineIC.h"
 
 namespace js {
 namespace ion {
 
 // Distance from Stack top to the top Value inside an IC stub (this is the return address).
 static const size_t ICStackValueOffset = sizeof(void *);
 
 inline void
@@ -273,9 +273,9 @@ EmitStubGuardFailure(MacroAssembler &mas
 }
 
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_x64_BaselineHelpers_x64_h */
+#endif /* jit_x64_BaselineHelpers_x64_h */
rename from js/src/ion/x64/BaselineIC-x64.cpp
rename to js/src/jit/x64/BaselineIC-x64.cpp
--- a/js/src/ion/x64/BaselineIC-x64.cpp
+++ b/js/src/jit/x64/BaselineIC-x64.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "ion/BaselineJIT.h"
-#include "ion/BaselineIC.h"
-#include "ion/BaselineHelpers.h"
-#include "ion/BaselineCompiler.h"
-#include "ion/IonLinker.h"
+#include "jit/BaselineJIT.h"
+#include "jit/BaselineIC.h"
+#include "jit/BaselineHelpers.h"
+#include "jit/BaselineCompiler.h"
+#include "jit/IonLinker.h"
 
 using namespace js;
 using namespace js::ion;
 
 namespace js {
 namespace ion {
 
 // ICCompare_Int32
rename from js/src/ion/x64/BaselineRegisters-x64.h
rename to js/src/jit/x64/BaselineRegisters-x64.h
--- a/js/src/ion/x64/BaselineRegisters-x64.h
+++ b/js/src/jit/x64/BaselineRegisters-x64.h
@@ -1,20 +1,20 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_BaselineRegisters_x64_h
-#define ion_x64_BaselineRegisters_x64_h
+#ifndef jit_x64_BaselineRegisters_x64_h
+#define jit_x64_BaselineRegisters_x64_h
 
 #ifdef JS_ION
 
-#include "ion/IonMacroAssembler.h"
+#include "jit/IonMacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 static const Register BaselineFrameReg    = rbp;
 static const Register BaselineStackReg    = rsp;
 
 static const ValueOperand R0(rcx);
@@ -33,9 +33,9 @@ static const Register ExtractTemp1      
 static const FloatRegister FloatReg0      = xmm0;
 static const FloatRegister FloatReg1      = xmm1;
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_x64_BaselineRegisters_x64_h */
+#endif /* jit_x64_BaselineRegisters_x64_h */
rename from js/src/ion/x64/CodeGenerator-x64.cpp
rename to js/src/jit/x64/CodeGenerator-x64.cpp
--- a/js/src/ion/x64/CodeGenerator-x64.cpp
+++ b/js/src/jit/x64/CodeGenerator-x64.cpp
@@ -2,19 +2,19 @@
  * 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 "jsnum.h"
 
 #include "CodeGenerator-x64.h"
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
-#include "ion/shared/CodeGenerator-shared-inl.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
+#include "jit/shared/CodeGenerator-shared-inl.h"
 #include "vm/Shape.h"
 
 #include "vm/Shape-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 CodeGeneratorX64::CodeGeneratorX64(MIRGenerator *gen, LIRGraph *graph, MacroAssembler *masm)
rename from js/src/ion/x64/CodeGenerator-x64.h
rename to js/src/jit/x64/CodeGenerator-x64.h
--- a/js/src/ion/x64/CodeGenerator-x64.h
+++ b/js/src/jit/x64/CodeGenerator-x64.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_CodeGenerator_x64_h
-#define ion_x64_CodeGenerator_x64_h
+#ifndef jit_x64_CodeGenerator_x64_h
+#define jit_x64_CodeGenerator_x64_h
 
-#include "ion/x64/Assembler-x64.h"
-#include "ion/shared/CodeGenerator-x86-shared.h"
+#include "jit/x64/Assembler-x64.h"
+#include "jit/shared/CodeGenerator-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 class CodeGeneratorX64 : public CodeGeneratorX86Shared
 {
     CodeGeneratorX64 *thisFromCtor() {
         return this;
@@ -64,9 +64,9 @@ class CodeGeneratorX64 : public CodeGene
     void postAsmJSCall(LAsmJSCall *lir) {}
 };
 
 typedef CodeGeneratorX64 CodeGeneratorSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x64_CodeGenerator_x64_h */
+#endif /* jit_x64_CodeGenerator_x64_h */
rename from js/src/ion/x64/LIR-x64.h
rename to js/src/jit/x64/LIR-x64.h
--- a/js/src/ion/x64/LIR-x64.h
+++ b/js/src/jit/x64/LIR-x64.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_LIR_x64_h
-#define ion_x64_LIR_x64_h
+#ifndef jit_x64_LIR_x64_h
+#define jit_x64_LIR_x64_h
 
 namespace js {
 namespace ion {
 
 // Given a typed input, returns an untyped box.
 class LBox : public LInstructionHelper<1, 1, 0>
 {
     MIRType type_;
@@ -91,9 +91,9 @@ class LAsmJSLoadFuncPtr : public LInstru
     const LDefinition *temp() {
         return getTemp(0);
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x64_LIR_x64_h */
+#endif /* jit_x64_LIR_x64_h */
rename from js/src/ion/x64/LOpcodes-x64.h
rename to js/src/jit/x64/LOpcodes-x64.h
--- a/js/src/ion/x64/LOpcodes-x64.h
+++ b/js/src/jit/x64/LOpcodes-x64.h
@@ -1,23 +1,23 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_LOpcodes_x64_h
-#define ion_x64_LOpcodes_x64_h
+#ifndef jit_x64_LOpcodes_x64_h
+#define jit_x64_LOpcodes_x64_h
 
 #define LIR_CPU_OPCODE_LIST(_)      \
     _(Box)                          \
     _(Unbox)                        \
     _(UnboxDouble)                  \
     _(DivI)                         \
     _(DivPowTwoI)                   \
     _(ModI)                         \
     _(ModPowTwoI)                   \
     _(PowHalfD)                     \
     _(UInt32ToDouble)               \
     _(AsmJSLoadFuncPtr)             \
     _(AsmJSDivOrMod)
 
-#endif /* ion_x64_LOpcodes_x64_h */
+#endif /* jit_x64_LOpcodes_x64_h */
rename from js/src/ion/x64/Lowering-x64.cpp
rename to js/src/jit/x64/Lowering-x64.cpp
--- a/js/src/ion/x64/Lowering-x64.cpp
+++ b/js/src/jit/x64/Lowering-x64.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "Lowering-x64.h"
 
-#include "ion/MIR.h"
+#include "jit/MIR.h"
 #include "Assembler-x64.h"
-#include "ion/shared/Lowering-shared-inl.h"
+#include "jit/shared/Lowering-shared-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 bool
 LIRGeneratorX64::useBox(LInstruction *lir, size_t n, MDefinition *mir,
                         LUse::Policy policy, bool useAtStart)
 {
rename from js/src/ion/x64/Lowering-x64.h
rename to js/src/jit/x64/Lowering-x64.h
--- a/js/src/ion/x64/Lowering-x64.h
+++ b/js/src/jit/x64/Lowering-x64.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_Lowering_x64_h
-#define ion_x64_Lowering_x64_h
+#ifndef jit_x64_Lowering_x64_h
+#define jit_x64_Lowering_x64_h
 
-#include "ion/shared/Lowering-x86-shared.h"
+#include "jit/shared/Lowering-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 class LIRGeneratorX64 : public LIRGeneratorX86Shared
 {
   public:
     LIRGeneratorX64(MIRGenerator *gen, MIRGraph &graph, LIRGraph &lirGraph)
@@ -44,9 +44,9 @@ class LIRGeneratorX64 : public LIRGenera
     bool visitStoreTypedArrayElementStatic(MStoreTypedArrayElementStatic *ins);
 };
 
 typedef LIRGeneratorX64 LIRGeneratorSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x64_Lowering_x64_h */
+#endif /* jit_x64_Lowering_x64_h */
rename from js/src/ion/x64/MacroAssembler-x64.cpp
rename to js/src/jit/x64/MacroAssembler-x64.cpp
--- a/js/src/ion/x64/MacroAssembler-x64.cpp
+++ b/js/src/jit/x64/MacroAssembler-x64.cpp
@@ -1,17 +1,17 @@
 /* -*- 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 "MacroAssembler-x64.h"
-#include "ion/MoveEmitter.h"
-#include "ion/IonFrames.h"
+#include "jit/MoveEmitter.h"
+#include "jit/IonFrames.h"
 
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 void
 MacroAssemblerX64::setupABICall(uint32_t args)
rename from js/src/ion/x64/MacroAssembler-x64.h
rename to js/src/jit/x64/MacroAssembler-x64.h
--- a/js/src/ion/x64/MacroAssembler-x64.h
+++ b/js/src/jit/x64/MacroAssembler-x64.h
@@ -1,20 +1,20 @@
 /* -*- 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/. */
 
-#ifndef ion_x64_MacroAssembler_x64_h
-#define ion_x64_MacroAssembler_x64_h
+#ifndef jit_x64_MacroAssembler_x64_h
+#define jit_x64_MacroAssembler_x64_h
 
-#include "ion/shared/MacroAssembler-x86-shared.h"
-#include "ion/MoveResolver.h"
-#include "ion/IonFrames.h"
+#include "jit/shared/MacroAssembler-x86-shared.h"
+#include "jit/MoveResolver.h"
+#include "jit/IonFrames.h"
 #include "jsnum.h"
 
 namespace js {
 namespace ion {
 
 struct ImmShiftedTag : public ImmWord
 {
     ImmShiftedTag(JSValueShiftedTag shtag)
@@ -1110,9 +1110,9 @@ class MacroAssemblerX64 : public MacroAs
 
 };
 
 typedef MacroAssemblerX64 MacroAssemblerSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x64_MacroAssembler_x64_h */
+#endif /* jit_x64_MacroAssembler_x64_h */
rename from js/src/ion/x64/Trampoline-x64.cpp
rename to js/src/jit/x64/Trampoline-x64.cpp
--- a/js/src/ion/x64/Trampoline-x64.cpp
+++ b/js/src/jit/x64/Trampoline-x64.cpp
@@ -1,24 +1,24 @@
 /* -*- 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 "jscompartment.h"
 #include "assembler/assembler/MacroAssembler.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonLinker.h"
-#include "ion/IonFrames.h"
-#include "ion/Bailouts.h"
-#include "ion/VMFunctions.h"
-#include "ion/IonSpewer.h"
-#include "ion/x64/BaselineHelpers-x64.h"
-#include "ion/ExecutionModeInlines.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonLinker.h"
+#include "jit/IonFrames.h"
+#include "jit/Bailouts.h"
+#include "jit/VMFunctions.h"
+#include "jit/IonSpewer.h"
+#include "jit/x64/BaselineHelpers-x64.h"
+#include "jit/ExecutionModeInlines.h"
 
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 /* This method generates a trampoline on x64 for a c++ function with
  * the following signature:
rename from js/src/ion/x86/Architecture-x86.h
rename to js/src/jit/x86/Architecture-x86.h
--- a/js/src/ion/x86/Architecture-x86.h
+++ b/js/src/jit/x86/Architecture-x86.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_Architecture_x86_h
-#define ion_x86_Architecture_x86_h
+#ifndef jit_x86_Architecture_x86_h
+#define jit_x86_Architecture_x86_h
 
 #include "assembler/assembler/MacroAssembler.h"
 
 namespace js {
 namespace ion {
 static const ptrdiff_t STACK_SLOT_SIZE       = 4;
 static const uint32_t DOUBLE_STACK_ALIGNMENT   = 2;
 
@@ -128,9 +128,9 @@ class FloatRegisters {
         (1 << JSC::X86Registers::xmm7);
 
     static const uint32_t AllocatableMask = AllMask & ~NonAllocatableMask;
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x86_Architecture_x86_h */
+#endif /* jit_x86_Architecture_x86_h */
rename from js/src/ion/x86/Assembler-x86.cpp
rename to js/src/jit/x86/Assembler-x86.cpp
rename from js/src/ion/x86/Assembler-x86.h
rename to js/src/jit/x86/Assembler-x86.h
--- a/js/src/ion/x86/Assembler-x86.h
+++ b/js/src/jit/x86/Assembler-x86.h
@@ -1,21 +1,21 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_Assembler_x86_h
-#define ion_x86_Assembler_x86_h
+#ifndef jit_x86_Assembler_x86_h
+#define jit_x86_Assembler_x86_h
 
-#include "ion/shared/Assembler-shared.h"
+#include "jit/shared/Assembler-shared.h"
 #include "assembler/assembler/X86Assembler.h"
-#include "ion/CompactBuffer.h"
-#include "ion/IonCode.h"
+#include "jit/CompactBuffer.h"
+#include "jit/IonCode.h"
 #include "mozilla/Util.h"
 
 #include "jsscriptinlines.h"
 
 namespace js {
 namespace ion {
 
 static const MOZ_CONSTEXPR Register eax = { JSC::X86Registers::eax };
@@ -209,17 +209,17 @@ class Operand
         JS_ASSERT(kind() == ADDRESS);
         return reinterpret_cast<void *>(base_);
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#include "ion/shared/Assembler-x86-shared.h"
+#include "jit/shared/Assembler-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 static inline void
 PatchJump(CodeLocationJump jump, CodeLocationLabel label)
 {
 #ifdef DEBUG
@@ -540,9 +540,9 @@ GetTempRegForIntArg(uint32_t usedIntArgs
         return false;
     *out = CallTempNonArgRegs[usedIntArgs];
     return true;
 }
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x86_Assembler_x86_h */
+#endif /* jit_x86_Assembler_x86_h */
rename from js/src/ion/x86/Bailouts-x86.cpp
rename to js/src/jit/x86/Bailouts-x86.cpp
--- a/js/src/ion/x86/Bailouts-x86.cpp
+++ b/js/src/jit/x86/Bailouts-x86.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "jscntxt.h"
 #include "jscompartment.h"
-#include "ion/Bailouts.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonFrames-inl.h"
+#include "jit/Bailouts.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonFrames-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 #if defined(_WIN32)
 # pragma pack(push, 1)
 #endif
 
rename from js/src/ion/x86/BaselineCompiler-x86.cpp
rename to js/src/jit/x86/BaselineCompiler-x86.cpp
rename from js/src/ion/x86/BaselineCompiler-x86.h
rename to js/src/jit/x86/BaselineCompiler-x86.h
--- a/js/src/ion/x86/BaselineCompiler-x86.h
+++ b/js/src/jit/x86/BaselineCompiler-x86.h
@@ -1,26 +1,26 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_BaselineCompiler_x86_h
-#define ion_x86_BaselineCompiler_x86_h
+#ifndef jit_x86_BaselineCompiler_x86_h
+#define jit_x86_BaselineCompiler_x86_h
 
-#include "ion/shared/BaselineCompiler-x86-shared.h"
+#include "jit/shared/BaselineCompiler-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 class BaselineCompilerX86 : public BaselineCompilerX86Shared
 {
   protected:
     BaselineCompilerX86(JSContext *cx, HandleScript script);
 };
 
 typedef BaselineCompilerX86 BaselineCompilerSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x86_BaselineCompiler_x86_h */
+#endif /* jit_x86_BaselineCompiler_x86_h */
rename from js/src/ion/x86/BaselineHelpers-x86.h
rename to js/src/jit/x86/BaselineHelpers-x86.h
--- a/js/src/ion/x86/BaselineHelpers-x86.h
+++ b/js/src/jit/x86/BaselineHelpers-x86.h
@@ -1,23 +1,23 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_BaselineHelpers_x86_h
-#define ion_x86_BaselineHelpers_x86_h
+#ifndef jit_x86_BaselineHelpers_x86_h
+#define jit_x86_BaselineHelpers_x86_h
 
 #ifdef JS_ION
 
-#include "ion/IonMacroAssembler.h"
-#include "ion/BaselineFrame.h"
-#include "ion/BaselineRegisters.h"
-#include "ion/BaselineIC.h"
+#include "jit/IonMacroAssembler.h"
+#include "jit/BaselineFrame.h"
+#include "jit/BaselineRegisters.h"
+#include "jit/BaselineIC.h"
 
 namespace js {
 namespace ion {
 
 // Distance from stack top to the top Value inside an IC stub (this is the return address).
 static const size_t ICStackValueOffset = sizeof(void *);
 
 inline void
@@ -279,9 +279,9 @@ EmitStubGuardFailure(MacroAssembler &mas
 }
 
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_x86_BaselineHelpers_x86_h */
+#endif /* jit_x86_BaselineHelpers_x86_h */
rename from js/src/ion/x86/BaselineIC-x86.cpp
rename to js/src/jit/x86/BaselineIC-x86.cpp
--- a/js/src/ion/x86/BaselineIC-x86.cpp
+++ b/js/src/jit/x86/BaselineIC-x86.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "ion/BaselineJIT.h"
-#include "ion/BaselineIC.h"
-#include "ion/BaselineCompiler.h"
-#include "ion/BaselineHelpers.h"
-#include "ion/IonLinker.h"
+#include "jit/BaselineJIT.h"
+#include "jit/BaselineIC.h"
+#include "jit/BaselineCompiler.h"
+#include "jit/BaselineHelpers.h"
+#include "jit/IonLinker.h"
 
 using namespace js;
 using namespace js::ion;
 
 namespace js {
 namespace ion {
 
 // ICCompare_Int32
rename from js/src/ion/x86/BaselineRegisters-x86.h
rename to js/src/jit/x86/BaselineRegisters-x86.h
--- a/js/src/ion/x86/BaselineRegisters-x86.h
+++ b/js/src/jit/x86/BaselineRegisters-x86.h
@@ -1,20 +1,20 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_BaselineRegisters_x86_h
-#define ion_x86_BaselineRegisters_x86_h
+#ifndef jit_x86_BaselineRegisters_x86_h
+#define jit_x86_BaselineRegisters_x86_h
 
 #ifdef JS_ION
 
-#include "ion/IonMacroAssembler.h"
+#include "jit/IonMacroAssembler.h"
 
 namespace js {
 namespace ion {
 
 static const Register BaselineFrameReg = ebp;
 static const Register BaselineStackReg = esp;
 
 // ValueOperands R0, R1, and R2
@@ -34,9 +34,9 @@ static const Register ExtractTemp1      
 static const FloatRegister FloatReg0      = xmm0;
 static const FloatRegister FloatReg1      = xmm1;
 
 } // namespace ion
 } // namespace js
 
 #endif // JS_ION
 
-#endif /* ion_x86_BaselineRegisters_x86_h */
+#endif /* jit_x86_BaselineRegisters_x86_h */
rename from js/src/ion/x86/CodeGenerator-x86.cpp
rename to js/src/jit/x86/CodeGenerator-x86.cpp
--- a/js/src/ion/x86/CodeGenerator-x86.cpp
+++ b/js/src/jit/x86/CodeGenerator-x86.cpp
@@ -4,23 +4,23 @@
  * 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 "mozilla/DebugOnly.h"
 
 #include "jsnum.h"
 
 #include "CodeGenerator-x86.h"
-#include "ion/MIR.h"
-#include "ion/MIRGraph.h"
-#include "ion/shared/CodeGenerator-shared-inl.h"
+#include "jit/MIR.h"
+#include "jit/MIRGraph.h"
+#include "jit/shared/CodeGenerator-shared-inl.h"
 #include "vm/Shape.h"
 
 #include "jsscriptinlines.h"
-#include "ion/ExecutionModeInlines.h"
+#include "jit/ExecutionModeInlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 using mozilla::DebugOnly;
 using mozilla::DoubleExponentBias;
 using mozilla::DoubleExponentShift;
 
rename from js/src/ion/x86/CodeGenerator-x86.h
rename to js/src/jit/x86/CodeGenerator-x86.h
--- a/js/src/ion/x86/CodeGenerator-x86.h
+++ b/js/src/jit/x86/CodeGenerator-x86.h
@@ -1,19 +1,19 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_CodeGenerator_x86_h
-#define ion_x86_CodeGenerator_x86_h
+#ifndef jit_x86_CodeGenerator_x86_h
+#define jit_x86_CodeGenerator_x86_h
 
 #include "Assembler-x86.h"
-#include "ion/shared/CodeGenerator-x86-shared.h"
+#include "jit/shared/CodeGenerator-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 class OutOfLineLoadTypedArrayOutOfBounds;
 class OutOfLineTruncate;
 
 class CodeGeneratorX86 : public CodeGeneratorX86Shared
@@ -71,9 +71,9 @@ class CodeGeneratorX86 : public CodeGene
     void postAsmJSCall(LAsmJSCall *lir);
 };
 
 typedef CodeGeneratorX86 CodeGeneratorSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x86_CodeGenerator_x86_h */
+#endif /* jit_x86_CodeGenerator_x86_h */
rename from js/src/ion/x86/LIR-x86.h
rename to js/src/jit/x86/LIR-x86.h
--- a/js/src/ion/x86/LIR-x86.h
+++ b/js/src/jit/x86/LIR-x86.h
@@ -1,16 +1,16 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_LIR_x86_h
-#define ion_x86_LIR_x86_h
+#ifndef jit_x86_LIR_x86_h
+#define jit_x86_LIR_x86_h
 
 namespace js {
 namespace ion {
 
 class LBox : public LInstructionHelper<2, 1, 0>
 {
     MIRType type_;
 
@@ -95,9 +95,9 @@ class LAsmJSLoadFuncPtr : public LInstru
     const LAllocation *index() {
         return getOperand(0);
     }
 };
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x86_LIR_x86_h */
+#endif /* jit_x86_LIR_x86_h */
rename from js/src/ion/x86/LOpcodes-x86.h
rename to js/src/jit/x86/LOpcodes-x86.h
--- a/js/src/ion/x86/LOpcodes-x86.h
+++ b/js/src/jit/x86/LOpcodes-x86.h
@@ -1,24 +1,24 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_LOpcodes_x86_h
-#define ion_x86_LOpcodes_x86_h
+#ifndef jit_x86_LOpcodes_x86_h
+#define jit_x86_LOpcodes_x86_h
 
 #define LIR_CPU_OPCODE_LIST(_)  \
     _(Unbox)                    \
     _(UnboxDouble)              \
     _(Box)                      \
     _(BoxDouble)                \
     _(DivI)                     \
     _(DivPowTwoI)               \
     _(ModI)                     \
     _(ModPowTwoI)               \
     _(PowHalfD)                 \
     _(UInt32ToDouble)           \
     _(AsmJSLoadFuncPtr)         \
     _(AsmJSDivOrMod)
 
-#endif /* ion_x86_LOpcodes_x86_h */
+#endif /* jit_x86_LOpcodes_x86_h */
rename from js/src/ion/x86/Lowering-x86.cpp
rename to js/src/jit/x86/Lowering-x86.cpp
--- a/js/src/ion/x86/Lowering-x86.cpp
+++ b/js/src/jit/x86/Lowering-x86.cpp
@@ -1,19 +1,19 @@
 /* -*- 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 "Lowering-x86.h"
 
-#include "ion/MIR.h"
+#include "jit/MIR.h"
 #include "Assembler-x86.h"
-#include "ion/shared/Lowering-shared-inl.h"
+#include "jit/shared/Lowering-shared-inl.h"
 
 using namespace js;
 using namespace js::ion;
 
 bool
 LIRGeneratorX86::useBox(LInstruction *lir, size_t n, MDefinition *mir,
                         LUse::Policy policy, bool useAtStart)
 {
rename from js/src/ion/x86/Lowering-x86.h
rename to js/src/jit/x86/Lowering-x86.h
--- a/js/src/ion/x86/Lowering-x86.h
+++ b/js/src/jit/x86/Lowering-x86.h
@@ -1,18 +1,18 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_Lowering_x86_h
-#define ion_x86_Lowering_x86_h
+#ifndef jit_x86_Lowering_x86_h
+#define jit_x86_Lowering_x86_h
 
-#include "ion/shared/Lowering-x86-shared.h"
+#include "jit/shared/Lowering-x86-shared.h"
 
 namespace js {
 namespace ion {
 
 class LIRGeneratorX86 : public LIRGeneratorX86Shared
 {
   public:
     LIRGeneratorX86(MIRGenerator *gen, MIRGraph &graph, LIRGraph &lirGraph)
@@ -56,9 +56,9 @@ class LIRGeneratorX86 : public LIRGenera
     }
 };
 
 typedef LIRGeneratorX86 LIRGeneratorSpecific;
 
 } // namespace js
 } // namespace ion
 
-#endif /* ion_x86_Lowering_x86_h */
+#endif /* jit_x86_Lowering_x86_h */
rename from js/src/ion/x86/MacroAssembler-x86.cpp
rename to js/src/jit/x86/MacroAssembler-x86.cpp
--- a/js/src/ion/x86/MacroAssembler-x86.cpp
+++ b/js/src/jit/x86/MacroAssembler-x86.cpp
@@ -1,17 +1,17 @@
 /* -*- 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 "MacroAssembler-x86.h"
-#include "ion/MoveEmitter.h"
-#include "ion/IonFrames.h"
+#include "jit/MoveEmitter.h"
+#include "jit/IonFrames.h"
 
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 void
 MacroAssemblerX86::loadConstantDouble(double d, const FloatRegister &dest)
rename from js/src/ion/x86/MacroAssembler-x86.h
rename to js/src/jit/x86/MacroAssembler-x86.h
--- a/js/src/ion/x86/MacroAssembler-x86.h
+++ b/js/src/jit/x86/MacroAssembler-x86.h
@@ -1,20 +1,20 @@
 /* -*- 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/. */
 
-#ifndef ion_x86_MacroAssembler_x86_h
-#define ion_x86_MacroAssembler_x86_h
+#ifndef jit_x86_MacroAssembler_x86_h
+#define jit_x86_MacroAssembler_x86_h
 
-#include "ion/shared/MacroAssembler-x86-shared.h"
-#include "ion/IonFrames.h"
-#include "ion/MoveResolver.h"
+#include "jit/shared/MacroAssembler-x86-shared.h"
+#include "jit/IonFrames.h"
+#include "jit/MoveResolver.h"
 
 #include "jscompartment.h"
 
 namespace js {
 namespace ion {
 
 class MacroAssemblerX86 : public MacroAssemblerX86Shared
 {
@@ -976,9 +976,9 @@ class MacroAssemblerX86 : public MacroAs
     }
 };
 
 typedef MacroAssemblerX86 MacroAssemblerSpecific;
 
 } // namespace ion
 } // namespace js
 
-#endif /* ion_x86_MacroAssembler_x86_h */
+#endif /* jit_x86_MacroAssembler_x86_h */
rename from js/src/ion/x86/Trampoline-x86.cpp
rename to js/src/jit/x86/Trampoline-x86.cpp
--- a/js/src/ion/x86/Trampoline-x86.cpp
+++ b/js/src/jit/x86/Trampoline-x86.cpp
@@ -1,25 +1,25 @@
 /* -*- 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 "jscompartment.h"
 #include "assembler/assembler/MacroAssembler.h"
-#include "ion/BaselineJIT.h"
-#include "ion/IonCompartment.h"
-#include "ion/IonLinker.h"
-#include "ion/IonFrames.h"
-#include "ion/IonSpewer.h"
-#include "ion/Bailouts.h"
-#include "ion/VMFunctions.h"
-#include "ion/x86/BaselineHelpers-x86.h"
-#include "ion/ExecutionModeInlines.h"
+#include "jit/BaselineJIT.h"
+#include "jit/IonCompartment.h"
+#include "jit/IonLinker.h"
+#include "jit/IonFrames.h"
+#include "jit/IonSpewer.h"
+#include "jit/Bailouts.h"
+#include "jit/VMFunctions.h"
+#include "jit/x86/BaselineHelpers-x86.h"
+#include "jit/ExecutionModeInlines.h"
 
 #include "jsscriptinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 enum EnterJitEbpArgumentOffset {
     ARG_JITCODE         = 2 * sizeof(void *),
--- a/js/src/jsapi.cpp
+++ b/js/src/jsapi.cpp
@@ -56,18 +56,18 @@
 #include "builtin/MapObject.h"
 #include "builtin/RegExp.h"
 #include "builtin/ParallelArray.h"
 #include "frontend/BytecodeCompiler.h"
 #include "frontend/FullParseHandler.h"  // for JS_BufferIsCompileableUnit
 #include "frontend/Parser.h" // for JS_BufferIsCompileableUnit
 #include "gc/Marking.h"
 #include "gc/Memory.h"
-#include "ion/AsmJS.h"
-#include "ion/PcScriptCache.h"
+#include "jit/AsmJS.h"
+#include "jit/PcScriptCache.h"
 #include "js/CharacterEncoding.h"
 #include "vm/Debugger.h"
 #include "vm/Interpreter.h"
 #include "vm/NumericConversions.h"
 #include "vm/Shape.h"
 #include "vm/StopIterationObject.h"
 #include "vm/StringBuffer.h"
 #include "vm/WeakMapObject.h"
@@ -85,17 +85,17 @@
 #include "vm/Shape-inl.h"
 #include "vm/String-inl.h"
 
 #if ENABLE_YARR_JIT
 #include "assembler/jit/ExecutableAllocator.h"
 #endif
 
 #ifdef JS_ION
-#include "ion/Ion.h"
+#include "jit/Ion.h"
 #endif
 
 using namespace js;
 using namespace js::gc;
 using namespace js::types;
 
 using mozilla::Maybe;
 using mozilla::PodCopy;
--- a/js/src/jscntxt.cpp
+++ b/js/src/jscntxt.cpp
@@ -36,17 +36,17 @@
 #include "jsmath.h"
 #include "jsobj.h"
 #include "jsopcode.h"
 #include "jspubtd.h"
 #include "jsscript.h"
 #include "jsstr.h"
 #include "jsworkers.h"
 #ifdef JS_ION
-#include "ion/Ion.h"
+#include "jit/Ion.h"
 #endif
 
 #include "gc/Marking.h"
 #include "js/CharacterEncoding.h"
 #include "js/MemoryMetrics.h"
 #include "vm/Shape.h"
 #include "yarr/BumpPointerAllocator.h"
 
--- a/js/src/jscntxtinlines.h
+++ b/js/src/jscntxtinlines.h
@@ -11,17 +11,17 @@
 
 #include "jscompartment.h"
 #include "jsfriendapi.h"
 #include "jsgc.h"
 #include "jsiter.h"
 
 #include "builtin/Object.h" // For js::obj_construct
 #include "frontend/ParseMaps.h"
-#include "ion/IonFrames.h" // For GetPcScript
+#include "jit/IonFrames.h" // For GetPcScript
 #include "vm/Interpreter.h"
 #include "vm/Probes.h"
 #include "vm/RegExpObject.h"
 
 #include "jsgcinlines.h"
 
 #include "vm/ObjectImpl-inl.h"
 
--- a/js/src/jscompartment.cpp
+++ b/js/src/jscompartment.cpp
@@ -12,17 +12,17 @@
 #include "jsgc.h"
 #include "jsiter.h"
 #include "jsproxy.h"
 #include "jswatchpoint.h"
 #include "jswrapper.h"
 
 #include "gc/Marking.h"
 #ifdef JS_ION
-#include "ion/IonCompartment.h"
+#include "jit/IonCompartment.h"
 #endif
 #include "js/RootingAPI.h"
 #include "vm/StopIterationObject.h"
 
 #include "jsgcinlines.h"
 #include "jsobjinlines.h"
 
 #include "gc/Barrier-inl.h"
--- a/js/src/jsdbgapi.cpp
+++ b/js/src/jsdbgapi.cpp
@@ -20,23 +20,23 @@
 #include "jsgc.h"
 #include "jsobj.h"
 #include "jsopcode.h"
 #include "jsscript.h"
 #include "jsstr.h"
 #include "jswatchpoint.h"
 
 #include "frontend/SourceNotes.h"
-#include "ion/AsmJS.h"
+#include "jit/AsmJS.h"
 #include "vm/Debugger.h"
 #include "vm/Interpreter.h"
 #include "vm/Shape.h"
 
 #ifdef JS_ION
-#include "ion/AsmJSModule.h"
+#include "jit/AsmJSModule.h"
 #endif
 
 #include "jsatominlines.h"
 #include "jsinferinlines.h"
 #include "jsscriptinlines.h"
 
 #include "vm/Debugger-inl.h"
 #include "vm/Interpreter-inl.h"
--- a/js/src/jsfun.cpp
+++ b/js/src/jsfun.cpp
@@ -36,19 +36,19 @@
 #include "jsfuninlines.h"
 #include "jsinferinlines.h"
 #include "jsscriptinlines.h"
 
 #include "vm/Interpreter-inl.h"
 #include "vm/Stack-inl.h"
 
 #ifdef JS_ION
-#include "ion/Ion.h"
-#include "ion/IonFrameIterator.h"
-#include "ion/IonFrameIterator-inl.h"
+#include "jit/Ion.h"
+#include "jit/IonFrameIterator.h"
+#include "jit/IonFrameIterator-inl.h"
 #endif
 
 using namespace js;
 using namespace js::gc;
 using namespace js::types;
 using namespace js::frontend;
 
 using mozilla::ArrayLength;
--- a/js/src/jsgc.cpp
+++ b/js/src/jsgc.cpp
@@ -59,19 +59,19 @@
 #include "gc/FindSCCs.h"
 #include "gc/GCInternals.h"
 #include "gc/Marking.h"
 #include "gc/Memory.h"
 #include "vm/Debugger.h"
 #include "vm/Shape.h"
 #include "vm/String.h"
 #include "vm/ForkJoin.h"
-#include "ion/IonCode.h"
+#include "jit/IonCode.h"
 #ifdef JS_ION
-# include "ion/BaselineJIT.h"
+# include "jit/BaselineJIT.h"
 #endif
 
 #include "jsgcinlines.h"
 #include "jsobjinlines.h"
 
 #include "gc/FindSCCs-inl.h"
 #include "vm/String-inl.h"
 
--- a/js/src/jsinfer.cpp
+++ b/js/src/jsinfer.cpp
@@ -15,19 +15,19 @@
 #include "jsobj.h"
 #include "jsscript.h"
 #include "jscntxt.h"
 #include "jsstr.h"
 #include "jsworkers.h"
 #include "prmjtime.h"
 
 #ifdef JS_ION
-#include "ion/BaselineJIT.h"
-#include "ion/Ion.h"
-#include "ion/IonCompartment.h"
+#include "jit/BaselineJIT.h"
+#include "jit/Ion.h"
+#include "jit/IonCompartment.h"
 #endif
 #include "gc/Marking.h"
 #include "js/MemoryMetrics.h"
 #include "vm/Shape.h"
 
 #include "jsanalyzeinlines.h"
 #include "jsatominlines.h"
 #include "jsgcinlines.h"
--- a/js/src/jsinferinlines.h
+++ b/js/src/jsinferinlines.h
@@ -12,17 +12,17 @@
 #include "jsanalyze.h"
 #include "jscompartment.h"
 #include "jsinfer.h"
 #include "jsprf.h"
 #include "jsproxy.h"
 #include "jstypedarray.h"
 
 #include "builtin/ParallelArray.h"
-#include "ion/IonFrames.h"
+#include "jit/IonFrames.h"
 #include "js/RootingAPI.h"
 #include "vm/BooleanObject.h"
 #include "vm/GlobalObject.h"
 #include "vm/NumberObject.h"
 #include "vm/StringObject.h"
 
 #include "jsanalyzeinlines.h"
 
--- a/js/src/jsmemorymetrics.cpp
+++ b/js/src/jsmemorymetrics.cpp
@@ -10,18 +10,18 @@
 
 #include "jsapi.h"
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "jsgc.h"
 #include "jsobj.h"
 #include "jsscript.h"
 
-#include "ion/BaselineJIT.h"
-#include "ion/Ion.h"
+#include "jit/BaselineJIT.h"
+#include "jit/Ion.h"
 #include "vm/Shape.h"
 
 #include "jsobjinlines.h"
 
 using mozilla::DebugOnly;
 
 using namespace js;
 
--- a/js/src/jsobj.cpp
+++ b/js/src/jsobj.cpp
@@ -28,17 +28,17 @@
 #include "jsproxy.h"
 #include "jsscript.h"
 #include "jsstr.h"
 #include "jsdbgapi.h"
 #include "jswatchpoint.h"
 #include "jswrapper.h"
 #include "frontend/BytecodeCompiler.h"
 #include "gc/Marking.h"
-#include "ion/BaselineJIT.h"
+#include "jit/BaselineJIT.h"
 #include "js/MemoryMetrics.h"
 #include "vm/Interpreter.h"
 #include "vm/Shape.h"
 
 #include "jsatominlines.h"
 #include "jsboolinlines.h"
 #include "jscntxtinlines.h"
 #include "jscompartmentinlines.h"
--- a/js/src/jsscript.cpp
+++ b/js/src/jsscript.cpp
@@ -21,18 +21,18 @@
 #include "jscntxt.h"
 #include "jsdbgapi.h"
 #include "jsfun.h"
 #include "jsgc.h"
 #include "jsopcode.h"
 
 #include "gc/Marking.h"
 #include "frontend/BytecodeEmitter.h"
-#include "ion/IonCode.h"
-#include "ion/BaselineJIT.h"
+#include "jit/IonCode.h"
+#include "jit/BaselineJIT.h"
 #include "vm/Debugger.h"
 #include "vm/Interpreter.h"
 #include "vm/Shape.h"
 #include "vm/Xdr.h"
 
 #include "jsinferinlines.h"
 #include "jsscriptinlines.h"
 
--- a/js/src/jsscriptinlines.h
+++ b/js/src/jsscriptinlines.h
@@ -8,17 +8,17 @@
 #define jsscriptinlines_h
 
 #include "jsautooplen.h"
 #include "jscntxt.h"
 #include "jsfun.h"
 #include "jsopcode.h"
 #include "jsscript.h"
 
-#include "ion/AsmJS.h"
+#include "jit/AsmJS.h"
 #include "vm/GlobalObject.h"
 #include "vm/RegExpObject.h"
 #include "vm/Shape.h"
 
 #include "jscompartmentinlines.h"
 
 #include "vm/Shape-inl.h"
 
--- a/js/src/jsworkers.cpp
+++ b/js/src/jsworkers.cpp
@@ -6,19 +6,19 @@
 
 #include "jsworkers.h"
 
 #include "mozilla/DebugOnly.h"
 
 #include "prmjtime.h"
 
 #ifdef JS_PARALLEL_COMPILATION
-# include "ion/AsmJS.h"
-# include "ion/IonBuilder.h"
-# include "ion/ExecutionModeInlines.h"
+# include "jit/AsmJS.h"
+# include "jit/IonBuilder.h"
+# include "jit/ExecutionModeInlines.h"
 #endif
 
 using namespace js;
 
 using mozilla::DebugOnly;
 
 #ifdef JS_PARALLEL_COMPILATION
 
--- a/js/src/jsworkers.h
+++ b/js/src/jsworkers.h
@@ -14,17 +14,17 @@
 #define jsworkers_h
 
 #include "mozilla/GuardObjects.h"
 #include "mozilla/PodOperations.h"
 
 #include "jscntxt.h"
 #include "jslock.h"
 
-#include "ion/Ion.h"
+#include "jit/Ion.h"
 
 namespace js {
 
 struct AsmJSParallelTask;
 
 namespace ion {
   class IonBuilder;
 }
--- a/js/src/shell/js.cpp
+++ b/js/src/shell/js.cpp
@@ -48,17 +48,17 @@
 
 #include "prmjtime.h"
 
 #include "jsoptparse.h"
 #include "jsheaptools.h"
 
 #include "jsinferinlines.h"
 #include "jsscriptinlines.h"
-#include "ion/Ion.h"
+#include "jit/Ion.h"
 
 #include "vm/Interpreter-inl.h"
 
 #ifdef XP_UNIX
 #include <unistd.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 #endif
--- a/js/src/vm/ArgumentsObject.cpp
+++ b/js/src/vm/ArgumentsObject.cpp
@@ -12,17 +12,17 @@
 #include "vm/Stack.h"
 
 #include "jsobjinlines.h"
 
 #include "gc/Barrier-inl.h"
 #include "vm/Stack-inl.h"
 
 #if defined(JS_ION)
-#include "ion/IonFrames.h"
+#include "jit/IonFrames.h"
 #endif
 
 using namespace js;
 using namespace js::gc;
 
 static void
 CopyStackFrameArguments(const AbstractFramePtr frame, HeapValue *dst, unsigned totalArgs)
 {
--- a/js/src/vm/Debugger.cpp
+++ b/js/src/vm/Debugger.cpp
@@ -10,17 +10,17 @@
 #include "jscntxt.h"
 #include "jscompartment.h"
 #include "jsnum.h"
 #include "jsobj.h"
 #include "jswrapper.h"
 
 #include "frontend/BytecodeCompiler.h"
 #include "gc/Marking.h"
-#include "ion/BaselineJIT.h"
+#include "jit/BaselineJIT.h"
 #include "js/Vector.h"
 
 #include "jsgcinlines.h"
 #include "jsopcodeinlines.h"
 
 #include "gc/FindSCCs-inl.h"
 #include "vm/Stack-inl.h"
 
--- a/js/src/vm/ForkJoin.cpp
+++ b/js/src/vm/ForkJoin.cpp
@@ -9,25 +9,25 @@
 #ifdef JS_THREADSAFE
 #  include "prthread.h"
 #  include "prprf.h"
 #endif
 
 #include "vm/ForkJoin.h"
 
 #if defined(JS_THREADSAFE)
-#include "ion/BaselineJIT.h"
+#include "jit/BaselineJIT.h"
 #include "vm/Monitor.h"
 #endif
 
 #if defined(DEBUG) && defined(JS_THREADSAFE) && defined(JS_ION)
-#  include "ion/Ion.h"
-#  include "ion/MIR.h"
-#  include "ion/MIRGraph.h"
-#  include "ion/IonCompartment.h"
+#  include "jit/Ion.h"
+#  include "jit/MIR.h"
+#  include "jit/MIRGraph.h"
+#  include "jit/IonCompartment.h"
 #endif // DEBUG && THREADSAFE && ION
 
 #include "vm/Interpreter-inl.h"
 
 using namespace js;
 using namespace js::parallel;
 using namespace js::ion;
 
--- a/js/src/vm/ForkJoin.h
+++ b/js/src/vm/ForkJoin.h
@@ -5,17 +5,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef vm_ForkJoin_h
 #define vm_ForkJoin_h
 
 #include "jscntxt.h"
 #include "vm/ThreadPool.h"
 #include "jsgc.h"
-#include "ion/Ion.h"
+#include "jit/Ion.h"
 
 ///////////////////////////////////////////////////////////////////////////
 // Read Me First
 //
 // The ForkJoin abstraction:
 // -------------------------
 //
 // This is the building block for executing multi-threaded JavaScript with
--- a/js/src/vm/Interpreter-inl.h
+++ b/js/src/vm/Interpreter-inl.h
@@ -9,18 +9,18 @@
 
 #include "jsapi.h"
 #include "jsbool.h"
 #include "jscompartment.h"
 #include "jsinfer.h"
 #include "jslibmath.h"
 #include "jsnum.h"
 #include "jsstr.h"
-#include "ion/Ion.h"
-#include "ion/IonCompartment.h"
+#include "jit/Ion.h"
+#include "jit/IonCompartment.h"
 #include "vm/ForkJoin.h"
 #include "vm/Interpreter.h"
 
 #include "jsatominlines.h"
 #include "jsfuninlines.h"
 #include "jsinferinlines.h"
 #include "jsopcodeinlines.h"
 #include "jstypedarrayinlines.h"
--- a/js/src/vm/Interpreter.cpp
+++ b/js/src/vm/Interpreter.cpp
@@ -26,29 +26,29 @@
 #include "jsiter.h"
 #include "jsnum.h"
 #include "jsobj.h"
 #include "jsopcode.h"
 #include "jsprf.h"
 #include "jsscript.h"
 #include "jsstr.h"
 #include "builtin/Eval.h"
-#include "ion/BaselineJIT.h"
-#include "ion/Ion.h"
+#include "jit/BaselineJIT.h"
+#include "jit/Ion.h"
 #include "vm/Debugger.h"
 #include "vm/Shape.h"
 
 #include "jsatominlines.h"
 #include "jsboolinlines.h"
 #include "jsinferinlines.h"
 #include "jsopcodeinlines.h"
 #include "jsscriptinlines.h"
 
 #include "builtin/Iterator-inl.h"
-#include "ion/IonFrames-inl.h"
+#include "jit/IonFrames-inl.h"
 #include "vm/Interpreter-inl.h"
 #include "vm/Probes-inl.h"
 #include "vm/Stack-inl.h"
 
 #include "jsautooplen.h"
 
 #if JS_TRACE_LOGGING
 #include "TraceLogging.h"
--- a/js/src/vm/SPSProfiler.cpp
+++ b/js/src/vm/SPSProfiler.cpp
@@ -7,17 +7,17 @@
 #include "mozilla/DebugOnly.h"
 
 #include "jsnum.h"
 #include "jsscript.h"
 
 #include "vm/SPSProfiler.h"
 #include "vm/StringBuffer.h"
 
-#include "ion/BaselineJIT.h"
+#include "jit/BaselineJIT.h"
 
 using namespace js;
 
 using mozilla::DebugOnly;
 
 SPSProfiler::SPSProfiler(JSRuntime *rt)
   : rt(rt),
     stack_(NULL),
--- a/js/src/vm/Stack-inl.h
+++ b/js/src/vm/Stack-inl.h
@@ -8,19 +8,19 @@
 #define vm_Stack_inl_h
 
 #include "mozilla/PodOperations.h"
 
 #include "jscntxt.h"
 #include "jscompartment.h"
 
 #include "vm/Stack.h"
-#include "ion/BaselineFrame.h"
-#include "ion/BaselineFrame-inl.h"
-#include "ion/IonFrameIterator-inl.h"
+#include "jit/BaselineFrame.h"
+#include "jit/BaselineFrame-inl.h"
+#include "jit/IonFrameIterator-inl.h"
 
 #include "jsfuninlines.h"
 #include "jsscriptinlines.h"
 
 #include "ArgumentsObject-inl.h"
 #include "ScopeObject-inl.h"
 
 namespace js {
--- a/js/src/vm/Stack.cpp
+++ b/js/src/vm/Stack.cpp
@@ -7,18 +7,18 @@
 #include "vm/Stack.h"
 
 #include "mozilla/PodOperations.h"
 
 #include "jscntxt.h"
 
 #include "gc/Marking.h"
 #ifdef JS_ION
-#include "ion/BaselineFrame.h"
-#include "ion/IonCompartment.h"
+#include "jit/BaselineFrame.h"
+#include "jit/IonCompartment.h"
 #endif
 
 #include "vm/Interpreter-inl.h"
 #include "vm/ScopeObject-inl.h"
 #include "vm/Stack-inl.h"
 #include "vm/Probes-inl.h"
 
 using namespace js;
--- a/js/src/vm/Stack.h
+++ b/js/src/vm/Stack.h
@@ -5,17 +5,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef vm_Stack_h
 #define vm_Stack_h
 
 #include "jsautooplen.h"
 #include "jsfun.h"
 #include "jsscript.h"
-#include "ion/IonFrameIterator.h"
+#include "jit/IonFrameIterator.h"
 
 struct JSContext;
 struct JSCompartment;
 
 namespace js {
 
 class StackFrame;
 class FrameRegs;