```
inline HeapWord* HeapRegion::block_start(const void* addr, HeapWord* const pb) const {
HeapWord* q = _bot_part.block_start_reaching_into_card(addr);
// The returned address is the block that reaches into the card of addr. Walk
// the heap to get to the block reaching into addr.
HeapWord* n = q + block_size(q, pb);
return forward_to_block_containing_addr(q, n, addr, pb); // <--- also calls block_size
}
```
Both this method and `block_size` are annotated with `inline`. Merge these two call sites into one to reduce #instruction in the assembly.
inline HeapWord* HeapRegion::block_start(const void* addr, HeapWord* const pb) const {
HeapWord* q = _bot_part.block_start_reaching_into_card(addr);
// The returned address is the block that reaches into the card of addr. Walk
// the heap to get to the block reaching into addr.
HeapWord* n = q + block_size(q, pb);
return forward_to_block_containing_addr(q, n, addr, pb); // <--- also calls block_size
}
```
Both this method and `block_size` are annotated with `inline`. Merge these two call sites into one to reduce #instruction in the assembly.