Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Commit

Permalink
Merge pull request #14090 from BredPet/interface_dispatch_cell
Browse files Browse the repository at this point in the history
ARM32: fix interface dispatch cell address transfer
  • Loading branch information
BruceForstall authored Sep 27, 2017
2 parents ccc5e17 + 74478f4 commit 0d3c684
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/jit/lower.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3821,7 +3821,12 @@ GenTree* Lowering::LowerVirtualStubCall(GenTreeCall* call)
// on x64 we must materialize the target using specific registers.
addr->gtRegNum = comp->virtualStubParamInfo->GetReg();

// On ARM we must use a proper address in R12(thunk register) without dereferencing.
// So for the jump we use the default register.
// TODO: specifying register probably unnecessary for other platforms, too.
#if !defined(_TARGET_UNIX_) && !defined(_TARGET_ARM_)
indir->gtRegNum = REG_JUMP_THUNK_PARAM;
#endif
indir->gtFlags |= GTF_IND_REQ_ADDR_IN_REG;
#endif
result = indir;
Expand Down

0 comments on commit 0d3c684

Please sign in to comment.