summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/xray/xray_log_interface.cc
diff options
context:
space:
mode:
authorDean Michael Berris <dberris@google.com>2017-09-21 10:16:56 +0000
committerDean Michael Berris <dberris@google.com>2017-09-21 10:16:56 +0000
commitc14b5f210fdeca8dccf98287184304940cdb4c1e (patch)
tree1d34cf2abbf7f5677efde419c710fecaa9fb3957 /compiler-rt/lib/xray/xray_log_interface.cc
parent29202f6dc1ad06786480c9b0e716d6817ee6e2b1 (diff)
downloadbcm5719-llvm-c14b5f210fdeca8dccf98287184304940cdb4c1e.tar.gz
bcm5719-llvm-c14b5f210fdeca8dccf98287184304940cdb4c1e.zip
[XRay][compiler-rt] Remove non-trivial globals from xray_log_interface.cc
Summary: Remove dependency on std::unique_ptr<...> for the global representing the installed XRay implementation. Reviewers: dblaikie, kpw, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38121 llvm-svn: 313871
Diffstat (limited to 'compiler-rt/lib/xray/xray_log_interface.cc')
-rw-r--r--compiler-rt/lib/xray/xray_log_interface.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler-rt/lib/xray/xray_log_interface.cc b/compiler-rt/lib/xray/xray_log_interface.cc
index ee14ae4b1b6..5cc6ade0f8a 100644
--- a/compiler-rt/lib/xray/xray_log_interface.cc
+++ b/compiler-rt/lib/xray/xray_log_interface.cc
@@ -17,30 +17,30 @@
#include "xray/xray_interface.h"
#include "xray_defs.h"
-#include <memory>
-
__sanitizer::SpinMutex XRayImplMutex;
-std::unique_ptr<XRayLogImpl> GlobalXRayImpl;
+XRayLogImpl *GlobalXRayImpl = nullptr;
void __xray_set_log_impl(XRayLogImpl Impl) XRAY_NEVER_INSTRUMENT {
if (Impl.log_init == nullptr || Impl.log_finalize == nullptr ||
Impl.handle_arg0 == nullptr || Impl.flush_log == nullptr) {
__sanitizer::SpinMutexLock Guard(&XRayImplMutex);
- GlobalXRayImpl.reset();
+ delete GlobalXRayImpl;
+ GlobalXRayImpl = nullptr;
__xray_remove_handler();
__xray_remove_handler_arg1();
return;
}
__sanitizer::SpinMutexLock Guard(&XRayImplMutex);
- GlobalXRayImpl.reset(new XRayLogImpl);
+ GlobalXRayImpl = new XRayLogImpl();
*GlobalXRayImpl = Impl;
__xray_set_handler(Impl.handle_arg0);
}
void __xray_remove_log_impl() XRAY_NEVER_INSTRUMENT {
__sanitizer::SpinMutexLock Guard(&XRayImplMutex);
- GlobalXRayImpl.reset();
+ delete GlobalXRayImpl;
+ GlobalXRayImpl = nullptr;
__xray_remove_handler();
__xray_remove_handler_arg1();
}
OpenPOWER on IntegriCloud