public override void VisitMethodTable(MethodTable table) { int number = m_rows [MethodTable.RId]; table.Rows = new RowCollection(number); for (int i = 0; i < number; i++) { table.Rows.Add(new MethodRow()); } }
public MethodTable GetMethodTable() { MethodTable table = m_heap [MethodTable.RId] as MethodTable; if (table != null) { return(table); } table = new MethodTable(); InitializeTable(table); return(table); }
public MethodTable GetMethodTable() { int rid = MethodTable.RId; if (m_heap.HasTable(rid)) { return(m_heap [rid] as MethodTable); } MethodTable table = new MethodTable(); table.Rows = new RowCollection(); m_heap.Valid |= 1L << rid; m_heap.Tables.Add(table); return(table); }
public MethodTable GetMethodTable () { MethodTable table = m_heap [MethodTable.RId] as MethodTable; if (table != null) return table; table = new MethodTable (); InitializeTable (table); return table; }
public override void VisitMethodTable(MethodTable table) { int number = m_rows [MethodTable.RId]; table.Rows = new RowCollection (number); for (int i = 0; i < number; i++) table.Rows.Add (new MethodRow ()); }
public MethodTable GetMethodTable() { int rid = MethodTable.RId; if (m_heap.HasTable (rid)) return m_heap [rid] as MethodTable; MethodTable table = new MethodTable (); table.Rows = new RowCollection (); m_heap.Valid |= 1L << rid; m_heap.Tables.Add (table); return table; }
void EncodeMethodTable (MethodTable table) { int index = 0; foreach (MethodRow row in table.Rows) { this.asm.ALIGN (Assembly.OBJECT_ALIGNMENT); this.asm.LABEL (moduleName + " MethodRow#" + index); this.asm.AddObjectFields (typeof (SharpOS.AOT.Metadata.MethodRow).ToString ()); this.asm.DATA (row.RVA.Value); this.asm.DATA ((uint) row.ImplFlags); this.asm.DATA ((uint) row.Flags); this.asm.DATA (row.Name); this.asm.DATA (row.Signature); this.asm.DATA (row.ParamList); ++index; } this.MetadataArray ("Method", table); }