Ignore:
Timestamp:
Aug 28, 2015, 3:58:48 PM (10 years ago)
Author:
[email protected]
Message:

Refactor the JIT printer out of the AbstractMacroAssembler into MacroAssemblerPrinter.
https://bugs.webkit.org/show_bug.cgi?id=148595

Reviewed by Geoffrey Garen.

Why do this?

  1. MacroAssembler::print() code (except for the prototype) need no longer be parsed when compiling C++ files that don't need it.
  2. Adding support for more printable types to MacroAssemblerPrinter::PrintArg triggers recompilation of less files.
  3. The printing code is for most the part common between all target platforms and was previously duplicated by cut-and-paste to all the varieties of MacroAssemblers that support the MASM_PROBE mechanism. Now, there is only one copy in MacroAssemblerPrinter.
  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::ProbeContext::print): Deleted.

  • Removed this function because it is no longer useful since we have this more flexible print() functionality.

(JSC::AbstractMacroAssembler::printIndent): Deleted.
(JSC::AbstractMacroAssembler::printCPU): Deleted.
(JSC::AbstractMacroAssembler::print): Deleted.
(JSC::AbstractMacroAssembler::PrintArg::PrintArg): Deleted.
(JSC::AbstractMacroAssembler::appendPrintArg): Deleted.
(JSC::AbstractMacroAssembler::printInternal): Deleted.
(JSC::AbstractMacroAssembler::printCallback): Deleted.

  • These got moved into MacroAssemblerPrinter.cpp.
  • assembler/MacroAssembler.h:
  • assembler/MacroAssemblerARM.cpp:

(JSC::MacroAssemblerARM::printCPURegisters): Deleted.
(JSC::MacroAssemblerARM::printRegister): Deleted.

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

(JSC::MacroAssemblerARMv7::printCPURegisters): Deleted.
(JSC::MacroAssemblerARMv7::printRegister): Deleted.

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

(JSC::MacroAssemblerX86Common::printCPURegisters): Deleted.
(JSC::MacroAssemblerX86Common::printRegister): Deleted.

  • assembler/MacroAssemblerX86Common.h:
  • Deleted a whole bunch of mostly duplicated code.
  • assembler/MacroAssemblerPrinter.cpp: Added.

(JSC::printIndent):
(JSC::printCPU):
(JSC::printCPURegisters):
(JSC::printRegister):
(JSC::MacroAssemblerPrinter::printCallback):

  • assembler/MacroAssemblerPrinter.h: Added.

(JSC::MacroAssemblerPrinter::print):
(JSC::MacroAssemblerPrinter::PrintArg::PrintArg):
(JSC::MacroAssemblerPrinter::appendPrintArg):
(JSC::MacroAssembler::print):

File:
1 edited

Legend:

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

    r187819 r189130  
    11/*
    2  * Copyright (C) 2008, 2014 Apple Inc. All rights reserved.
     2 * Copyright (C) 2008, 2014-2015 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    14921492
    14931493#if ENABLE(MASM_PROBE)
    1494     // Methods required by the MASM_PROBE mechanism as defined in
    1495     // AbstractMacroAssembler.h.
    1496     static void printCPURegisters(CPUState&, int indentation = 0);
    1497     static void printRegister(CPUState&, RegisterID);
    1498     static void printRegister(CPUState&, FPRegisterID);
    14991494    void probe(ProbeFunction, void* arg1 = 0, void* arg2 = 0);
    15001495#endif // ENABLE(MASM_PROBE)
Note: See TracChangeset for help on using the changeset viewer.