30struct SymbolDataInitialization {
32 explicit SymbolDataInitialization(std::size_t bytes) : image{bytes} {}
33 SymbolDataInitialization(SymbolDataInitialization &&) =
default;
35 void NoteInitializedRange(Range range) {
36 if (initializedRanges.empty() ||
37 !initializedRanges.back().AnnexIfPredecessor(range)) {
38 initializedRanges.emplace_back(range);
41 void NoteInitializedRange(
42 common::ConstantSubscript offset, std::size_t size) {
43 NoteInitializedRange(Range{offset, size});
46 NoteInitializedRange(offsetSymbol.offset(), offsetSymbol.size());
50 std::list<Range> initializedRanges;