public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.GetMangledMethodName(_method)); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(_symbolName); }
// Implementation of ISymbolNode that makes this node act as a symbol for the canonical body public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { _canonicalThunk.AppendMangledName(nameMangler, sb); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append("ProfileDataNode->"); _methodNode.AppendMangledName(nameMangler, sb); }
public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append(_parentNode._startSymbolMangledName).Append("_").Append(_id.ToStringInvariant()); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append("__nativemodule_"); sb.Append(_moduleName); }
public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix); sb.Append("__ReadyToRunAttributePresenceFilter__"); sb.Append(_module.Assembly.GetName().Name); }
public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix); sb.Append($@"NewArraySignature: "); sb.Append(nameMangler.GetMangledTypeName(_arrayType)); }
public abstract void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb);
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { string prefix = _isUnboxingStub ? "__fatunboxpointer_" : "__fatpointer_"; sb.Append(prefix).Append(nameMangler.GetMangledMethodName(Method)); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append("__TypeThreadStaticIndex_") .Append(NodeFactory.NameMangler.GetMangledTypeName(_type)); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("_StaticsInfoHashtableNode"); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append("GCRefMap->"); sb.Append(_importSection.Name); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("__InterfaceDispatchMap_").Append(nameMangler.SanitizeName(nameMangler.GetMangledTypeName(_type))); }
public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("_InitialInterfaceDispatchStub"); }
public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix); sb.Append("__ReadyToRunInstrumentationDataTable"); }
private void AppendExternCPrefix(Utf8StringBuilder sb) { }
/// <summary> /// Add an ObjectData block to a given section. /// </summary> /// <param name="data">Block to add</param> /// <param name="sectionIndex">Section index</param> /// <param name="name">Node name to emit in the map file</param> /// <param name="mapFile">Optional map file to emit</param> public void AddObjectData(ObjectNode.ObjectData objectData, int sectionIndex, string name, TextWriter mapFile) { Section section = _sections[sectionIndex]; // Calculate alignment padding - apparently ObjectDataBuilder can produce an alignment of 0 int alignedOffset = section.Content.Count; if (objectData.Alignment > 1) { alignedOffset = (section.Content.Count + objectData.Alignment - 1) & -objectData.Alignment; int padding = alignedOffset - section.Content.Count; if (padding > 0) { if ((section.Characteristics & SectionCharacteristics.ContainsCode) != 0) { uint cp = _codePadding; while (padding >= sizeof(uint)) { section.Content.WriteUInt32(cp); padding -= sizeof(uint); } if (padding >= 2) { section.Content.WriteUInt16(unchecked ((ushort)cp)); cp >>= 16; } if ((padding & 1) != 0) { section.Content.WriteByte(unchecked ((byte)cp)); } } else { section.Content.WriteBytes(0, padding); } } } if (mapFile != null) { mapFile.WriteLine($@"S{sectionIndex}+0x{alignedOffset:X4}..{(alignedOffset + objectData.Data.Length):X4}: {objectData.Data.Length:X4} * {name}"); } section.Content.WriteBytes(objectData.Data); if (objectData.DefinedSymbols != null) { foreach (ISymbolDefinitionNode symbol in objectData.DefinedSymbols) { if (mapFile != null) { Utf8StringBuilder sb = new Utf8StringBuilder(); symbol.AppendMangledName(GetNameMangler(), sb); int sectionRelativeOffset = alignedOffset + symbol.Offset; mapFile.WriteLine($@" +0x{sectionRelativeOffset:X4}: {sb.ToString()}"); } _symbolMap.Add(symbol, new SymbolTarget( sectionIndex: sectionIndex, offset: alignedOffset + symbol.Offset, size: objectData.Data.Length)); } } if (objectData.Relocs != null && objectData.Relocs.Length != 0) { section.PlacedObjectDataToRelocate.Add(new PlacedObjectData(alignedOffset, objectData)); } }
public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix); sb.Append("__ReadyToRunInliningInfoTable__"); sb.Append(_module.Assembly.GetName().Name); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("__GenericTypesTemplateMap"); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(GetMangledName(nameMangler, _targetMethod)); }
public virtual void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append("__EEType_").Append(nameMangler.GetMangledTypeName(_type)); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("__type_to_metadata_map"); }
public virtual void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.NodeMangler.EEType(_type)); }
// Implementation of ISymbolNode that makes this node act as a symbol for the canonical body public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { CanonicalMethodNode.AppendMangledName(nameMangler, sb); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix); sb.Append($"__CorHeader_{_module.Assembly.GetName().Name}"); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("__interface_gvm_table"); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(nameMangler.CompilationUnitPrefix).Append("__method_to_entrypoint_map"); }
public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(MangledNamePrefix).Append(NodeFactory.NameMangler.GetMangledTypeName(_owningType)); }
public void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb) { sb.Append(GetName(null)); }