Ignore:
Timestamp:
Aug 10, 2017, 10:31:32 PM (8 years ago)
Author:
[email protected]
Message:

Make the MASM_PROBE mechanism mandatory for DFG and FTL builds.
https://bugs.webkit.org/show_bug.cgi?id=175446
<rdar://problem/33836545>

Reviewed by Saam Barati.

Source/JavaScriptCore:

  • assembler/AbstractMacroAssembler.h:
  • assembler/MacroAssembler.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerARM.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::trustedImm32FromPtr):

  • assembler/MacroAssemblerARM64.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssembler::probe):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::trustedImm32FromPtr):

  • assembler/MacroAssemblerPrinter.cpp:
  • assembler/MacroAssemblerPrinter.h:
  • assembler/MacroAssemblerX86Common.cpp:
  • assembler/testmasm.cpp:

(JSC::isSpecialGPR):
(JSC::testProbeModifiesProgramCounter):
(JSC::run):

  • b3/B3LowerToAir.cpp:

(JSC::B3::Air::LowerToAir::print):

  • b3/air/AirPrintSpecial.cpp:
  • b3/air/AirPrintSpecial.h:

Source/WTF:

This is needed in order to support https://bugs.webkit.org/show_bug.cgi?id=174645.
One consequence of this is that the DFG will now be disabled for the MIPS and
Windows ports. See:

https://bugs.webkit.org/show_bug.cgi?id=175447
https://bugs.webkit.org/show_bug.cgi?id=175449

Also, we should only ENABLE_SIGNAL_BASED_VM_TRAPS if the DFG is enabled. It was
never meaningful to use SIGNAL_BASED_VM_TRAPS with the baseline JIT anyway. This
is a mis-configuration error that is now fixed.

  • wtf/Platform.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/b3/B3LowerToAir.cpp

    r219899 r220579  
    11501150    }
    11511151
    1152 #if ENABLE(MASM_PROBE)
    11531152    template<typename... Arguments>
    11541153    void print(Arguments&&... arguments)
     
    11671166        append(WTFMove(inst));
    11681167    }
    1169 #else
    1170     template<typename... Arguments>
    1171     void print(Arguments&&...) { }
    1172 #endif // ENABLE(MASM_PROBE)
    11731168
    11741169    template<typename... Arguments>
Note: See TracChangeset for help on using the changeset viewer.