Changeset 216808 in webkit for trunk/Source/JavaScriptCore/runtime/VMTraps.cpp
- Timestamp:
- May 12, 2017, 6:30:13 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/VMTraps.cpp
r215671 r216808 54 54 55 55 struct SignalContext { 56 SignalContext( mcontext_t& mcontext)57 : mcontext(mcontext)58 , trapPC(MachineContext::instructionPointer( mcontext))59 , stackPointer(MachineContext::stackPointer( mcontext))60 , framePointer(MachineContext::framePointer( mcontext))56 SignalContext(PlatformRegisters& registers) 57 : registers(registers) 58 , trapPC(MachineContext::instructionPointer(registers)) 59 , stackPointer(MachineContext::stackPointer(registers)) 60 , framePointer(MachineContext::framePointer(registers)) 61 61 { 62 62 #if CPU(X86_64) || CPU(X86) … … 69 69 { 70 70 #if CPU(X86_64) || CPU(X86) 71 MachineContext::instructionPointer( mcontext) = trapPC;72 #endif 73 } 74 75 mcontext_t& mcontext;71 MachineContext::instructionPointer(registers) = trapPC; 72 #endif 73 } 74 75 PlatformRegisters& registers; 76 76 void* trapPC; 77 77 void* stackPointer; … … 131 131 static void installSignalHandler() 132 132 { 133 installSignalHandler(Signal::Trap, [] ( int, siginfo_t*, void* uap) -> SignalAction {134 SignalContext context( static_cast<ucontext_t*>(uap)->uc_mcontext);133 installSignalHandler(Signal::Trap, [] (Signal, SigInfo&, PlatformRegisters& registers) -> SignalAction { 134 SignalContext context(registers); 135 135 136 136 if (!isJITPC(context.trapPC)) … … 405 405 auto optionalOwnerThread = vm.ownerThread(); 406 406 if (optionalOwnerThread) { 407 sendMessage(*optionalOwnerThread.value().get(), [] ( siginfo_t*, ucontext_t* ucontext) -> void {408 SignalContext context( ucontext->uc_mcontext);407 sendMessage(*optionalOwnerThread.value().get(), [] (PlatformRegisters& registers) -> void { 408 SignalContext context(registers); 409 409 auto activeVMAndStackBounds = findActiveVMAndStackBounds(context); 410 410 if (activeVMAndStackBounds) {
Note:
See TracChangeset
for help on using the changeset viewer.