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 | |
| 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')
| -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();  }  | 

