Home | History | Annotate | Download | only in collect

Lines Matching refs:segment

525     // Spread bits to regularize both segment and index locations,
576 * code are used to choose the segment.
582 * end up in the same segment from also ending up in the same bucket.
589 final Segment[] segments;
628 this.segments[i] = new Segment(segmentSize);
671 Segment[] newSegmentArray(int ssize) {
673 // a segment array (the compile has a tough time with arrays of
677 return (Segment[]) Array.newInstance(Segment.class, ssize);
683 * Returns the segment that should be used for key with given hash
686 * @return the segment
688 Segment segmentFor(int hash) {
700 final class Segment extends ReentrantLock {
740 * The number of elements in this segment's region.
760 * The per-segment table.
764 Segment(int initialCapacity) {
1228 final Segment[] segments = this.segments;
1230 * We keep track of per-segment modCounts to avoid ABA
1231 * problems in which an element in one segment was added and
1269 final Segment[] segments = this.segments;
1298 for (Segment segment : segments) {
1299 segment.lock();
1301 for (Segment segment : segments) {
1302 sum += segment.count;
1304 for (Segment segment : segments) {
1305 segment.unlock();
1368 final Segment[] segments = this.segments;
1398 for (Segment segment : segments) {
1399 segment.lock();
1403 Segment segment : segments) {
1404 if (segment.containsValue(value)) {
1410 for (Segment segment : segments) {
1411 segment.unlock();
1543 for (Segment segment : segments) {
1544 segment.clear();
1647 Segment seg = segments[nextSegmentIndex--];
1958 this.segments[i] = new Segment(segmentSize);
2013 Segment segment = segmentFor(hash);
2015 E entry = segment.getEntry(key, hash);
2018 segment.lock();
2021 entry = segment.getEntry(key, hash);
2025 int count = segment.count;
2026 if (count++ > segment.threshold) { // ensure capacity
2027 segment.expand();
2029 AtomicReferenceArray<E> table = segment.table;
2032 ++segment.modCount;
2035 segment.count = count; // write-volatile
2038 segment.unlock();
2054 segment.removeEntry(entry, hash);
2068 segment.removeEntry(entry, hash);