@@ -1036,8 +1036,8 @@ namespace {
1036
1036
// If there isn't one there, optimistically create an entry and
1037
1037
// try to swap it in.
1038
1038
if (!existingEntry) {
1039
- auto allocatedEntry =
1040
- new SingletonMetadataCacheEntry ( std::forward<ArgTys>(args)...);
1039
+ auto allocatedEntry = swift_cxx_newObject<SingletonMetadataCacheEntry>(
1040
+ std::forward<ArgTys>(args)...);
1041
1041
if (cache.Private .compare_exchange_strong (existingEntry,
1042
1042
allocatedEntry,
1043
1043
std::memory_order_acq_rel,
@@ -3316,12 +3316,12 @@ initGenericObjCClass(ClassMetadata *self, size_t numFields,
3316
3316
if (!_globalIvarOffsets) {
3317
3317
if (numFields <= NumInlineGlobalIvarOffsets) {
3318
3318
_globalIvarOffsets = _inlineGlobalIvarOffsets;
3319
+ // Make sure all the entries start out null.
3320
+ memset (_globalIvarOffsets, 0 , sizeof (size_t *) * numFields);
3319
3321
} else {
3320
- _globalIvarOffsets = new size_t *[numFields];
3322
+ _globalIvarOffsets =
3323
+ static_cast <size_t **>(calloc (sizeof (size_t *), numFields));
3321
3324
}
3322
-
3323
- // Make sure all the entries start out null.
3324
- memset (_globalIvarOffsets, 0 , sizeof (size_t *) * numFields);
3325
3325
}
3326
3326
return _globalIvarOffsets;
3327
3327
};
@@ -3381,7 +3381,7 @@ initGenericObjCClass(ClassMetadata *self, size_t numFields,
3381
3381
3382
3382
// Free the out-of-line if we allocated one.
3383
3383
if (_globalIvarOffsets != _inlineGlobalIvarOffsets) {
3384
- delete [] _globalIvarOffsets;
3384
+ free ( _globalIvarOffsets) ;
3385
3385
}
3386
3386
}
3387
3387
0 commit comments