LCOV - code coverage report
Current view: top level - js/src/jit/x86-shared - Lowering-x86-shared.h (source / functions) Hit Total Coverage
Test: output.info Lines: 3 3 100.0 %
Date: 2017-07-14 16:53:18 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
       2             :  * vim: set ts=8 sts=4 et sw=4 tw=99:
       3             :  * This Source Code Form is subject to the terms of the Mozilla Public
       4             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       5             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       6             : 
       7             : #ifndef jit_x86_shared_Lowering_x86_shared_h
       8             : #define jit_x86_shared_Lowering_x86_shared_h
       9             : 
      10             : #include "jit/shared/Lowering-shared.h"
      11             : 
      12             : namespace js {
      13             : namespace jit {
      14             : 
      15             : class LIRGeneratorX86Shared : public LIRGeneratorShared
      16             : {
      17             :   protected:
      18           8 :     LIRGeneratorX86Shared(MIRGenerator* gen, MIRGraph& graph, LIRGraph& lirGraph)
      19           8 :       : LIRGeneratorShared(gen, graph, lirGraph)
      20           8 :     {}
      21             : 
      22             :     LTableSwitch* newLTableSwitch(const LAllocation& in, const LDefinition& inputCopy,
      23             :                                   MTableSwitch* ins);
      24             :     LTableSwitchV* newLTableSwitchV(MTableSwitch* ins);
      25             : 
      26             :     void visitGuardShape(MGuardShape* ins);
      27             :     void visitGuardObjectGroup(MGuardObjectGroup* ins);
      28             :     void visitPowHalf(MPowHalf* ins);
      29             :     void lowerForShift(LInstructionHelper<1, 2, 0>* ins, MDefinition* mir, MDefinition* lhs,
      30             :                        MDefinition* rhs);
      31             :     void lowerForALU(LInstructionHelper<1, 1, 0>* ins, MDefinition* mir, MDefinition* input);
      32             :     void lowerForALU(LInstructionHelper<1, 2, 0>* ins, MDefinition* mir, MDefinition* lhs,
      33             :                      MDefinition* rhs);
      34             : 
      35             :     template<size_t Temps>
      36             :     void lowerForShiftInt64(LInstructionHelper<INT64_PIECES, INT64_PIECES + 1, Temps>* ins,
      37             :                             MDefinition* mir, MDefinition* lhs, MDefinition* rhs);
      38             : 
      39             :     template<size_t Temps>
      40             :     void lowerForFPU(LInstructionHelper<1, 2, Temps>* ins, MDefinition* mir, MDefinition* lhs,
      41             :                      MDefinition* rhs);
      42             :     void lowerForCompIx4(LSimdBinaryCompIx4* ins, MSimdBinaryComp* mir,
      43             :                          MDefinition* lhs, MDefinition* rhs);
      44             :     void lowerForCompFx4(LSimdBinaryCompFx4* ins, MSimdBinaryComp* mir,
      45             :                          MDefinition* lhs, MDefinition* rhs);
      46             :     void lowerForBitAndAndBranch(LBitAndAndBranch* baab, MInstruction* mir,
      47             :                                  MDefinition* lhs, MDefinition* rhs);
      48             :     void visitWasmNeg(MWasmNeg* ins);
      49             :     void visitWasmSelect(MWasmSelect* ins);
      50             :     void lowerMulI(MMul* mul, MDefinition* lhs, MDefinition* rhs);
      51             :     void lowerDivI(MDiv* div);
      52             :     void lowerModI(MMod* mod);
      53             :     void lowerUDiv(MDiv* div);
      54             :     void lowerUMod(MMod* mod);
      55             :     void lowerUrshD(MUrsh* mir);
      56             :     void lowerTruncateDToInt32(MTruncateToInt32* ins);
      57             :     void lowerTruncateFToInt32(MTruncateToInt32* ins);
      58             :     void visitSimdInsertElement(MSimdInsertElement* ins);
      59             :     void visitSimdExtractElement(MSimdExtractElement* ins);
      60             :     void visitSimdBinaryArith(MSimdBinaryArith* ins);
      61             :     void visitSimdBinarySaturating(MSimdBinarySaturating* ins);
      62             :     void visitSimdSelect(MSimdSelect* ins);
      63             :     void visitSimdSplat(MSimdSplat* ins);
      64             :     void visitSimdSwizzle(MSimdSwizzle* ins);
      65             :     void visitSimdShuffle(MSimdShuffle* ins);
      66             :     void visitSimdGeneralShuffle(MSimdGeneralShuffle* ins);
      67             :     void visitSimdValueX4(MSimdValueX4* ins);
      68             :     void lowerCompareExchangeTypedArrayElement(MCompareExchangeTypedArrayElement* ins,
      69             :                                                bool useI386ByteRegisters);
      70             :     void lowerAtomicExchangeTypedArrayElement(MAtomicExchangeTypedArrayElement* ins,
      71             :                                               bool useI386ByteRegisters);
      72             :     void lowerAtomicTypedArrayElementBinop(MAtomicTypedArrayElementBinop* ins,
      73             :                                            bool useI386ByteRegisters);
      74             :     void visitCopySign(MCopySign* ins);
      75             : };
      76             : 
      77             : } // namespace jit
      78             : } // namespace js
      79             : 
      80             : #endif /* jit_x86_shared_Lowering_x86_shared_h */

Generated by: LCOV version 1.13