mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
src: enter and lock isolate properly in json parser
PR-URL: https://github.com/nodejs/node/pull/57823 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com>
This commit is contained in:
committed by
James M Snell
parent
62426a79ee
commit
d0ce668cac
@@ -18,6 +18,7 @@ bool JSONParser::Parse(const std::string& content) {
|
||||
DCHECK(!parsed_);
|
||||
|
||||
Isolate* isolate = isolate_.get();
|
||||
v8::Locker locker(isolate);
|
||||
v8::Isolate::Scope isolate_scope(isolate);
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
@@ -47,6 +48,7 @@ bool JSONParser::Parse(const std::string& content) {
|
||||
std::optional<std::string> JSONParser::GetTopLevelStringField(
|
||||
std::string_view field) {
|
||||
Isolate* isolate = isolate_.get();
|
||||
v8::Locker locker(isolate);
|
||||
v8::Isolate::Scope isolate_scope(isolate);
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
@@ -73,6 +75,7 @@ std::optional<std::string> JSONParser::GetTopLevelStringField(
|
||||
|
||||
std::optional<bool> JSONParser::GetTopLevelBoolField(std::string_view field) {
|
||||
Isolate* isolate = isolate_.get();
|
||||
v8::Locker locker(isolate);
|
||||
v8::Isolate::Scope isolate_scope(isolate);
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
@@ -105,6 +108,8 @@ std::optional<bool> JSONParser::GetTopLevelBoolField(std::string_view field) {
|
||||
std::optional<JSONParser::StringDict> JSONParser::GetTopLevelStringDict(
|
||||
std::string_view field) {
|
||||
Isolate* isolate = isolate_.get();
|
||||
v8::Locker locker(isolate);
|
||||
v8::Isolate::Scope isolate_scope(isolate);
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
Local<Context> context = context_.Get(isolate);
|
||||
Local<Object> content_object = content_.Get(isolate);
|
||||
|
||||
Reference in New Issue
Block a user