Overview
| Comment: | OFMapTable: Improve enumeration mutation detection |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
ab14af79d2501fad9891a484fbebd32f |
| User & Date: | js on 2024-02-18 13:53:09 |
| Other Links: | manifest | tags |
Context
|
2024-02-18
| ||
| 14:09 | Update ChangeLog for 1.0.9 (check-in: d080eb08fb user: js tags: trunk) | |
| 13:53 | Merge trunk into branch "objfwtest" (check-in: 89869c188f user: js tags: objfwtest) | |
| 13:53 | OFMapTable: Improve enumeration mutation detection (check-in: 2b0bdf3efc user: js tags: 1.0) | |
| 13:53 | OFMapTable: Improve enumeration mutation detection (check-in: ab14af79d2 user: js tags: trunk) | |
|
2024-02-13
| ||
| 22:40 | Make sure objects are correctly aligned on Windows (check-in: 2547c1c4ce user: js tags: trunk) | |
Changes
Modified src/OFMapTable.m from [3e827255d3] to [77fd4c4f10].
| ︙ | |||
468 469 470 471 472 473 474 | 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 | - - + |
for (i = rotatedHash & (_capacity - 1);
i < last && _buckets[i] != NULL; i++) {
if (_buckets[i] == &deletedBucket)
continue;
if (_keyFunctions.equal(_buckets[i]->key, key)) {
|
| ︙ | |||
614 615 616 617 618 619 620 621 622 623 | 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 | + + + - - - |
#ifdef OF_HAVE_BLOCKS
- (void)enumerateKeysAndObjectsUsingBlock: (OFMapTableEnumerationBlock)block
{
bool stop = false;
unsigned long mutations = _mutations;
for (size_t i = 0; i < _capacity && !stop; i++) {
if (_buckets[i] != NULL && _buckets[i] != &deletedBucket)
block(_buckets[i]->key, _buckets[i]->object, &stop);
if (_mutations != mutations)
@throw [OFEnumerationMutationException
exceptionWithObject: self];
|
| ︙ |