Lines Matching refs:table

45 // Maintain a table of indirect references.  Used for local/global JNI references.
47 // The table contains object references, where the strong (local/global) references are part of the
54 // operate on segments of the table, where segments are pushed and popped as if on a stack. For
57 // table must be made in the current segment even if space is available in an earlier area.
62 // The GC must be able to scan the entire table quickly.
71 // - scanning the entire table straight through
73 // If there's more than one segment, we don't guarantee that the table will fill completely before
82 // We need a (potentially) large table index and a 2-bit reference type (global, local, weak
84 // serial number in the extra bits, and keep a copy of the serial number in the table. This requires
94 kHandleScopeOrInvalid = 0, // <<stack indirect reference table or invalid reference>>
105 // For the global reference table, the expected common operations are adding a new entry and
107 // references, the common operations are adding a new entry and removing an entire table segment.
124 // table. To avoid code in generated JNI transitions, which implicitly form segments, the code for
129 // Instead of getting a table and doing a lookup, the lookup can be done instantly. Operations like
130 // determining the type and deleting the reference are more expensive because the table must be
131 // hunted for (i.e. you have to do a pointer comparison to see which table it's in), you can't move
132 // the table when expanding it (so realloc() is out), and tricks like serial number checking to
149 // Use as initial value for "cookie", and when table has only one segment.
187 IrtIterator(IrtEntry* table, size_t i, size_t capacity) REQUIRES_SHARED(Locks::mutator_lock_)
188 : table_(table), i_(i), capacity_(capacity) {
248 // abort if the table is full (max entries reached, or expansion failed).
252 // Given an IndirectRef in the table, return the Object it refers to.
282 // Return the #of entries in the entire table. This includes holes, and
313 // Release pages past the end of the table that may have previously held references.
360 // Extract the table index from an indirect reference.
371 // Resize the backing table. Currently must be larger than the current size.
403 // Whether the table's capacity may be resized. As there are no locks used, it is the caller's