Bug 1204192 - IonMonkey: MIPS: Split shareable code to mips-shared in BaselineIC-mips32. r=nbp
authorHeiher <r@hev.cc>
Wed, 16 Sep 2015 17:01:20 +0800
changeset 295317 10df6e7a49fde9b5c2ebc857bf121b37ab369398
parent 295316 84ffd9ae7cf1dfdfa58592ba632bae6029f4ac9e
child 295318 035471f81fb49d5b7f165dbad986d27d0fd814fb
push id5245
push userraliiev@mozilla.com
push dateThu, 29 Oct 2015 11:30:51 +0000
treeherdermozilla-beta@dac831dc1bd0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnbp
bugs1204192
milestone43.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1204192 - IonMonkey: MIPS: Split shareable code to mips-shared in BaselineIC-mips32. r=nbp --- .../BaselineIC-mips-shared.cpp} | 32 ---------------------- js/src/jit/mips32/BaselineIC-mips32.cpp | 26 ------------------ js/src/moz.build | 1 + 3 files changed, 1 insertion(+), 58 deletions(-) copy js/src/jit/{mips32/BaselineIC-mips32.cpp => mips-shared/BaselineIC-mips-shared.cpp} (55%)
js/src/jit/mips-shared/BaselineIC-mips-shared.cpp
js/src/jit/mips32/BaselineIC-mips32.cpp
js/src/moz.build
copy from js/src/jit/mips32/BaselineIC-mips32.cpp
copy to js/src/jit/mips-shared/BaselineIC-mips-shared.cpp
--- a/js/src/jit/mips32/BaselineIC-mips32.cpp
+++ b/js/src/jit/mips-shared/BaselineIC-mips-shared.cpp
@@ -1,55 +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/. */
 
-#include "jsiter.h"
-
-#include "jit/BaselineCompiler.h"
 #include "jit/BaselineIC.h"
-#include "jit/BaselineJIT.h"
-#include "jit/Linker.h"
 #include "jit/SharedICHelpers.h"
 
-#include "jsboolinlines.h"
-
 using namespace js;
 using namespace js::jit;
 
 namespace js {
 namespace jit {
 
-// ICCompare_Int32
-
-bool
-ICCompare_Int32::Compiler::generateStubCode(MacroAssembler& masm)
-{
-    // Guard that R0 is an integer and R1 is an integer.
-    Label failure;
-    Label conditionTrue;
-    masm.branchTestInt32(Assembler::NotEqual, R0, &failure);
-    masm.branchTestInt32(Assembler::NotEqual, R1, &failure);
-
-    // Compare payload regs of R0 and R1.
-    Assembler::Condition cond = JSOpToCondition(op, /* signed = */true);
-    masm.ma_cmp_set(R0.payloadReg(), R0.payloadReg(), R1.payloadReg(), cond);
-
-    masm.tagValue(JSVAL_TYPE_BOOLEAN, R0.payloadReg(), R0);
-    EmitReturnFromIC(masm);
-
-    // Failure case - jump to next stub
-    masm.bind(&failure);
-    EmitStubGuardFailure(masm);
-
-    return true;
-}
-
 bool
 ICCompare_Double::Compiler::generateStubCode(MacroAssembler& masm)
 {
     Label failure, isNaN;
     masm.ensureDouble(R0, FloatReg0, &failure);
     masm.ensureDouble(R1, FloatReg1, &failure);
 
     Register dest = R0.scratchReg();
--- a/js/src/jit/mips32/BaselineIC-mips32.cpp
+++ b/js/src/jit/mips32/BaselineIC-mips32.cpp
@@ -1,24 +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/. */
 
-#include "jsiter.h"
-
 #include "jit/BaselineCompiler.h"
 #include "jit/BaselineIC.h"
 #include "jit/BaselineJIT.h"
 #include "jit/Linker.h"
 #include "jit/SharedICHelpers.h"
 
-#include "jsboolinlines.h"
-
 using namespace js;
 using namespace js::jit;
 
 namespace js {
 namespace jit {
 
 // ICCompare_Int32
 
@@ -40,32 +36,10 @@ ICCompare_Int32::Compiler::generateStubC
 
     // Failure case - jump to next stub
     masm.bind(&failure);
     EmitStubGuardFailure(masm);
 
     return true;
 }
 
-bool
-ICCompare_Double::Compiler::generateStubCode(MacroAssembler& masm)
-{
-    Label failure, isNaN;
-    masm.ensureDouble(R0, FloatReg0, &failure);
-    masm.ensureDouble(R1, FloatReg1, &failure);
-
-    Register dest = R0.scratchReg();
-
-    Assembler::DoubleCondition doubleCond = JSOpToDoubleCondition(op);
-
-    masm.ma_cmp_set_double(dest, FloatReg0, FloatReg1, doubleCond);
-
-    masm.tagValue(JSVAL_TYPE_BOOLEAN, dest, R0);
-    EmitReturnFromIC(masm);
-
-    // Failure case - jump to next stub
-    masm.bind(&failure);
-    EmitStubGuardFailure(masm);
-    return true;
-}
-
 } // namespace jit
 } // namespace js
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -463,16 +463,17 @@ elif CONFIG['JS_CODEGEN_ARM64']:
             'jit/arm64/vixl/Debugger-vixl.cpp',
             'jit/arm64/vixl/MozSimulator-vixl.cpp',
             'jit/arm64/vixl/Simulator-vixl.cpp'
         ]
 elif CONFIG['JS_CODEGEN_MIPS32']:
     UNIFIED_SOURCES += [
         'jit/mips-shared/Architecture-mips-shared.cpp',
         'jit/mips-shared/Assembler-mips-shared.cpp',
+        'jit/mips-shared/BaselineIC-mips-shared.cpp',
         'jit/mips-shared/Lowering-mips-shared.cpp',
     ]
     if CONFIG['JS_CODEGEN_MIPS32']:
         UNIFIED_SOURCES += [
             'jit/mips32/Architecture-mips32.cpp',
             'jit/mips32/Assembler-mips32.cpp',
             'jit/mips32/Bailouts-mips32.cpp',
             'jit/mips32/BaselineCompiler-mips32.cpp',