summaryrefslogtreecommitdiff
path: root/lib/asan/asan_thread.h
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2012-07-17 07:20:13 +0000
committerKostya Serebryany <kcc@google.com>2012-07-17 07:20:13 +0000
commitb134ffa00ce2a4cbf7f48ac029e31c3e6e23ff6b (patch)
tree9c98975bf5c1e4d968f099357fb5c9c3560af035 /lib/asan/asan_thread.h
parentbca62bd769f7d736c0e1953c5682d176cd1090a4 (diff)
downloadcompiler-rt-b134ffa00ce2a4cbf7f48ac029e31c3e6e23ff6b.tar.gz
compiler-rt-b134ffa00ce2a4cbf7f48ac029e31c3e6e23ff6b.tar.bz2
compiler-rt-b134ffa00ce2a4cbf7f48ac029e31c3e6e23ff6b.tar.xz
[asan] get rid of the last operator new call in asan rtl
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@160347 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/asan_thread.h')
-rw-r--r--lib/asan/asan_thread.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/asan/asan_thread.h b/lib/asan/asan_thread.h
index 4d356cc7..9a032fe3 100644
--- a/lib/asan/asan_thread.h
+++ b/lib/asan/asan_thread.h
@@ -18,6 +18,7 @@
#include "asan_internal.h"
#include "asan_stack.h"
#include "asan_stats.h"
+#include "sanitizer_common/sanitizer_libc.h"
namespace __asan {
@@ -30,12 +31,12 @@ class AsanThread;
class AsanThreadSummary {
public:
explicit AsanThreadSummary(LinkerInitialized) { } // for T0.
- AsanThreadSummary(u32 parent_tid, AsanStackTrace *stack)
- : parent_tid_(parent_tid),
- announced_(false) {
+ void Init(u32 parent_tid, AsanStackTrace *stack) {
+ parent_tid_ = parent_tid;
+ announced_ = false;
tid_ = kInvalidTid;
if (stack) {
- stack_ = *stack;
+ internal_memcpy(&stack_, stack, sizeof(*stack));
}
thread_ = 0;
}