mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
7030435: Some oop_oop_iterate_m() methods iterate outside of specified memory bounds
Filter ref-containing locations through the memory-interval specified in the call. Reviewed-by: jcoomes, jwilhelm, tonyp
This commit is contained in:
parent
87c2f53c25
commit
4282af91a0
1 changed files with 4 additions and 4 deletions
|
@ -245,13 +245,13 @@ int constantPoolKlass::oop_oop_iterate_m(oop obj, OopClosure* blk, MemRegion mr)
|
||||||
}
|
}
|
||||||
oop* addr;
|
oop* addr;
|
||||||
addr = cp->tags_addr();
|
addr = cp->tags_addr();
|
||||||
blk->do_oop(addr);
|
if (mr.contains(addr)) blk->do_oop(addr);
|
||||||
addr = cp->cache_addr();
|
addr = cp->cache_addr();
|
||||||
blk->do_oop(addr);
|
if (mr.contains(addr)) blk->do_oop(addr);
|
||||||
addr = cp->operands_addr();
|
addr = cp->operands_addr();
|
||||||
blk->do_oop(addr);
|
if (mr.contains(addr)) blk->do_oop(addr);
|
||||||
addr = cp->pool_holder_addr();
|
addr = cp->pool_holder_addr();
|
||||||
blk->do_oop(addr);
|
if (mr.contains(addr)) blk->do_oop(addr);
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue