Ignore:
Timestamp:
May 31, 2017, 4:25:04 PM (8 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r217611 and r217631.
https://bugs.webkit.org/show_bug.cgi?id=172785

"caused wasm-hashset-many.html to become flaky." (Requested by
keith_miller on #webkit).

Reverted changesets:

"Reland r216808, underlying lldb bug has been fixed."
https://bugs.webkit.org/show_bug.cgi?id=172759
http://trac.webkit.org/changeset/217611

"Use dispatch queues for mach exceptions"
https://bugs.webkit.org/show_bug.cgi?id=172775
http://trac.webkit.org/changeset/217631

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/tools/SigillCrashAnalyzer.cpp

    r217611 r217638  
    7979
    8080struct SignalContext {
    81     SignalContext(PlatformRegisters& registers)
    82         : registers(registers)
    83         , machinePC(MachineContext::instructionPointer(registers))
    84         , stackPointer(MachineContext::stackPointer(registers))
    85         , framePointer(MachineContext::framePointer(registers))
     81    SignalContext(mcontext_t& mcontext)
     82        : mcontext(mcontext)
     83        , machinePC(MachineContext::instructionPointer(mcontext))
     84        , stackPointer(MachineContext::stackPointer(mcontext))
     85        , framePointer(MachineContext::framePointer(mcontext))
    8686    { }
    8787
     
    113113
    114114#define DUMP_REGISTER(__reg) \
    115         log("Register " #__reg ": %p", reinterpret_cast<void*>(registers.__##__reg));
     115        log("Register " #__reg ": %p", reinterpret_cast<void*>(mcontext->__ss.__##__reg));
    116116        FOR_EACH_REGISTER(DUMP_REGISTER)
    117117#undef FOR_EACH_REGISTER
     
    121121        for (i = 0; i < 28; i += 4) {
    122122            log("x%d: %016llx x%d: %016llx x%d: %016llx x%d: %016llx",
    123                 i, registers.__x[i],
    124                 i+1, registers.__x[i+1],
    125                 i+2, registers.__x[i+2],
    126                 i+3, registers.__x[i+3]);
     123                i, mcontext->__ss.__x[i],
     124                i+1, mcontext->__ss.__x[i+1],
     125                i+2, mcontext->__ss.__x[i+2],
     126                i+3, mcontext->__ss.__x[i+3]);
    127127        }
    128128        ASSERT(i < 29);
    129129        log("x%d: %016llx fp: %016llx lr: %016llx",
    130             i, registers.__x[i], registers.__fp, registers.__lr);
     130            i, mcontext->__ss.__x[i], mcontext->__ss.__fp, mcontext->__ss.__lr);
    131131        log("sp: %016llx pc: %016llx cpsr: %08x",
    132             registers.__sp, registers.__pc, registers.__cpsr);
     132            mcontext->__ss.__sp, mcontext->__ss.__pc, mcontext->__ss.__cpsr);
    133133#endif
    134134    }
    135135
    136     PlatformRegisters& registers;
     136    mcontext_t& mcontext;
    137137    void* machinePC;
    138138    void* stackPointer;
     
    143143{
    144144#if CPU(X86_64) || CPU(ARM64)
    145     installSignalHandler(Signal::Ill, [] (Signal, SigInfo&, PlatformRegisters& registers) {
    146         SignalContext context(registers);
     145    installSignalHandler(Signal::Ill, [] (int, siginfo_t*, void* uap) {
     146        SignalContext context(static_cast<ucontext_t*>(uap)->uc_mcontext);
    147147
    148148        if (!isJITPC(context.machinePC))
Note: See TracChangeset for help on using the changeset viewer.