Skip to content

Commit 1dfd1ed

Browse files
authored
Merge pull request #64327 from mikeash/fewer-news
[Runtime] Remove a few uses of operator new/delete.
2 parents 108a6a5 + 69d0905 commit 1dfd1ed

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

stdlib/public/runtime/Metadata.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,8 +1036,8 @@ namespace {
10361036
// If there isn't one there, optimistically create an entry and
10371037
// try to swap it in.
10381038
if (!existingEntry) {
1039-
auto allocatedEntry =
1040-
new SingletonMetadataCacheEntry(std::forward<ArgTys>(args)...);
1039+
auto allocatedEntry = swift_cxx_newObject<SingletonMetadataCacheEntry>(
1040+
std::forward<ArgTys>(args)...);
10411041
if (cache.Private.compare_exchange_strong(existingEntry,
10421042
allocatedEntry,
10431043
std::memory_order_acq_rel,
@@ -3316,12 +3316,12 @@ initGenericObjCClass(ClassMetadata *self, size_t numFields,
33163316
if (!_globalIvarOffsets) {
33173317
if (numFields <= NumInlineGlobalIvarOffsets) {
33183318
_globalIvarOffsets = _inlineGlobalIvarOffsets;
3319+
// Make sure all the entries start out null.
3320+
memset(_globalIvarOffsets, 0, sizeof(size_t *) * numFields);
33193321
} else {
3320-
_globalIvarOffsets = new size_t*[numFields];
3322+
_globalIvarOffsets =
3323+
static_cast<size_t **>(calloc(sizeof(size_t *), numFields));
33213324
}
3322-
3323-
// Make sure all the entries start out null.
3324-
memset(_globalIvarOffsets, 0, sizeof(size_t*) * numFields);
33253325
}
33263326
return _globalIvarOffsets;
33273327
};
@@ -3381,7 +3381,7 @@ initGenericObjCClass(ClassMetadata *self, size_t numFields,
33813381

33823382
// Free the out-of-line if we allocated one.
33833383
if (_globalIvarOffsets != _inlineGlobalIvarOffsets) {
3384-
delete [] _globalIvarOffsets;
3384+
free(_globalIvarOffsets);
33853385
}
33863386
}
33873387

stdlib/public/runtime/SwiftTLSContext.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ SwiftTLSContext &SwiftTLSContext::get() {
3030

3131
static swift::once_t token;
3232
swift::tls_init_once(token, swift::tls_key::runtime, [](void *pointer) {
33-
delete static_cast<SwiftTLSContext *>(pointer);
33+
swift_cxx_deleteObject(static_cast<SwiftTLSContext *>(pointer));
3434
});
3535

36-
ctx = new SwiftTLSContext();
36+
ctx = swift_cxx_newObject<SwiftTLSContext>();
3737
swift::tls_set(swift::tls_key::runtime, ctx);
3838
return *ctx;
3939

@@ -51,15 +51,15 @@ SwiftTLSContext &SwiftTLSContext::get() {
5151
static swift::once_t token;
5252

5353
swift::tls_alloc_once(token, runtimeKey, [](void *pointer) {
54-
delete static_cast<SwiftTLSContext *>(pointer);
54+
swift_cxx_deleteObject(static_cast<SwiftTLSContext *>(pointer));
5555
});
5656

5757
SwiftTLSContext *ctx =
5858
static_cast<SwiftTLSContext *>(swift::tls_get(runtimeKey));
5959
if (ctx)
6060
return *ctx;
6161

62-
ctx = new SwiftTLSContext();
62+
ctx = swift_cxx_newObject<SwiftTLSContext>();
6363
swift::tls_set(runtimeKey, ctx);
6464
return *ctx;
6565

0 commit comments

Comments
 (0)