src: replace heap_utils.createHeapSnapshot with v8.getHeapSnapshot · nodejs/node@d075814 · GitHub
Skip to content

Commit d075814

Browse files
joyeecheungtargos
authored andcommitted
src: replace heap_utils.createHeapSnapshot with v8.getHeapSnapshot
Remove the internal testing utility and use the public API instead. PR-URL: #26671 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
1 parent 31995e4 commit d075814

4 files changed

Lines changed: 77 additions & 141 deletions

File tree

lib/internal/test/heap.js

Lines changed: 0 additions & 89 deletions
This file was deleted.

node.gyp

Lines changed: 0 additions & 1 deletion

src/heap_utils.cc

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -200,40 +200,6 @@ void BuildEmbedderGraph(const FunctionCallbackInfo<Value>& args) {
200200
args.GetReturnValue().Set(ret);
201201
}
202202

203-
204-
class BufferOutputStream : public v8::OutputStream {
205-
public:
206-
BufferOutputStream() : buffer_(new JSString()) {}
207-
208-
void EndOfStream() override {}
209-
int GetChunkSize() override { return 1024 * 1024; }
210-
WriteResult WriteAsciiChunk(char* data, int size) override {
211-
buffer_->Append(data, size);
212-
return kContinue;
213-
}
214-
215-
Local<String> ToString(Isolate* isolate) {
216-
return String::NewExternalOneByte(isolate,
217-
buffer_.release()).ToLocalChecked();
218-
}
219-
220-
private:
221-
class JSString : public String::ExternalOneByteStringResource {
222-
public:
223-
void Append(char* data, size_t count) {
224-
store_.append(data, count);
225-
}
226-
227-
const char* data() const override { return store_.data(); }
228-
size_t length() const override { return store_.size(); }
229-
230-
private:
231-
std::string store_;
232-
};
233-
234-
std::unique_ptr<JSString> buffer_;
235-
};
236-
237203
namespace {
238204
class FileOutputStream : public v8::OutputStream {
239205
public:
@@ -370,17 +336,6 @@ inline bool WriteSnapshot(Isolate* isolate, const char* filename) {
370336

371337
} // namespace
372338

373-
void CreateHeapSnapshot(const FunctionCallbackInfo<Value>& args) {
374-
Isolate* isolate = args.GetIsolate();
375-
BufferOutputStream out;
376-
TakeSnapshot(isolate, &out);
377-
Local<Value> ret;
378-
if (JSON::Parse(isolate->GetCurrentContext(),
379-
out.ToString(isolate)).ToLocal(&ret)) {
380-
args.GetReturnValue().Set(ret);
381-
}
382-
}
383-
384339
void CreateHeapSnapshotStream(const FunctionCallbackInfo<Value>& args) {
385340
Environment* env = Environment::GetCurrent(args);
386341
HandleScope scope(env->isolate());
@@ -430,9 +385,6 @@ void Initialize(Local<Object> target,
430385
env->SetMethodNoSideEffect(target,
431386
"buildEmbedderGraph",
432387
BuildEmbedderGraph);
433-
env->SetMethodNoSideEffect(target,
434-
"createHeapSnapshot",
435-
CreateHeapSnapshot);
436388
env->SetMethodNoSideEffect(target,
437389
"triggerHeapSnapshot",
438390
TriggerHeapSnapshot);

test/common/heap.js

Lines changed: 77 additions & 3 deletions

0 commit comments

Comments
 (0)