[lldb] Use std::make_shared where possible (NFC) (#150714)
This is a continuation of 68fd102, which did the same thing but only for
StopInfo. Using make_shared is both safer and more efficient:
- With make_shared, the object and the control block are allocated
together, which is more efficient.
- With make_shared, the enable_shared_from_this base class is properly
linked to the control block before the constructor finishes, so
shared_from_this() will be safe to use (though still not recommended
during construction).
This commit is contained in:
1 parent
67b519577e
commit
cf6a4bbc42
28 files changed
+137
-143
No files matched your search
@@ -1496,7 +1496,7 @@ lldb::ValueObjectListSP ScriptInterpreterPythonImpl::GetRecognizedArguments(
|
||||
}
|
||||
if (py_return.get()) {
|
||||
PythonList result_list(PyRefType::Borrowed, py_return.get());
|
||||
ValueObjectListSP result = ValueObjectListSP(new ValueObjectList());
|
||||
ValueObjectListSP result = std::make_shared<ValueObjectList>();
|
||||
for (size_t i = 0; i < result_list.GetSize(); i++) {
|
||||
PyObject *item = result_list.GetItemAtIndex(i).get();
|
||||
lldb::SBValue *sb_value_ptr =
|
||||
@@ -3047,7 +3047,7 @@ bool ScriptInterpreterPythonImpl::SetOptionValueForCommandObject(
|
||||
|
||||
lldb::ExecutionContextRefSP exe_ctx_ref_sp;
|
||||
if (exe_ctx)
|
||||
exe_ctx_ref_sp.reset(new ExecutionContextRef(exe_ctx));
|
||||
exe_ctx_ref_sp = std::make_shared<ExecutionContextRef>(exe_ctx);
|
||||
PythonObject ctx_ref_obj = SWIGBridge::ToSWIGWrapper(exe_ctx_ref_sp);
|
||||
|
||||
bool py_return = unwrapOrSetPythonException(As<bool>(
|
||||
|
||||
Reference in new issue
Block a user