Ignore:
Timestamp:
Apr 20, 2017, 4:55:45 PM (8 years ago)
Author:
[email protected]
Message:

Update the MASM probe to only take 1 arg instead of 2 (in addition to the callback function).
https://bugs.webkit.org/show_bug.cgi?id=171088

Reviewed by Michael Saboff and Saam Barati.

Experience shows that we never use the 2nd arg. So, let's remove it to reduce
the footprint at each probe site.

Also fix the MacroAssembler::print() function so that it is a no-op when
!ENABLE(MASM_PROBE). This will allow us to have print() statements in JIT code
without a lot of #if ENABLE(MASM_PROBE)s later.

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

(JSC::stdFunctionCallback):
(JSC::MacroAssembler::probe):

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

(JSC::MacroAssemblerARM::probe):

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

(JSC::MacroAssemblerARM64::probe):

  • assembler/MacroAssemblerARM64.h:
  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::probe):

  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerPrinter.cpp:

(JSC::MacroAssemblerPrinter::printCallback):

  • assembler/MacroAssemblerPrinter.h:

(JSC::MacroAssemblerPrinter::print):
(JSC::MacroAssembler::print):

  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssemblerX86Common::probe):

  • assembler/MacroAssemblerX86Common.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/assembler/MacroAssemblerPrinter.h

    r215196 r215592  
    2626#pragma once
    2727
     28#include "MacroAssembler.h"
     29
     30namespace JSC {
     31
    2832#if ENABLE(MASM_PROBE)
    29 
    30 #include "MacroAssembler.h"
    31 
    32 namespace JSC {
    33 
     33   
    3434// What is MacroAssembler::print()?
    3535// ===============================
     
    168168        auto argsList = std::make_unique<PrintArgsList>();
    169169        appendPrintArg(argsList.get(), args...);
    170         masm->probe(printCallback, argsList.release(), 0);
     170        masm->probe(printCallback, argsList.release());
    171171    }
    172172   
     
    297297void printMemory(MacroAssembler::CPUState&, const Memory&);
    298298
     299#else // ENABLE(MASM_PROBE)
     300
     301template<typename... Arguments>
     302void MacroAssembler::print(Arguments...) { }
     303
     304#endif // ENABLE(MASM_PROBE)
     305
    299306} // namespace JSC
    300 
    301 #endif // ENABLE(MASM_PROBE)
Note: See TracChangeset for help on using the changeset viewer.