diff options
| author | Dean Michael Berris <dberris@google.com> | 2017-09-21 10:16:56 +0000 |
|---|---|---|
| committer | Dean Michael Berris <dberris@google.com> | 2017-09-21 10:16:56 +0000 |
| commit | c14b5f210fdeca8dccf98287184304940cdb4c1e (patch) | |
| tree | 1d34cf2abbf7f5677efde419c710fecaa9fb3957 /compiler-rt/lib/xray/xray_log_interface.cc | |
| parent | 29202f6dc1ad06786480c9b0e716d6817ee6e2b1 (diff) | |
| download | bcm5719-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.cc | 12 |
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(); } |

