[Backport] [Oracle GraalVM] [GR-67944] Backport to 23.1: Report more information if the heap verification finds a broken reference on the stack. #226
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR backports:
Conflicts: [1]
The change (currentSP, currentIP params of verifyFrameReferencesVisitor.initialize) have to be applied manually to visitFrame in current code base:
==>
Conflicts: [2]
visitObjectReferences update:
public void visitObjectReferences(Pointer firstObjRef, boolean compressed, int referenceSize, Object holderObject, int count) { + assert holderObject == null; + Pointer pos = firstObjRef; Pointer end = firstObjRef.add(Word.unsigned(count).multiply(referenceSize)); while (pos.belowThan(end)) { - visitObjectReference(pos, compressed, holderObject); + visitObjectReference(pos, compressed); pos = pos.add(referenceSize); } } - private void visitObjectReference(Pointer objRef, boolean compressed, Object holderObject) { - result &= HeapVerifier.verifyReference(holderObject, objRef, compressed); + private void visitObjectReference(Pointer objRef, boolean compressed) { + result &= HeapVerifier.verifyReference(this, objRef, compressed); }resoltution: skipped.
Closes: #222