[vm, arm64] Fix CallPattern assertion.

TEST=vm/cc/Call
Bug: https://github.com/dart-lang/sdk/issues/44623
Change-Id: I22197a345a7971353f59856efed5aa45af7d22ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181061
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
Ryan Macnak
2021-01-26 20:06:09 +00:00
committed by commit-bot@chromium.org
parent 55daf05f4f
commit 69134ec75c
+2 -2
View File
@@ -20,8 +20,8 @@ CallPattern::CallPattern(uword pc, const Code& code)
: object_pool_(ObjectPool::Handle(code.GetObjectPool())),
target_code_pool_index_(-1) {
ASSERT(code.ContainsInstructionAt(pc));
// Last instruction: blr ip0.
ASSERT(*(reinterpret_cast<uint32_t*>(pc) - 1) == 0xd63f0200);
// Last instruction: blr lr.
ASSERT(*(reinterpret_cast<uint32_t*>(pc) - 1) == 0xd63f03c0);
Register reg;
InstructionPattern::DecodeLoadWordFromPool(pc - 2 * Instr::kInstrSize, &reg,