Uh oh!
There was an error while loading. Please reload this page.
JIT: check that constant handles are not OK2_CONST_LONGs - #1831
Conversation
Follow-up from dotnet#1788. Also remove an arm-only handle block that should now be redundant.
AndyAyersMS
commented
Jan 16, 2020
@briansull PTAL |
AndyAyersMS
commented
Jan 16, 2020
The newly added assert is firing. Will dig in and see why. |
briansull
commented
Jan 16, 2020
There is a strange code sequence here, that may be relevant: Assertionprop.cpp line 1341: |
Hmm, I should have checked the assertion unions more carefully -- the iconFlags overlay the top part of the long value (on a 32 bit host), so once an assertion is created, there's no easy way to check if somebody has inadvertently set the icon flags. I suppose in a debug build we could keep some extra state? |
AndyAyersMS
commented
Jan 17, 2020
Or perhaps just add padding to |
briansull
commented
Jan 17, 2020
These flags should not overlap. I would suggest that we fix that. |
AndyAyersMS
commented
Jan 17, 2020
/AZP run runtime-coreclr outerloop |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
AndyAyersMS
commented
Jan 17, 2020
After adding padding, no hits from the new assert in inner or outer loop testing. The padding should not increase the size of the assertion records. The one remaining failure is in the flaky-seeming trace event test. |
| break; | ||
| case O2K_CONST_LONG: | ||
| { |
There was a problem hiding this comment.
Don't really need the braces { } here.
| // so no handle bits should be set here. | ||
| assert((assertion->op2.u1.iconFlags & GTF_ICON_HDL_MASK) == 0); | ||
| } | ||
AndyAyersMS
commented
Jan 21, 2020
Remaining failures are in the tracevent tests. |
Follow-up from #1788.
Also remove an arm-only handle block that should now be redundant.