Uh oh!
There was an error while loading. Please reload this page.
Added DEBUG switches for roundtrip ILASM - #72128
Conversation
ghost
commented
Jul 13, 2022
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
TIHan
commented
Jul 13, 2022
/azp run runtime-coreclr ilasm |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
TIHan
commented
Jul 14, 2022
/azp run runtime-coreclr ilasm |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
ghost
commented
Jul 15, 2022
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsDescription Should resolve: #72127 - this was failing because Acceptance Criteria
|
TIHan
commented
Jul 15, 2022
/azp run runtime-coreclr ilasm |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
Triggered manually: https://dev.azure.com/dnceng/public/_build/results?buildId=1888046&view=results |
TIHan
commented
Jul 27, 2022
@dotnet/jit-contrib This is ready. I'm running the ilasm roundtrip tests in CI, there are known failures, but we should not see the poison in the list. I tested this manually and adding the |
TIHan
commented
Aug 2, 2022
Pinging @dotnet/jit-contrib again - should be a quick review |
BruceForstall
left a comment
There was a problem hiding this comment.
This change doesn't seem quite right; it's not general.
Why is this specific to the poison test?
There is already code that uses the various project file configurations to set the correct ilasm flags. Is this not getting used somehow? See:
TIHan
commented
Aug 5, 2022
@BruceForstall - I did see those targets, but I believe the build uses this if you are compiling an
In order to get the correct poisoned value, Here is the code in the runtime that checks to poison the variable: // Returns true if address-exposed user variables should be poisoned with a recognizable valueboolcompShouldPoisonFrame()
{
#ifdef FEATURE_ON_STACK_REPLACEMENT
if (opts.IsOSR())
returnfalse;
#endifreturn !info.compInitMem && opts.compDbgCode;
}
Before, I did try to generalize this in the test targets if we notice the |
BruceForstall
commented
Aug 5, 2022
I believe that's right; I realized that last night, too. So the .csproj round-trip testing wouldn't see it.
That's the fix I was thinking. I tried a slight variant, main...BruceForstall:TryFixIlasmRoundTripDebugFlag, and it seemed to work. I assumed for .ilproj it would add the switches twice, but that doesn't seem to be true (and I don't know why). Anyway, I'll go ahead and approve. |
TIHan
commented
Aug 5, 2022
I'll update this with your variant. I bet mine didn't work because I didn't put it in a property group... |
TIHan
commented
Aug 6, 2022
CI failure is not related, merging. |
Description
Should resolve: #72127 - this was failing because
ilasm.exewas not being invoked with the/DEBUGflag when the corresponding project was.Acceptance Criteria
poison.sh