Lines Matching refs:table
26 // | Thread names table |
28 // | Thread TID table |
30 // | Thread PID table |
32 // | Counter names table |
49 // the rows and columns of the table to particular threads, locking is
53 // shared-memory table only, and is used when we create new counters (e.g.
55 // data from the table does not require any locking at the shared memory
58 // Each process which accesses the table will create a StatsTable object.
59 // The StatsTable maintains a hash table of the existing counters in the
60 // table for faster lookup. Since the hash table is process specific,
62 // de-allocating from the hash table. (Counters are dynamically added,
72 // file, and so that we can identify our table.
75 // The name for un-named counters and threads in the table.
89 // thread exits and return the table slot.
94 StatsTable* table;
150 // Initializes the table on first access. Sets header values
181 // If the version does not match, then assume the table needs
186 // We have a valid table, so compute our pointers.
243 // We keep a singleton table which can be easily accessed.
265 // Before we tear down our copy of the table, be sure to
276 // If we are the global table, unregister ourselves.
296 // We have space, so consume a column in the table.
308 data->table = this;
321 DCHECK_EQ(data->table, this);
349 DCHECK(tls_data->table);
350 tls_data->table->UnregisterThread(tls_data);
359 // We intentionally do not lock the table during the operation.
395 return 0; // The table is full.
535 StatsTable *table = StatsTable::current();
536 if (!table)
541 int slot = table->GetSlot();
542 if (!slot && !(slot = table->RegisterThread("")))
547 int counter = table->FindCounter(str_name);
549 // Now we can find the location in the table.
550 return table->GetLocation(counter, slot);