Lines Matching full:os
30 bool writeWasm(raw_ostream &OS);
33 void writeRelocSection(raw_ostream &OS, WasmYAML::Section &Sec,
36 void writeInitExpr(raw_ostream &OS, const WasmYAML::InitExpr &InitExpr);
38 void writeSectionContent(raw_ostream &OS, WasmYAML::CustomSection &Section);
39 void writeSectionContent(raw_ostream &OS, WasmYAML::TypeSection &Section);
40 void writeSectionContent(raw_ostream &OS, WasmYAML::ImportSection &Section);
41 void writeSectionContent(raw_ostream &OS, WasmYAML::FunctionSection &Section);
42 void writeSectionContent(raw_ostream &OS, WasmYAML::TableSection &Section);
43 void writeSectionContent(raw_ostream &OS, WasmYAML::MemorySection &Section);
44 void writeSectionContent(raw_ostream &OS, WasmYAML::TagSection &Section);
45 void writeSectionContent(raw_ostream &OS, WasmYAML::GlobalSection &Section);
46 void writeSectionContent(raw_ostream &OS, WasmYAML::ExportSection &Section);
47 void writeSectionContent(raw_ostream &OS, WasmYAML::StartSection &Section);
48 void writeSectionContent(raw_ostream &OS, WasmYAML::ElemSection &Section);
49 void writeSectionContent(raw_ostream &OS, WasmYAML::CodeSection &Section);
50 void writeSectionContent(raw_ostream &OS, WasmYAML::DataSection &Section);
51 void writeSectionContent(raw_ostream &OS, WasmYAML::DataCountSection &Section);
54 void writeSectionContent(raw_ostream &OS, WasmYAML::DylinkSection &Section);
55 void writeSectionContent(raw_ostream &OS, WasmYAML::NameSection &Section);
56 void writeSectionContent(raw_ostream &OS, WasmYAML::LinkingSection &Section);
57 void writeSectionContent(raw_ostream &OS, WasmYAML::ProducersSection &Section);
58 void writeSectionContent(raw_ostream &OS,
72 raw_ostream &OS; member in __anon5da69a0d0111::SubSectionWriter
77 SubSectionWriter(raw_ostream &OS) : OS(OS), StringStream(OutString) {} in SubSectionWriter() argument
81 encodeULEB128(OutString.size(), OS); in done()
82 OS << OutString; in done()
91 static int writeUint64(raw_ostream &OS, uint64_t Value) { in writeUint64() argument
94 OS.write(Data, sizeof(Data)); in writeUint64()
98 static int writeUint32(raw_ostream &OS, uint32_t Value) { in writeUint32() argument
101 OS.write(Data, sizeof(Data)); in writeUint32()
105 static int writeUint8(raw_ostream &OS, uint8_t Value) { in writeUint8() argument
108 OS.write(Data, sizeof(Data)); in writeUint8()
112 static int writeStringRef(const StringRef &Str, raw_ostream &OS) { in writeStringRef() argument
113 encodeULEB128(Str.size(), OS); in writeStringRef()
114 OS << Str; in writeStringRef()
118 static int writeLimits(const WasmYAML::Limits &Lim, raw_ostream &OS) { in writeLimits() argument
119 writeUint8(OS, Lim.Flags); in writeLimits()
120 encodeULEB128(Lim.Minimum, OS); in writeLimits()
122 encodeULEB128(Lim.Maximum, OS); in writeLimits()
131 void WasmWriter::writeInitExpr(raw_ostream &OS, in writeInitExpr() argument
134 InitExpr.Body.writeAsBinary(OS); in writeInitExpr()
136 writeUint8(OS, InitExpr.Inst.Opcode); in writeInitExpr()
139 encodeSLEB128(InitExpr.Inst.Value.Int32, OS); in writeInitExpr()
142 encodeSLEB128(InitExpr.Inst.Value.Int64, OS); in writeInitExpr()
145 writeUint32(OS, InitExpr.Inst.Value.Float32); in writeInitExpr()
148 writeUint64(OS, InitExpr.Inst.Value.Float64); in writeInitExpr()
151 encodeULEB128(InitExpr.Inst.Value.Global, OS); in writeInitExpr()
158 writeUint8(OS, wasm::WASM_OPCODE_END); in writeInitExpr()
162 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
164 writeStringRef(Section.Name, OS); in writeSectionContent()
166 writeUint8(OS, wasm::WASM_DYLINK_MEM_INFO); in writeSectionContent()
167 SubSectionWriter SubSection(OS); in writeSectionContent()
176 writeUint8(OS, wasm::WASM_DYLINK_NEEDED); in writeSectionContent()
185 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
187 writeStringRef(Section.Name, OS); in writeSectionContent()
188 encodeULEB128(Section.Version, OS); in writeSectionContent()
190 SubSectionWriter SubSection(OS); in writeSectionContent()
194 writeUint8(OS, wasm::WASM_SYMBOL_TABLE); in writeSectionContent()
232 writeUint8(OS, wasm::WASM_SEGMENT_INFO); in writeSectionContent()
244 writeUint8(OS, wasm::WASM_INIT_FUNCS); in writeSectionContent()
255 writeUint8(OS, wasm::WASM_COMDAT_INFO); in writeSectionContent()
270 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
272 writeStringRef(Section.Name, OS); in writeSectionContent()
274 writeUint8(OS, wasm::WASM_NAMES_FUNCTION); in writeSectionContent()
276 SubSectionWriter SubSection(OS); in writeSectionContent()
287 writeUint8(OS, wasm::WASM_NAMES_GLOBAL); in writeSectionContent()
289 SubSectionWriter SubSection(OS); in writeSectionContent()
300 writeUint8(OS, wasm::WASM_NAMES_DATA_SEGMENT); in writeSectionContent()
302 SubSectionWriter SubSection(OS); in writeSectionContent()
314 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
316 writeStringRef(Section.Name, OS); in writeSectionContent()
321 encodeULEB128(Fields, OS); in writeSectionContent()
327 writeStringRef(Field.first, OS); in writeSectionContent()
328 encodeULEB128(Field.second->size(), OS); in writeSectionContent()
330 writeStringRef(Entry.Name, OS); in writeSectionContent()
331 writeStringRef(Entry.Version, OS); in writeSectionContent()
336 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
338 writeStringRef(Section.Name, OS); in writeSectionContent()
339 encodeULEB128(Section.Features.size(), OS); in writeSectionContent()
341 writeUint8(OS, E.Prefix); in writeSectionContent()
342 writeStringRef(E.Name, OS); in writeSectionContent()
346 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
349 writeSectionContent(OS, *S); in writeSectionContent()
351 writeSectionContent(OS, *S); in writeSectionContent()
353 writeSectionContent(OS, *S); in writeSectionContent()
355 writeSectionContent(OS, *S); in writeSectionContent()
357 writeSectionContent(OS, *S); in writeSectionContent()
359 writeStringRef(Section.Name, OS); in writeSectionContent()
360 Section.Payload.writeAsBinary(OS); in writeSectionContent()
364 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
366 encodeULEB128(Section.Signatures.size(), OS); in writeSectionContent()
374 writeUint8(OS, Sig.Form); in writeSectionContent()
375 encodeULEB128(Sig.ParamTypes.size(), OS); in writeSectionContent()
377 writeUint8(OS, ParamType); in writeSectionContent()
378 encodeULEB128(Sig.ReturnTypes.size(), OS); in writeSectionContent()
380 writeUint8(OS, ReturnType); in writeSectionContent()
384 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
386 encodeULEB128(Section.Imports.size(), OS); in writeSectionContent()
388 writeStringRef(Import.Module, OS); in writeSectionContent()
389 writeStringRef(Import.Field, OS); in writeSectionContent()
390 writeUint8(OS, Import.Kind); in writeSectionContent()
393 encodeULEB128(Import.SigIndex, OS); in writeSectionContent()
397 writeUint8(OS, Import.GlobalImport.Type); in writeSectionContent()
398 writeUint8(OS, Import.GlobalImport.Mutable); in writeSectionContent()
402 writeUint8(OS, 0); // Reserved 'attribute' field in writeSectionContent()
403 encodeULEB128(Import.SigIndex, OS); in writeSectionContent()
407 writeLimits(Import.Memory, OS); in writeSectionContent()
410 writeUint8(OS, Import.TableImport.ElemType); in writeSectionContent()
411 writeLimits(Import.TableImport.TableLimits, OS); in writeSectionContent()
421 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
423 encodeULEB128(Section.FunctionTypes.size(), OS); in writeSectionContent()
425 encodeULEB128(FuncType, OS); in writeSectionContent()
428 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
430 encodeULEB128(Section.Exports.size(), OS); in writeSectionContent()
432 writeStringRef(Export.Name, OS); in writeSectionContent()
433 writeUint8(OS, Export.Kind); in writeSectionContent()
434 encodeULEB128(Export.Index, OS); in writeSectionContent()
438 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
440 encodeULEB128(Section.StartFunction, OS); in writeSectionContent()
443 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
445 encodeULEB128(Section.Tables.size(), OS); in writeSectionContent()
453 writeUint8(OS, Table.ElemType); in writeSectionContent()
454 writeLimits(Table.TableLimits, OS); in writeSectionContent()
458 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
460 encodeULEB128(Section.Memories.size(), OS); in writeSectionContent()
462 writeLimits(Mem, OS); in writeSectionContent()
465 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
467 encodeULEB128(Section.TagTypes.size(), OS); in writeSectionContent()
469 writeUint8(OS, 0); // Reserved 'attribute' field in writeSectionContent()
470 encodeULEB128(TagType, OS); in writeSectionContent()
474 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
476 encodeULEB128(Section.Globals.size(), OS); in writeSectionContent()
484 writeUint8(OS, Global.Type); in writeSectionContent()
485 writeUint8(OS, Global.Mutable); in writeSectionContent()
486 writeInitExpr(OS, Global.Init); in writeSectionContent()
490 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
492 encodeULEB128(Section.Segments.size(), OS); in writeSectionContent()
494 encodeULEB128(Segment.Flags, OS); in writeSectionContent()
496 encodeULEB128(Segment.TableNumber, OS); in writeSectionContent()
498 writeInitExpr(OS, Segment.Offset); in writeSectionContent()
509 writeUint8(OS, ElemKind); in writeSectionContent()
512 encodeULEB128(Segment.Functions.size(), OS); in writeSectionContent()
514 encodeULEB128(Function, OS); in writeSectionContent()
518 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
520 encodeULEB128(Section.Functions.size(), OS); in writeSectionContent()
541 encodeULEB128(OutString.size(), OS); in writeSectionContent()
542 OS << OutString; in writeSectionContent()
546 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
548 encodeULEB128(Section.Segments.size(), OS); in writeSectionContent()
550 encodeULEB128(Segment.InitFlags, OS); in writeSectionContent()
552 encodeULEB128(Segment.MemoryIndex, OS); in writeSectionContent()
554 writeInitExpr(OS, Segment.Offset); in writeSectionContent()
555 encodeULEB128(Segment.Content.binary_size(), OS); in writeSectionContent()
556 Segment.Content.writeAsBinary(OS); in writeSectionContent()
560 void WasmWriter::writeSectionContent(raw_ostream &OS, in writeSectionContent() argument
562 encodeULEB128(Section.Count, OS); in writeSectionContent()
565 void WasmWriter::writeRelocSection(raw_ostream &OS, WasmYAML::Section &Sec, in writeRelocSection() argument
569 writeStringRef("reloc.CODE", OS); in writeRelocSection()
572 writeStringRef("reloc.DATA", OS); in writeRelocSection()
576 writeStringRef(("reloc." + CustomSection->Name).str(), OS); in writeRelocSection()
583 encodeULEB128(SectionIndex, OS); in writeRelocSection()
584 encodeULEB128(Sec.Relocations.size(), OS); in writeRelocSection()
587 writeUint8(OS, Reloc.Type); in writeRelocSection()
588 encodeULEB128(Reloc.Offset, OS); in writeRelocSection()
589 encodeULEB128(Reloc.Index, OS); in writeRelocSection()
591 encodeSLEB128(Reloc.Addend, OS); in writeRelocSection()
595 bool WasmWriter::writeWasm(raw_ostream &OS) { in writeWasm() argument
597 OS.write(wasm::WasmMagic, sizeof(wasm::WasmMagic)); in writeWasm()
598 writeUint32(OS, Obj.Header.Version); in writeWasm()
610 encodeULEB128(Sec->Type, OS); in writeWasm()
660 encodeULEB128(OutString.size(), OS, HeaderSecSizeEncodingLen); in writeWasm()
661 OS << OutString; in writeWasm()
672 writeUint8(OS, wasm::WASM_SEC_CUSTOM); in writeWasm()
678 encodeULEB128(OutString.size(), OS); in writeWasm()
679 OS << OutString; in writeWasm()