mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
2e01df50e9
This reverts commit 7424295ce9
.
Reason for revert: Causes VM crash in internal tests - b/271081079
Original change's description:
> [VM] Begin supporting Perfetto file recorder
>
> This CL adds the `TimelineEventPerfettoFileRecorder` class, which is a
> timeline recorder that writes a trace to file in Perfetto's proto
> format. This CL supports the recording of all types of timeline events
> except flow events. Support for flow events will be added in a future
> CL.
>
> TEST=Recorded traces with the Perfetto file recorder and explored them
> in Perfetto's trace viewer, CI
>
> Change-Id: Iaa2051e536589a473c5e15f9de9bb9c251f13d38
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278942
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Derek Xu <derekx@google.com>
Change-Id: I1c4b0b78be3748b525b82ea66079dd95d412d82e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285906
Auto-Submit: Oleh Prypin <oprypin@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
29 lines
1.2 KiB
C
29 lines
1.2 KiB
C
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#ifndef RUNTIME_PLATFORM_ADDRESS_SANITIZER_H_
|
|
#define RUNTIME_PLATFORM_ADDRESS_SANITIZER_H_
|
|
|
|
#include "platform/globals.h"
|
|
|
|
// Allow the use of ASan (AddressSanitizer). This is needed as ASan needs to be
|
|
// told about areas where the VM does the equivalent of a long-jump.
|
|
#if defined(__has_feature)
|
|
#if __has_feature(address_sanitizer)
|
|
#define USING_ADDRESS_SANITIZER
|
|
#endif
|
|
#endif
|
|
|
|
#if defined(USING_ADDRESS_SANITIZER)
|
|
extern "C" void __asan_unpoison_memory_region(void*, size_t);
|
|
#define NO_SANITIZE_ADDRESS __attribute__((no_sanitize("address")))
|
|
#define ASAN_UNPOISON(ptr, len) __asan_unpoison_memory_region(ptr, len)
|
|
#else // defined(USING_ADDRESS_SANITIZER)
|
|
#define NO_SANITIZE_ADDRESS
|
|
#define ASAN_UNPOISON(ptr, len) \
|
|
do { \
|
|
} while (false && (ptr) == 0 && (len) == 0)
|
|
#endif // defined(USING_ADDRESS_SANITIZER)
|
|
|
|
#endif // RUNTIME_PLATFORM_ADDRESS_SANITIZER_H_
|