equal
deleted
inserted
replaced
63 ZForwardingTableCursor dummy; |
63 ZForwardingTableCursor dummy; |
64 return find(from_index, &dummy); |
64 return find(from_index, &dummy); |
65 } |
65 } |
66 |
66 |
67 inline ZForwardingTableEntry ZForwardingTable::find(uintptr_t from_index, ZForwardingTableCursor* cursor) const { |
67 inline ZForwardingTableEntry ZForwardingTable::find(uintptr_t from_index, ZForwardingTableCursor* cursor) const { |
68 // Reading entries in the table races with the atomic cas done for |
68 // Reading entries in the table races with the atomic CAS done for |
69 // insertion into the table. This is safe because each entry is at |
69 // insertion into the table. This is safe because each entry is at |
70 // most updated once (from -1 to something else). |
70 // most updated once (from -1 to something else). |
71 ZForwardingTableEntry entry = first(from_index, cursor); |
71 ZForwardingTableEntry entry = first(from_index, cursor); |
72 while (!entry.is_empty()) { |
72 while (!entry.is_empty()) { |
73 if (entry.from_index() == from_index) { |
73 if (entry.from_index() == from_index) { |