public override void VisitClassLayoutTable(ClassLayoutTable table) { int number = m_rows [ClassLayoutTable.RId]; table.Rows = new RowCollection(number); for (int i = 0; i < number; i++) { table.Rows.Add(new ClassLayoutRow()); } }
public ClassLayoutTable GetClassLayoutTable() { ClassLayoutTable table = m_heap [ClassLayoutTable.RId] as ClassLayoutTable; if (table != null) { return(table); } table = new ClassLayoutTable(); InitializeTable(table); return(table); }
public ClassLayoutTable GetClassLayoutTable() { int rid = ClassLayoutTable.RId; if (m_heap.HasTable(rid)) { return(m_heap [rid] as ClassLayoutTable); } ClassLayoutTable table = new ClassLayoutTable(); table.Rows = new RowCollection(); m_heap.Valid |= 1L << rid; m_heap.Tables.Add(table); return(table); }
public ClassLayoutTable GetClassLayoutTable () { ClassLayoutTable table = m_heap [ClassLayoutTable.RId] as ClassLayoutTable; if (table != null) return table; table = new ClassLayoutTable (); InitializeTable (table); return table; }
public override void VisitClassLayoutTable(ClassLayoutTable table) { int number = m_rows [ClassLayoutTable.RId]; table.Rows = new RowCollection (number); for (int i = 0; i < number; i++) table.Rows.Add (new ClassLayoutRow ()); }
public ClassLayoutTable GetClassLayoutTable() { int rid = ClassLayoutTable.RId; if (m_heap.HasTable (rid)) return m_heap [rid] as ClassLayoutTable; ClassLayoutTable table = new ClassLayoutTable (); table.Rows = new RowCollection (); m_heap.Valid |= 1L << rid; m_heap.Tables.Add (table); return table; }
void EncodeClassLayoutTable (ClassLayoutTable table) { int index = 0; Console.WriteLine ("encoding class table for {0}", moduleName); foreach (ClassLayoutRow row in table.Rows) { this.asm.ALIGN (Assembly.OBJECT_ALIGNMENT); this.asm.LABEL (moduleName + " ClassLayoutRow#" + index); this.asm.AddObjectFields (typeof (SharpOS.AOT.Metadata.ClassLayoutRow).ToString ()); this.asm.DATA (row.PackingSize); this.asm.DATA (row.ClassSize); this.asm.DATA (row.Parent); ++index; } this.MetadataArray ("ClassLayout", table); }