public override void EncodeData(ref ObjectDataBuilder builder, NodeFactory factory, bool relocsOnly) { builder.RequirePointerAlignment(); // At runtime, an instance of the GCStaticEEType will be created and a GCHandle to it // will be written in this location. builder.EmitPointerReloc(GetGCStaticEETypeNode(factory)); }
public override void EncodeData(ref ObjectDataBuilder builder, NodeFactory factory, bool relocsOnly) { builder.RequirePointerAlignment(); // At runtime, an instance of the GCStaticEEType will be created and a GCHandle to it // will be written in this location. builder.EmitPointerReloc(GetGCStaticEETypeNode(factory)); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder objData = new ObjectDataBuilder(factory); objData.DefinedSymbols.Add(this); objData.RequirePointerAlignment(); objData.EmitZeroPointer(); return objData.ToObjectData(); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder objData = new ObjectDataBuilder(factory); objData.DefinedSymbols.Add(this); objData.RequirePointerAlignment(); objData.EmitZeroPointer(); return(objData.ToObjectData()); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { var builder = new ObjectDataBuilder(factory); builder.RequirePointerAlignment(); builder.DefinedSymbols.Add(this); builder.EmitPointerReloc(_indirectedNode); return builder.ToObjectData(); }
public override void EncodeData(ref ObjectDataBuilder dataBuilder, NodeFactory factory, bool relocsOnly) { dataBuilder.RequirePointerAlignment(); StringDataNode stringDataNode = factory.StringData(_data); if (!relocsOnly) stringDataNode.SetId(base.Offset); dataBuilder.EmitPointerReloc(stringDataNode); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder builder = new ObjectDataBuilder(factory); builder.RequirePointerAlignment(); builder.EmitPointerReloc(GetGCStaticEETypeNode(factory), 1); builder.DefinedSymbols.Add(this); return builder.ToObjectData(); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder builder = new ObjectDataBuilder(factory); builder.RequirePointerAlignment(); builder.EmitPointerReloc(GetGCStaticEETypeNode(factory), 1); builder.DefinedSymbols.Add(this); return(builder.ToObjectData()); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { var builder = new ObjectDataBuilder(factory); builder.RequirePointerAlignment(); builder.DefinedSymbols.Add(this); builder.EmitPointerReloc(_indirectedNode); return(builder.ToObjectData()); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder objData = new ObjectDataBuilder(factory); objData.RequirePointerAlignment(); objData.DefinedSymbols.Add(this); if (!relocsOnly) { objData.EmitBytes(_owner.GetOptionalFieldsData()); } return objData.ToObjectData(); }
public override void EncodeData(ref ObjectDataBuilder dataBuilder, NodeFactory factory, bool relocsOnly) { dataBuilder.RequirePointerAlignment(); StringDataNode stringDataNode = factory.StringData(_data); if (!relocsOnly) { stringDataNode.SetId(base.Offset); } dataBuilder.EmitPointerReloc(stringDataNode); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder objData = new ObjectDataBuilder(factory); objData.RequirePointerAlignment(); objData.DefinedSymbols.Add(this); if (!relocsOnly) { objData.EmitBytes(_owner.GetOptionalFieldsData()); } return(objData.ToObjectData()); }
public sealed override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder builder = new ObjectDataBuilder(factory); builder.DefinedSymbols.Add(this); builder.RequirePointerAlignment(); // Node representing the generic dictionary doesn't have any dependencies for // dependency analysis purposes. The dependencies are tracked as dependencies of the // concrete method bodies. When we reach the object data emission phase, the dependencies // should all already have been marked. if (!relocsOnly) { EmitDataInternal(ref builder, factory); } return builder.ToObjectData(); }
public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { bool hasVariance = false; foreach (var argVariance in _details.Variance) { if (argVariance != 0) { hasVariance = true; break; } } var builder = new ObjectDataBuilder(factory); builder.DefinedSymbols.Add(this); builder.RequirePointerAlignment(); builder.EmitShort((short)checked ((UInt16)_details.Instantiation.Length)); builder.EmitByte((byte)(hasVariance ? 1 : 0)); // TODO: general purpose padding builder.EmitByte(0); if (factory.Target.PointerSize == 8) { builder.EmitInt(0); } foreach (var typeArg in _details.Instantiation) { builder.EmitPointerReloc(factory.NecessaryTypeSymbol(typeArg)); } if (hasVariance) { foreach (var argVariance in _details.Variance) { builder.EmitByte(checked ((byte)argVariance)); } } return(builder.ToObjectData()); }
public sealed override ObjectData GetData(NodeFactory factory, bool relocsOnly = false) { ObjectDataBuilder builder = new ObjectDataBuilder(factory); builder.DefinedSymbols.Add(this); builder.RequirePointerAlignment(); // Node representing the generic dictionary doesn't have any dependencies for // dependency analysis purposes. The dependencies are tracked as dependencies of the // concrete method bodies. When we reach the object data emission phase, the dependencies // should all already have been marked. if (!relocsOnly) { EmitDataInternal(ref builder, factory); } return(builder.ToObjectData()); }
public override void EncodeData(ref ObjectDataBuilder builder, NodeFactory factory, bool relocsOnly) { builder.RequirePointerAlignment(); builder.EmitPointerReloc(GetGCStaticEETypeNode(factory)); }
public override void EncodeData(ref ObjectDataBuilder dataBuilder, NodeFactory factory, bool relocsOnly) { dataBuilder.RequirePointerAlignment(); dataBuilder.EmitPointerReloc(Target); }
public override void EncodeData(ref ObjectDataBuilder builder, NodeFactory factory, bool relocsOnly) { builder.RequirePointerAlignment(); builder.EmitPointerReloc(GetGCStaticEETypeNode(factory)); }