| Index: runtime/vm/assembler_arm64.h
|
| diff --git a/runtime/vm/assembler_arm64.h b/runtime/vm/assembler_arm64.h
|
| index ff7f93f835c865a83e004952b714d1bba1d6a9e7..ffb6b768f42c28217fbb8d3351d800d2b678abe0 100644
|
| --- a/runtime/vm/assembler_arm64.h
|
| +++ b/runtime/vm/assembler_arm64.h
|
| @@ -838,6 +838,11 @@ class Assembler : public ValueObject {
|
| EmitExceptionGenOp(BRK, imm);
|
| }
|
|
|
| + static uword GetBreakInstructionFiller() {
|
| + const intptr_t encoding = ExceptionGenOpEncoding(BRK, 0);
|
| + return encoding << 32 | encoding;
|
| + }
|
| +
|
| // Double floating point.
|
| bool fmovdi(VRegister vd, double immd) {
|
| int64_t imm64 = bit_cast<int64_t, double>(immd);
|
| @@ -1688,10 +1693,12 @@ class Assembler : public ValueObject {
|
| Emit(encoding);
|
| }
|
|
|
| + static int32_t ExceptionGenOpEncoding(ExceptionGenOp op, uint16_t imm) {
|
| + return op | (static_cast<int32_t>(imm) << kImm16Shift);
|
| + }
|
| +
|
| void EmitExceptionGenOp(ExceptionGenOp op, uint16_t imm) {
|
| - const int32_t encoding =
|
| - op | (static_cast<int32_t>(imm) << kImm16Shift);
|
| - Emit(encoding);
|
| + Emit(ExceptionGenOpEncoding(op, imm));
|
| }
|
|
|
| void EmitMoveWideOp(MoveWideOp op, Register rd, const Immediate& imm,
|
|
|