public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder objData = new ObjectDataBuilder(factory); objData.RequirePointerAlignment(); objData.DefinedSymbols.Add(this); ObjectAndOffsetSymbolNode startNode = new ObjectAndOffsetSymbolNode(this, 0, "__modules_a"); ObjectAndOffsetSymbolNode endNode = new ObjectAndOffsetSymbolNode(this, 0, "__modules_z"); if (factory.Target.OperatingSystem != Internal.TypeSystem.TargetOS.Windows) { // Temporary work-around for Linux / OSX until CLI is updated objData.DefinedSymbols.Add(startNode); } objData.EmitPointerReloc(factory.ReadyToRunHeader); if (factory.Target.OperatingSystem != Internal.TypeSystem.TargetOS.Windows) { // Temporary work-around for Linux / OSX until CLI is updated endNode.SetSymbolOffset(objData.CountBytes); objData.DefinedSymbols.Add(endNode); objData.EmitZeroPointer(); } return objData.ToObjectData(); }
public ReflectionInvokeMapNode(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, "__method_to_entrypoint_map_End", true); _externalReferences = externalReferences; }
public MetadataNode() { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, ((ISymbolNode)this).MangledName + "End"); }
public ArrayMapNode(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, "__array_type_map_End", true); _externalReferences = externalReferences; }
public ClassConstructorContextMap(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, "__type_to_cctorContext_map_End", true); _externalReferences = externalReferences; }
public ReflectionFieldMapNode(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, this.GetMangledName() + "End"); _externalReferences = externalReferences; }
public TypeMetadataMapNode(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, ((ISymbolNode)this).MangledName + "End"); _externalReferences = externalReferences; }
public ReflectionFieldMapNode(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, "__field_to_offset_map_End", true); _externalReferences = externalReferences; }
public MetadataNode() { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, "__embedded_metadata_End", true); }
public EHInfoNode(string mangledName) { _name = mangledName + "___EHInfo"; _ehInfoBuilder = new ArrayBuilder <byte>(); _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, mangledName + "___EHInfo_End", true); }
public ArrayOfEmbeddedDataNode(string startSymbolMangledName, string endSymbolMangledName, IComparer<EmbeddedObjectNode> nodeSorter) { _startSymbol = new ObjectAndOffsetSymbolNode(this, 0, startSymbolMangledName); _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, endSymbolMangledName); _sorter = nodeSorter; }
public ClassConstructorContextMap(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, this.GetMangledName() + "End"); _externalReferences = externalReferences; }
public MetadataNode() { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, this.GetMangledName() + "End"); }
public TypeMetadataMapNode(ExternalReferencesTableNode externalReferences) { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, "__type_to_metadata_map_End", true); _externalReferences = externalReferences; }
public ExternalReferencesTableNode() { _endSymbol = new ObjectAndOffsetSymbolNode(this, 0, ((ISymbolNode)this).MangledName + "End"); }