Ignore:
Timestamp:
Apr 10, 2017, 12:38:44 PM (8 years ago)
Author:
[email protected]
Message:

Move ProbeContext and ProbeFunction out of AbstractMacroAssembler.
https://bugs.webkit.org/show_bug.cgi?id=170681

Reviewed by Michael Saboff.

This is a refactoring step towards enabling custom probe printers the way printInternal() works for dataLog.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::ProbeContext::gpr): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::fpr): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::gprName): Deleted.
(JSC::AbstractMacroAssembler::ProbeContext::fprName): Deleted.

  • assembler/MacroAssembler.cpp:

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

  • assembler/MacroAssembler.h:

(JSC::ProbeContext::gpr):
(JSC::ProbeContext::fpr):
(JSC::ProbeContext::gprName):
(JSC::ProbeContext::fprName):

  • assembler/MacroAssemblerARM.cpp:

(JSC::MacroAssemblerARM::probe):

  • assembler/MacroAssemblerARM64.cpp:

(JSC::arm64ProbeTrampoline):
(JSC::MacroAssemblerARM64::probe):

  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::probe):

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

(JSC::MacroAssemblerX86Common::probe):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::abstractStructure):
(JSC::FTL::DFG::LowerDFGToB3::probe): Deleted.

  • Deleted because this became a useless place-holder after the transition to B3.
File:
1 edited

Legend:

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

    r214384 r215196  
    4444#if ENABLE(ASSEMBLER)
    4545
     46#if ENABLE(MASM_PROBE)
     47struct ProbeContext;
     48typedef void (*ProbeFunction)(struct ProbeContext*);
     49#endif
     50   
    4651class AllowMacroScratchRegisterUsage;
    4752class DisallowMacroScratchRegisterUsage;
     
    879884    };
    880885
    881     struct ProbeContext;
    882     typedef void (*ProbeFunction)(struct ProbeContext*);
    883 
    884     struct ProbeContext {
    885         ProbeFunction probeFunction;
    886         void* arg1;
    887         void* arg2;
    888         CPUState cpu;
    889 
    890         // Convenience methods:
    891         void*& gpr(RegisterID regID) { return cpu.gpr(regID); }
    892         double& fpr(FPRegisterID regID) { return cpu.fpr(regID); }
    893         const char* gprName(RegisterID regID) { return cpu.gprName(regID); }
    894         const char* fprName(FPRegisterID regID) { return cpu.fprName(regID); }
    895     };
    896 
    897886    // This function emits code to preserve the CPUState (e.g. registers),
    898887    // call a user supplied probe function, and restore the CPUState before
Note: See TracChangeset for help on using the changeset viewer.