mirror of
https://github.com/corda/corda.git
synced 2025-02-27 11:36:42 +00:00
fix ordering bug in postVisit() and remove debug logging
This commit is contained in:
parent
4decde57e6
commit
3bffa44824
@ -177,24 +177,18 @@ postVisit(Thread* t, Heap::Visitor* v)
|
|||||||
if (m->heap->status(*p) == Heap::Unreachable) {
|
if (m->heap->status(*p) == Heap::Unreachable) {
|
||||||
// reference is unreachable - remove it from the list
|
// reference is unreachable - remove it from the list
|
||||||
|
|
||||||
fprintf(stderr, "unreachable wr: %p\n", *p);
|
|
||||||
|
|
||||||
*p = jreferenceNext(t, *p);
|
*p = jreferenceNext(t, *p);
|
||||||
} else if (m->heap->status(jreferenceTarget(t, *p)) == Heap::Unreachable) {
|
} else if (m->heap->status(jreferenceTarget(t, *p)) == Heap::Unreachable) {
|
||||||
// target is unreachable - clear the reference and remove it
|
// target is unreachable - clear the reference and remove it
|
||||||
// from the list
|
// from the list
|
||||||
|
|
||||||
fprintf(stderr, "target unreachable for wr: %p\n", *p);
|
|
||||||
|
|
||||||
jreferenceTarget(t, *p) = 0;
|
jreferenceTarget(t, *p) = 0;
|
||||||
*p = jreferenceNext(t, *p);
|
*p = jreferenceNext(t, *p);
|
||||||
} else {
|
} else {
|
||||||
// both reference and target are reachable
|
// both reference and target are reachable
|
||||||
|
|
||||||
fprintf(stderr, "viable wr: %p\n", *p);
|
|
||||||
|
|
||||||
v->visit(&jreferenceTarget(t, *p));
|
|
||||||
v->visit(p);
|
v->visit(p);
|
||||||
|
v->visit(&jreferenceTarget(t, *p));
|
||||||
|
|
||||||
if (m->heap->status(*p) == Heap::Tenured) {
|
if (m->heap->status(*p) == Heap::Tenured) {
|
||||||
// the reference is tenured, so we remove it from
|
// the reference is tenured, so we remove it from
|
||||||
@ -253,8 +247,8 @@ postVisit(Thread* t, Heap::Visitor* v)
|
|||||||
} else {
|
} else {
|
||||||
// target is reachable
|
// target is reachable
|
||||||
|
|
||||||
v->visit(&jreferenceTarget(t, *p));
|
|
||||||
v->visit(p);
|
v->visit(p);
|
||||||
|
v->visit(&jreferenceTarget(t, *p));
|
||||||
|
|
||||||
p = &jreferenceNext(t, *p);
|
p = &jreferenceNext(t, *p);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user