summaryrefslogtreecommitdiff
path: root/src/node_internals.h
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2019-03-23 07:39:52 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2019-04-06 12:01:45 +0800
commit864860e9f3d4eed0b0b81af55197d7e525ea6306 (patch)
treeed0c9cbc1cea99323cd4fa4c5385a11b262be8ee /src/node_internals.h
parentbaa54a5ae78ff04a3e8d8ac97c052304a6f6c18c (diff)
downloadnode-new-864860e9f3d4eed0b0b81af55197d7e525ea6306.tar.gz
src: port coverage serialization to C++
This patch moves the serialization of coverage profiles into C++. With this we no longer need to patch `process.reallyExit` and hook into the exit events, but instead hook into relevant places in C++ which are safe from user manipulation. This also makes the code easier to reuse for other types of profiles. PR-URL: https://github.com/nodejs/node/pull/26874 Reviewed-By: Ben Coe <bencoe@gmail.com>
Diffstat (limited to 'src/node_internals.h')
-rw-r--r--src/node_internals.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/node_internals.h b/src/node_internals.h
index e299d87730..7452dc05e9 100644
--- a/src/node_internals.h
+++ b/src/node_internals.h
@@ -308,15 +308,26 @@ v8::MaybeLocal<v8::Value> ExecuteBootstrapper(
std::vector<v8::Local<v8::String>>* parameters,
std::vector<v8::Local<v8::Value>>* arguments);
void MarkBootstrapComplete(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+#if HAVE_INSPECTOR
namespace profiler {
void StartCoverageCollection(Environment* env);
+void EndStartedProfilers(Environment* env);
}
+#endif // HAVE_INSPECTOR
+
#ifdef _WIN32
typedef SYSTEMTIME TIME_TYPE;
#else // UNIX, OSX
typedef struct tm TIME_TYPE;
#endif
+double GetCurrentTimeInMicroseconds();
+int WriteFileSync(const char* path, uv_buf_t buf);
+int WriteFileSync(v8::Isolate* isolate,
+ const char* path,
+ v8::Local<v8::String> string);
+
class DiagnosticFilename {
public:
static void LocalTime(TIME_TYPE* tm_struct);