12345678910111213141516171819202122232425262728293031323334 |
- /*
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- #ifndef HERMES_PUBLIC_GCTRIPWIRECONTEXT_H
- #define HERMES_PUBLIC_GCTRIPWIRECONTEXT_H
- #include <string>
- #include <system_error>
- namespace hermes {
- namespace vm {
- /// Interface passed to the GC tripwire callback when it fires.
- class GCTripwireContext {
- public:
- virtual ~GCTripwireContext() = default;
- /// Captures the heap to a file
- ///
- /// \param path to save the heap capture
- ///
- /// \return Empty error code if the heap capture succeeded, else a real error
- /// code.
- virtual std::error_code createSnapshotToFile(const std::string &path) = 0;
- };
- } // namespace vm
- } // namespace hermes
- #endif // HERMES_PUBLIC_GCTRIPWIRECONTEXT_H
|