[RyuJIT] Always insert r2r indirection cell at the end of the args list#125670
[RyuJIT] Always insert r2r indirection cell at the end of the args list#125670kg wants to merge 1 commit intodotnet:mainfrom
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
There was a problem hiding this comment.
Pull request overview
This PR updates CoreCLR JIT call argument construction so the ReadyToRun (R2R) indirection cell argument is always appended at the end of the call argument list. This ensures correct argument ordering for Wasm’s managed calling convention (portable entry point as the last argument) while remaining behavior-neutral on other targets where the indirection cell is passed via a dedicated register.
Changes:
- Change R2R indirection cell insertion from
InsertAfterThisOrFirsttoPushBackso it becomes the last argument. - Clarify the
FEATURE_READYTORUNpreprocessor block end comment.
You can also share your feedback on Copilot code review. Take the survey.
|
Diffs look good (positive even). But it seems LA64 and RISCV64 have some problem with this change. cc @dotnet/samsung @shushanhf, any idea why this would matter for RISCV64/LA64? |
OK, we will test it on LA64. Thanks! |
e433f74 to
7c695e7
Compare
There was a problem hiding this comment.
Pull request overview
Updates CoreCLR JIT call-arg construction so the ReadyToRun indirection cell argument is consistently appended to the end of the argument list, aligning with Wasm’s requirement that the portable entry point (PEP) be in the final argument slot while remaining behaviorally neutral on fixed-register-set targets.
Changes:
- Always append the R2R indirection cell argument using
PushBack(instead of inserting afterthis/first) inCallArgs::AddFinalArgsAndDetermineABIInfo. - Expand the comment to document the Wasm motivation and why it’s expected to be ordering-insensitive on other targets.
You can also share your feedback on Copilot code review. Take the survey.
| @@ -1780,12 +1780,10 @@ void CallArgs::AddFinalArgsAndDetermineABIInfo(Compiler* comp, GenTreeCall* call | |||
| // Push the stub address onto the list of arguments. | |||
For LA64 we currently get the clues with For the host pack step crossgen2 hit an assertion failed with /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:9152
Assertion failed 'genActualType(op1) == genActualType(op2)' in
'System.ComponentModel.DataAnnotations.CustomValidationAttribute:IsValid(System.Object,System.ComponentModel.DataAnnotations.ValidationContext):System.ComponentModel.DataAnnotations.ValidationResult:this' during 'Clone blocks with range checks' (IL size 212; hash 0xb16e339b; FullOpts)backtrace(gdb) x/10i $pc-20
0x7fbf2d712f9c <CONTEXT_CaptureContext+660>: st.b $t0, $a0, 1303
0x7fbf2d712fa0 <CONTEXT_CaptureContext+664>: movfcsr2gr $t0, $fcsr0
0x7fbf2d712fa4 <CONTEXT_CaptureContext+668>: st.w $t0, $a0, 1304
0x7fbf2d712fa8 <CONTEXT_CaptureContext+672>: addi.d $sp, $sp, 32
0x7fbf2d712fac <CONTEXT_CaptureContext+676>: ret
=> 0x7fbf2d712fb0 <DBG_DebugBreak>: break 0x0
0x7fbf2d712fb4 <DBG_DebugBreak+4>: ret
0x7fbf2d712fb8 <DBG_DebugBreak_End>: nop
0x7fbf2d712fbc <ThrowExceptionFromContextInternal>: addi.d $sp, $sp, -16
0x7fbf2d712fc0 <ThrowExceptionFromContextInternal+4>: st.d $fp, $sp, 0
(gdb) bt
#0 DBG_DebugBreak () at /data/xuliangyu/runtime/src/coreclr/pal/src/arch/loongarch64/debugbreak.S:6
#1 0x00007fbf2d6cba94 in DebugBreak () at /data/xuliangyu/runtime/src/coreclr/pal/src/debug/debug.cpp:415
#2 0x00007fbf2d3ffcc4 in assertAbort (why=0x7fbf2d2d20fa "genActualType(op1) == genActualType(op2)", file=0x7fbf2d2c4bbc "/data/xuliangyu/runtime/src/coreclr/jit/morph.cpp", line=9152)
at /data/xuliangyu/runtime/src/coreclr/jit/error.cpp:295
#3 0x00007fbf2d59f9c4 in Compiler::fgOptimizeRelationalComparisonWithConst (this=0x7fbefc006208, cmp=0x7fbefc039a00) at /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:9152
#4 0x00007fbf2d59365c in Compiler::fgMorphSmpOp (this=<optimized out>, tree=0x7fbefc039a00, mac=<optimized out>, optAssertionPropDone=0x7fbf0f7f85bf) at /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:7823
#5 0x00007fbf2d5883ac in Compiler::fgMorphTree (this=0x7fbefc006208, tree=0x7fbefc039a00, mac=0x0) at /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:12487
#6 0x00007fbf2d59257c in Compiler::fgMorphSmpOp (this=<optimized out>, tree=<optimized out>, mac=0x3d, optAssertionPropDone=0x7fbf0f7f873f) at /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:7579
#7 0x00007fbf2d5883ac in Compiler::fgMorphTree (this=0x7fbefc006208, tree=0x7fbefc039a70, mac=0x0) at /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:12487
#8 0x00007fbf2d5a5bf4 in Compiler::fgMorphBlockStmt (this=0x7fbefc006208, block=0x7fbefc039ae0, stmt=0x7fbefc039bf8, msg=0x7fbf2d2fe896 "Morph upperBnd", allowFGChange=true, invalidateDFSTreeOnFGChange=true)
at /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:13145
#9 0x00007fbf2d60b664 in optRangeCheckCloning_DoClone (comp=0x7fbefc006208, block=0x7fbefc0088d8, bndChkStack=0x7fbefc038fd8, lastStmt=<optimized out>)
at /data/xuliangyu/runtime/src/coreclr/jit/rangecheckcloning.cpp:357
#10 Compiler::optRangeCheckCloning (this=0x7fbefc006208) at /data/xuliangyu/runtime/src/coreclr/jit/rangecheckcloning.cpp:664
#11 0x00007fbf2d5ebd04 in Phase::Run (this=0x7fbf0f7f8da0) at /data/xuliangyu/runtime/src/coreclr/jit/phase.cpp:61
#12 0x00007fbf2d3d7cb0 in DoPhase (_compiler=0x7fbefc006208, _phase=PHASE_RANGE_CHECK_CLONING, _action=<optimized out>) at /data/xuliangyu/runtime/src/coreclr/jit/phase.h:143
#13 Compiler::compCompile (this=0x7fbefc006208, methodCodePtr=0x7fbf0f7f9b98, methodCodeSize=0x7fbf0f7f9de8, compileFlags=<optimized out>) at /data/xuliangyu/runtime/src/coreclr/jit/compiler.cpp:4842
#14 0x00007fbf2d3dc820 in Compiler::compCompileHelper (this=0x7fbefc006208, classPtr=<optimized out>, compHnd=<optimized out>, methodInfo=<optimized out>, methodCodePtr=0x7fbf0f7f9b98,
methodCodeSize=0x7fbf0f7f9de8, compileFlags=0x7fbf0f7f9bc0) at /data/xuliangyu/runtime/src/coreclr/jit/compiler.cpp:7076
#15 0x00007fbf2d3da718 in Compiler::compCompileAfterInit(CORINFO_MODULE_STRUCT_*, void**, unsigned int*, JitFlags*)::$_0::operator()(Compiler::compCompileAfterInit(CORINFO_MODULE_STRUCT_*, void**, unsigned int*, JitFlags*)::__JITParam*) const (this=<optimized out>, __JITpParam=<optimized out>) at /data/xuliangyu/runtime/src/coreclr/jit/compiler.cpp:6237
#16 Compiler::compCompileAfterInit (this=0x7fbefc006208, classPtr=0x4000000000420310, methodCodePtr=0x7fbf0f7f9b98, methodCodeSize=0x7fbf0f7f9de8, compileFlags=0x7fbf0f7f9bc0)
at /data/xuliangyu/runtime/src/coreclr/jit/compiler.cpp:6256
#17 0x00007fbf2d3ddc58 in jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::$_0::operator()(jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::__JITParam*) const::{lambda(jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::$_0::operator()(jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::__JITParam*) const::__JITParam*)#1}::operator()(jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::$_0::operator()(jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::__JITParam*) const::__JITParam*) const (
this=<optimized out>, __JITpParam=<optimized out>) at /data/xuliangyu/runtime/src/coreclr/jit/compiler.cpp:7722
#18 jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::$_0::operator()(jitNativeCode(CORINFO_METHOD_STRUCT_*, CORINFO_MODULE_STRUCT_*, ICorJitInfo*, CORINFO_METHOD_INFO*, void**, unsigned int*, JitFlags*, void*)::__JITParam*) const (__JITpParam=0x7fbf0f7f9458, this=<optimized out>)
at /data/xuliangyu/runtime/src/coreclr/jit/compiler.cpp:7746
#19 jitNativeCode (methodHnd=0x4000000000420308, classPtr=0x4000000000420310, compHnd=0x7fbf0f7f9c38, methodInfo=0x7fbf0f7f9e08, methodCodePtr=0x7fbf0f7f9b98, methodCodeSize=0x7fbf0f7f9de8,
compileFlags=0x7fbf0f7f9bc0, inlineInfoPtr=0x0) at /data/xuliangyu/runtime/src/coreclr/jit/compiler.cpp:7748
#20 0x00007fbf2d3ea29c in CILJit::compileMethod (this=<optimized out>, compHnd=0x7fbf0f7f9c38, methodInfo=0x7fbf0f7f9e08, flags=<optimized out>, entryAddress=0x7fbf0f7f9df0, nativeSizeOfCode=0x7fbf0f7f9de8)
--Type <RET> for more, q to quit, c to continue without paging--
at /data/xuliangyu/runtime/src/coreclr/jit/ee_il_dll.cpp:302
#21 0x00007fbf2d7bb418 in JitCompileMethod (ppException=0x7fbf0f7f9df8, pJit=0x7fbf2d756d78 <g_CILJit>, thisHandle=0x7fbf0f7f9e00, callbacks=0x7fffe67a1050, methodInfo=0x7fbf0f7f9e08, flags=4294967295,
entryAddress=0x7fbf0f7f9df0, nativeSizeOfCode=0x7fbf0f7f9de8) at /data/xuliangyu/runtime/src/coreclr/tools/aot/jitinterface/jitwrapper.cpp:37
#22 0x00005554d9e70134 in ?? ()
Backtrace stopped: frame did not save the PC
(gdb) x/10i 0x00005554d9e70134 - 20
0x5554d9e70120: ori $t1, $r21, 0x134
0x5554d9e70124: lu32i.d $t1, 21844
0x5554d9e70128: st.d $t1, $fp, -56
0x5554d9e7012c: st.b $zero, $s8, 4
0x5554d9e70130: jirl $ra, $t0, 0
0x5554d9e70134: slli.w $s0, $a0, 0x0
0x5554d9e70138: li.w $a0, 1
0x5554d9e7013c: st.b $a0, $s8, 4
0x5554d9e70140: lu12i.w $a0, 359489
0x5554d9e70144: ori $a0, $a0, 0x6ecop1、op2、cmp at morph.cpp:9152Thread 1 "crossgen2" hit Breakpoint 1, Compiler::fgOptimizeRelationalComparisonWithConst (this=0x555556323508, cmp=0x555556356d00) at /data/xuliangyu/runtime/src/coreclr/jit/morph.cpp:9152
9152 assert(genActualType(op1) == genActualType(op2));
(gdb) p *op1
$1 = {
_vptr$GenTree = 0x7fbf2df91638 <vtable for GenTreeLclVar+16>,
static gtOperKindTable = "\000\000\001\001\001rr\001\001\001\001!\001\001!\001\001\001\001\001\002\001\002\024\"\022\002\002\0024!$\004\004\004\004\000\002t\022t\"\022\022\022\022\022\002\022\022\022\002\002\002\f\004\f\004\004\004\004\f\f\f", '\004' <repeats 13 times>, "\000\004\024\004\024\024\002\f\004\004\004$$$$!\001\004\"\000\000\000\"\"!\"!!!\"\001$\001$\001!!!\"\002\"$\002\002!!",
static gtDebugOperKindTable = {0 <repeats 13 times>, DBK_NOTLIR, DBK_NOTLIR, 0, 0, 0, 0, 0, 0, DBK_NOCONTAIN, 0, 0, 0, 0, 0, DBK_NOCONTAIN, DBK_NOCONTAIN, 0, 0, DBK_FIRST_FLAG, 0 <repeats 13 times>,
DBK_NOTLIR, DBK_NOTLIR, 0, DBK_NOTLIR, DBK_NOTLIR, DBK_NOTLIR, 0 <repeats 24 times>, DBK_FIRST_FLAG, DBK_FIRST_FLAG, 0, DBK_NOTLIR, DBK_NOTLIR, DBK_NOTLIR, 0, DBK_FIRST_FLAG <repeats 13 times>, 0,
DBK_NOTLIR, DBK_NOCONTAIN, 0, 0, 0, 0, 0, DBK_FIRST_FLAG, DBK_FIRST_FLAG, DBK_FIRST_FLAG, 0, 0, 0, 1280, DBK_FIRST_FLAG <repeats 13 times>},
static s_gtNodeSizes = 'p' <repeats 12 times>, "\360\360ppppppppp\360p\360pppppppppp\360pppppppp\360\360p\360", 'p' <repeats 30 times>, "\360p\360", 'p' <repeats 14 times>, "\360\360", 'p' <repeats 19 times>, "\360pppppp",
static s_vtablesForOpers = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df91668 <vtable for GenTreeLclFld+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90300 <vtable for GenTreeIntCon+16>, 0x0, 0x0,
0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0 <repeats 15 times>, 0x7fbf2df90640 <vtable for GenTreeIndir+16>, 0x0 <repeats 16 times>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df917d0 <vtable for GenTreeAddrMode+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df918d8 <vtable for GenTreeOpCC+16>,
0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x7fbf2df916b0 <vtable for GenTreeCall+16>, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0 <repeats 23 times>},
static s_vtableForOp = 0x7fbf2df90318 <vtable for GenTreeOp+16>,
gtOper = GT_LCL_VAR,
gtType = TYP_LONG,
gtOperSave = GT_NONE,
gtCSEnum = 0 '\000',
gtLIRFlags = 0 '\000',
gtAssertionInfo = {
m_assertionHoldsOnFalseEdge = 0,
m_assertionIndex = 0
},
gtCostsInitialized = true,
_gtCostEx = 3 '\003',
_gtCostSz = 2 '\002',
gtRegTag = GenTree::GT_REGTAG_NONE,
_gtRegNum = 65 'A',
m_operandCount = 221 '\335',
gtFlags = GTF_REUSE_REG_VAL,
gtDebugFlags = GTF_DEBUG_NODE_SMALL,
gtMorphCount = 0,
gtVNPair = {
--Type <RET> for more, q to quit, c to continue without paging--c
m_conservative = 1344,
m_liberal = 1344
},
gtNext = 0x555556356c90,
gtPrev = 0x0,
gtTreeID = 455,
gtSeqNum = 1,
gtUseNum = -1
}
(gdb) p *op2
$2 = {
<GenTree> = {
_vptr$GenTree = 0x7fbf2df90300 <vtable for GenTreeIntCon+16>,
static gtOperKindTable = "\000\000\001\001\001rr\001\001\001\001!\001\001!\001\001\001\001\001\002\001\002\024\"\022\002\002\0024!$\004\004\004\004\000\002t\022t\"\022\022\022\022\022\002\022\022\022\002\002\002\f\004\f\004\004\004\004\f\f\f", '\004' <repeats 13 times>, "\000\004\024\004\024\024\002\f\004\004\004$$$$!\001\004\"\000\000\000\"\"!\"!!!\"\001$\001$\001!!!\"\002\"$\002\002!!",
static gtDebugOperKindTable = {0 <repeats 13 times>, DBK_NOTLIR, DBK_NOTLIR, 0, 0, 0, 0, 0, 0, DBK_NOCONTAIN, 0, 0, 0, 0, 0, DBK_NOCONTAIN, DBK_NOCONTAIN, 0, 0, DBK_FIRST_FLAG, 0 <repeats 13 times>,
DBK_NOTLIR, DBK_NOTLIR, 0, DBK_NOTLIR, DBK_NOTLIR, DBK_NOTLIR, 0 <repeats 24 times>, DBK_FIRST_FLAG, DBK_FIRST_FLAG, 0, DBK_NOTLIR, DBK_NOTLIR, DBK_NOTLIR, 0, DBK_FIRST_FLAG <repeats 13 times>, 0,
DBK_NOTLIR, DBK_NOCONTAIN, 0, 0, 0, 0, 0, DBK_FIRST_FLAG, DBK_FIRST_FLAG, DBK_FIRST_FLAG, 0, 0, 0, 1280, DBK_FIRST_FLAG <repeats 13 times>},
static s_gtNodeSizes = 'p' <repeats 12 times>, "\360\360ppppppppp\360p\360pppppppppp\360pppppppp\360\360p\360", 'p' <repeats 30 times>, "\360p\360", 'p' <repeats 14 times>, "\360\360", 'p' <repeats 19 times>, "\360pppppp",
static s_vtablesForOpers = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df91668 <vtable for GenTreeLclFld+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90300 <vtable for GenTreeIntCon+16>, 0x0, 0x0,
0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0 <repeats 15 times>, 0x7fbf2df90640 <vtable for GenTreeIndir+16>, 0x0 <repeats 16 times>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df917d0 <vtable for GenTreeAddrMode+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df918d8 <vtable for GenTreeOpCC+16>,
0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x7fbf2df916b0 <vtable for GenTreeCall+16>, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0 <repeats 23 times>},
static s_vtableForOp = 0x7fbf2df90318 <vtable for GenTreeOp+16>,
gtOper = GT_CNS_INT,
gtType = TYP_INT,
gtOperSave = GT_NONE,
gtCSEnum = 0 '\000',
gtLIRFlags = 0 '\000',
gtAssertionInfo = {
m_assertionHoldsOnFalseEdge = 0,
m_assertionIndex = 0
},
gtCostsInitialized = true,
_gtCostEx = 1 '\001',
_gtCostSz = 4 '\004',
gtRegTag = GenTree::GT_REGTAG_NONE,
_gtRegNum = 65 'A',
m_operandCount = 221 '\335',
gtFlags = GTF_EMPTY,
gtDebugFlags = GTF_DEBUG_NODE_SMALL,
gtMorphCount = 0,
--Type <RET> for more, q to quit, c to continue without paging--
gtVNPair = {
m_conservative = 4294967295,
m_liberal = 4294967295
},
gtNext = 0x555556356d00,
gtPrev = 0x555556356898,
gtTreeID = 461,
gtSeqNum = 2,
gtUseNum = -1
}, <No data fields>}
(gdb) p *cmp
$3 = {
<GenTreeUnOp> = {
<GenTree> = {
_vptr$GenTree = 0x7fbf2df90318 <vtable for GenTreeOp+16>,
static gtOperKindTable = "\000\000\001\001\001rr\001\001\001\001!\001\001!\001\001\001\001\001\002\001\002\024\"\022\002\002\0024!$\004\004\004\004\000\002t\022t\"\022\022\022\022\022\002\022\022\022\002\002\002\f\004\f\004\004\004\004\f\f\f", '\004' <repeats 13 times>, "\000\004\024\004\024\024\002\f\004\004\004$$$$!\001\004\"\000\000\000\"\"!\"!!!\"\001$\001$\001!!!\"\002\"$\002\002!!",
static gtDebugOperKindTable = {0 <repeats 13 times>, DBK_NOTLIR, DBK_NOTLIR, 0, 0, 0, 0, 0, 0, DBK_NOCONTAIN, 0, 0, 0, 0, 0, DBK_NOCONTAIN, DBK_NOCONTAIN, 0, 0, DBK_FIRST_FLAG, 0 <repeats 13 times>,
DBK_NOTLIR, DBK_NOTLIR, 0, DBK_NOTLIR, DBK_NOTLIR, DBK_NOTLIR, 0 <repeats 24 times>, DBK_FIRST_FLAG, DBK_FIRST_FLAG, 0, DBK_NOTLIR, DBK_NOTLIR, DBK_NOTLIR, 0, DBK_FIRST_FLAG <repeats 13 times>, 0,
DBK_NOTLIR, DBK_NOCONTAIN, 0, 0, 0, 0, 0, DBK_FIRST_FLAG, DBK_FIRST_FLAG, DBK_FIRST_FLAG, 0, 0, 0, 1280, DBK_FIRST_FLAG <repeats 13 times>},
static s_gtNodeSizes = 'p' <repeats 12 times>, "\360\360ppppppppp\360p\360pppppppppp\360pppppppp\360\360p\360", 'p' <repeats 30 times>, "\360p\360", 'p' <repeats 14 times>, "\360\360", 'p' <repeats 19 times>, "\360pppppp",
static s_vtablesForOpers = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df91668 <vtable for GenTreeLclFld+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90300 <vtable for GenTreeIntCon+16>, 0x0,
0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0 <repeats 15 times>, 0x7fbf2df90640 <vtable for GenTreeIndir+16>, 0x0 <repeats 16 times>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x7fbf2df90318 <vtable for GenTreeOp+16>,
0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df917d0 <vtable for GenTreeAddrMode+16>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x7fbf2df918d8 <vtable for GenTreeOpCC+16>, 0x0, 0x0, 0x0, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>, 0x0, 0x7fbf2df916b0 <vtable for GenTreeCall+16>, 0x0, 0x7fbf2df90318 <vtable for GenTreeOp+16>,
0x0 <repeats 23 times>},
static s_vtableForOp = 0x7fbf2df90318 <vtable for GenTreeOp+16>,
gtOper = GT_GT,
gtType = TYP_INT,
gtOperSave = GT_NONE,
gtCSEnum = 0 '\000',
gtLIRFlags = 0 '\000',
gtAssertionInfo = {
m_assertionHoldsOnFalseEdge = 0,
m_assertionIndex = 0
},
gtCostsInitialized = true,
_gtCostEx = 5 '\005',
_gtCostSz = 7 '\a',
gtRegTag = GenTree::GT_REGTAG_NONE,
_gtRegNum = 65 'A',
m_operandCount = 221 '\335',
gtFlags = 1073745920,
--Type <RET> for more, q to quit, c to continue without paging--c
gtDebugFlags = GTF_DEBUG_NODE_SMALL,
gtMorphCount = 0,
gtVNPair = {
m_conservative = 4294967295,
m_liberal = 4294967295
},
gtNext = 0x555556356d70,
gtPrev = 0x555556356c90,
gtTreeID = 462,
gtSeqNum = 3,
gtUseNum = -1
},
members of GenTreeUnOp:
gtOp1 = 0x555556356898
},
members of GenTreeOp:
gtOp2 = 0x555556356c90
}More dump log difference between PR#125670 and PR#125669 of this methodhash(0xb16e339b): cc @jakobbotsch @kg I think we can hit a same failed on linux-arm64 with: same error on linux-arm64linux-x64 also build failed at the same step with: same build error on linux-x64...
...
...
-- Installing: /data/xuliangyu/runtime/artifacts/bin/linux-x64.Debug/corehost_test/nativehost
/data/xuliangyu/runtime/src/native/corehost
Microsoft.NETCore.DotNetAppHost -> /data/xuliangyu/runtime/artifacts/packages/Debug/Shipping/Microsoft.NETCore.DotNetAppHost.11.0.0-ci.nupkg
Microsoft.NETCore.DotNetAppHost -> /data/xuliangyu/runtime/artifacts/packages/Debug/Shipping/runtime.linux-x64.Microsoft.NETCore.DotNetAppHost.11.0.0-ci.nupkg
installer.tasks -> /data/xuliangyu/runtime/artifacts/bin/installer.tasks/Debug/installer.tasks.dll
Determining projects to restore...
All projects are up-to-date for restore.
##vso[task.logissue type=error;sourcepath=/data/xuliangyu/runtime/.packages/microsoft.dotnet.sharedframework.sdk/11.0.0-beta.26166.111/targets/sharedfx.targets;linenumber=303;columnnumber=5;code=;](NETCORE_ENGINEERING_TELEMETRY=Build) The following files are missing entries in the templated manifest:%0ASystem.IO.Compression.Zstandard.dll. Add these file names with extensions to the 'PlatformManifestFileEntry' item group for the runtime pack and corresponding ref pack to include them in the platform manifest.
/data/xuliangyu/runtime/.packages/microsoft.dotnet.sharedframework.sdk/11.0.0-beta.26166.111/targets/sharedfx.targets(303,5): error : The following files are missing entries in the templated manifest: [/data/xuliangyu/runtime/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj]
/data/xuliangyu/runtime/.packages/microsoft.dotnet.sharedframework.sdk/11.0.0-beta.26166.111/targets/sharedfx.targets(303,5): error : System.IO.Compression.Zstandard.dll. Add these file names with extensions to the 'PlatformManifestFileEntry' item group for the runtime pack and corresponding ref pack to include them in the platform manifest. [/data/xuliangyu/runtime/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj]
##vso[task.logissue type=error;sourcepath=/data/xuliangyu/runtime/src/installer/pkg/sfx/bundle/Microsoft.NETCore.App.Bundle.bundleproj;linenumber=44;columnnumber=5;code=MSB4181;](NETCORE_ENGINEERING_TELEMETRY=Build) The "MSBuild" task returned false but did not log an error.
/data/xuliangyu/runtime/src/installer/pkg/sfx/bundle/Microsoft.NETCore.App.Bundle.bundleproj(44,5): error MSB4181: The "MSBuild" task returned false but did not log an error.
Build FAILED.
/data/xuliangyu/runtime/.packages/microsoft.dotnet.sharedframework.sdk/11.0.0-beta.26166.111/targets/sharedfx.targets(303,5): error : The following files are missing entries in the templated manifest: [/data/xuliangyu/runtime/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj]
/data/xuliangyu/runtime/.packages/microsoft.dotnet.sharedframework.sdk/11.0.0-beta.26166.111/targets/sharedfx.targets(303,5): error : System.IO.Compression.Zstandard.dll. Add these file names with extensions to the 'PlatformManifestFileEntry' item group for the runtime pack and corresponding ref pack to include them in the platform manifest. [/data/xuliangyu/runtime/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj]
/data/xuliangyu/runtime/src/installer/pkg/sfx/bundle/Microsoft.NETCore.App.Bundle.bundleproj(44,5): error MSB4181: The "MSBuild" task returned false but did not log an error.
0 Warning(s)
2 Error(s)
Time Elapsed 00:21:56.31
Build failed with exit code 1. Check errors above.All of these can build success based on PR#125669. |
#125669 but universal. Wasm needs the indirection cell at the end of the arguments list, and on other arches it shouldn't matter where we put it. Opening draft PR to generate diffs on CI.