Lines Matching full:segment
99 unsigned segmentCount = llvm::count_if(segments, [](OutputSegment *segment) {
100 return segment->requiredInBinary();
103 unsigned activeCount = llvm::count_if(segments, [](OutputSegment *segment) {
104 return (segment->initFlags & WASM_DATA_SEGMENT_IS_PASSIVE) == 0;
112 writeUleb128(os, segmentCount, "data segment count");
116 for (OutputSegment *segment : segments) {
117 if (!segment->requiredInBinary())
119 raw_string_ostream os(segment->header);
120 writeUleb128(os, segment->initFlags, "init flags");
121 if (segment->initFlags & WASM_DATA_SEGMENT_HAS_MEMINDEX)
123 if ((segment->initFlags & WASM_DATA_SEGMENT_IS_PASSIVE) == 0) {
128 if (segment->startVA) {
129 writePtrConst(os, segment->startVA, is64, "offset");
137 assert(segment->startVA == 0);
141 initExpr = intConst(segment->startVA, is64);
146 writeUleb128(os, segment->size, "segment size");
148 segment->sectionOffset = bodySize;
149 bodySize += segment->header.size() + segment->size;
150 log("Data segment: size=" + Twine(segment->size) + ", startVA=" +
151 Twine::utohexstr(segment->startVA) + ", name=" + segment->name);
153 for (InputChunk *inputSeg : segment->inputSegments) {
155 inputSeg->outSecOff = segment->sectionOffset + segment->header.size() +
175 for (const OutputSegment *segment : segments) {
176 if (!segment->requiredInBinary())
178 // Write data segment header
179 uint8_t *segStart = buf + segment->sectionOffset;
180 memcpy(segStart, segment->header.data(), segment->header.size());
182 // Write segment data payload
183 for (const InputChunk *chunk : segment->inputSegments)