Home | History | Annotate | Download | only in a64

Lines Matching refs:instr

647 void Debugger::VisitException(Instruction* instr) {
648 switch (instr->Mask(ExceptionMask)) {
650 DoBreakpoint(instr);
653 switch (instr->ImmException()) {
655 DoUnreachable(instr);
658 DoTrace(instr);
661 DoLog(instr);
665 default: Simulator::VisitException(instr);
764 void Debugger::DoBreakpoint(Instruction* instr) {
765 VIXL_ASSERT(instr->Mask(ExceptionMask) == BRK);
767 printf("Hit breakpoint at pc=%p.\n", reinterpret_cast<void*>(instr));
770 set_pc(instr);
774 void Debugger::DoUnreachable(Instruction* instr) {
775 VIXL_ASSERT((instr->Mask(ExceptionMask) == HLT) &&
776 (instr->ImmException() == kUnreachableOpcode));
779 reinterpret_cast<void*>(instr));
784 void Debugger::DoTrace(Instruction* instr) {
785 VIXL_ASSERT((instr->Mask(ExceptionMask) == HLT) &&
786 (instr->ImmException() == kTraceOpcode));
792 VIXL_STATIC_ASSERT(sizeof(*instr) == 1);
793 memcpy(&parameters, instr + kTraceParamsOffset, sizeof(parameters));
794 memcpy(&command, instr + kTraceCommandOffset, sizeof(command));
807 set_pc(instr->InstructionAtOffset(kTraceLength));
811 void Debugger::DoLog(Instruction* instr) {
812 VIXL_ASSERT((instr->Mask(ExceptionMask) == HLT) &&
813 (instr->ImmException() == kLogOpcode));
818 VIXL_STATIC_ASSERT(sizeof(*instr) == 1);
819 memcpy(&parameters, instr + kTraceParamsOffset, sizeof(parameters));
828 set_pc(instr->InstructionAtOffset(kLogLength));