-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Conversation
@kyulee1 how do i debug the issue with the following failure: |
Machines are offline and unreachable, which frequently occurred these days. |
3306f1e
to
ba07034
Compare
@dotnet-bot test Windows_NT arm64 Release pri1r2r |
@dotnet-bot test Windows_NT arm64 Checked |
@dotnet/arm64-contrib @rahku PTAL |
@@ -193,9 +193,25 @@ Done | |||
NESTED_END | |||
|
|||
; ------------------------------------------------------------------ | |||
; ARM64TODO: Implement PrecodeFixupThunk when PreCode is Enabled | |||
; The call in fixup precode initally points to this function. | |||
; The pupose of this function is to load the MethodDesc and forward the call the prestub. | |||
NESTED_ENTRY PrecodeFixupThunk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in comment forward the call to prestub
In precode.cpp in function Precode::SetTargetInterlocked ramrag: done |
; x12 = MethodDesc* | ||
; x13, x14 Trashed | ||
; Inline computation done by FixupPrecode::GetMethodDesc() | ||
ldrb w13, [x12, #Offset_PrecodeChunkIndex] ; m_PrecodeChunkIndex |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the disassembly of FixupPrecode::GetMethodDesc()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NO the assembly for FixupPrecode::GetMethodDesc() generated by C++ compiler is actually
39403c08 ldrb w8,[x0,#0xF]
d280030a mov x10,#0x18
11000508 add w8,w8,#1
93407d09 sxtw x9,w8
9b0a7d29 mul x9,x9,x10
f860692a ldr x10,[x9,x0]
b500006a cbnz x10,coreclr!FixupPrecode::GetMethodDesc+0x24 (00000001`80145004)
d2800000 mov x0,#0
14000004 b coreclr!FixupPrecode::GetMethodDesc+0x30 (00000001`80145010)
39403808 ldrb w8,[x0,#0xE]
531d7108 lsl w8,w8,#3
8b28c140 add x0,x10,w8 sxtw
d65f03c0 ret lr
I replaced the mul with two add instructions. The assembly code here is similar to what is found in arm
LGTM |
ba07034
to
1c5d30e
Compare
@dotnet-bot test Windows_NT arm64 Release pri1r2r |
Implement FixupPrecode for Arm64 Commit migrated from dotnet/coreclr@1a1735f
No description provided.