base: Add a setNext method to the ChunkGenerator.
authorGabe Black <gabe.black@gmail.com>
Thu, 24 Dec 2020 14:05:14 +0000 (06:05 -0800)
committerGabe Black <gabe.black@gmail.com>
Sat, 9 Jan 2021 13:18:48 +0000 (13:18 +0000)
commit28f8a39726f6c94c28f06147a2846274a416d5a7
treeb760c6edc9b9d1b9c3effff37c83a097c85aae59
parentf6ec145fc080fa27a7427241e81668b729edc476
base: Add a setNext method to the ChunkGenerator.

This method lets you stretch the current chunk, if you want to skip over
some of the upcoming chunks since you've already handled their bytes.

For instance, if you were iterating over pages in a range of virtual
addresses, you might be able to handle multiple page sized chunks at
once if they were represented by a single large sized page table entry.
This mechanism would let you move past all the pages you had just
handled without having to walk through them all one by one.

Change-Id: I7d962f548947b77f0aa1b725036dbcc9e1b28659
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38718
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/base/chunk_generator.hh
src/base/chunk_generator.test.cc