A64: Let the Simulator trap BLR XZR instructions.
This instruction is used as a guard for the constant pool. R=ulan@chromium.org Review URL: https://codereview.chromium.org/170673003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
58d0682f8d
commit
1f268f4b91
@ -986,6 +986,11 @@ void Simulator::VisitUnconditionalBranchToRegister(Instruction* instr) {
|
||||
switch (instr->Mask(UnconditionalBranchToRegisterMask)) {
|
||||
case BLR: {
|
||||
set_lr(instr->NextInstruction());
|
||||
if (instr->Rn() == 31) {
|
||||
// BLR XZR is used as a guard for the constant pool. We should never hit
|
||||
// this, but if we do trap to allow debugging.
|
||||
Debug();
|
||||
}
|
||||
// Fall through.
|
||||
}
|
||||
case BR:
|
||||
|
Loading…
Reference in New Issue
Block a user