mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Back out "Implement Runtime.getHeapUsage for hermes chrome inspector"
Summary: The new messages are breaking SparkAR VSCode debugger Original commit changeset: 49d863e6a58d Original Phabricator Diff: D33616658 (https://github.com/facebook/react-native/commit/3568a7298738a651d76c70763362c297ab601ee8) Changelog: [Internal] Reviewed By: the-over-ape Differential Revision: D34003669 fbshipit-source-id: 5327820cda60d5f58521da56e2e1f5d824bf861d
This commit is contained in:
committed by
Facebook GitHub Bot
parent
1b44e5c040
commit
2bc883e6b7
@@ -103,7 +103,6 @@ class Connection::Impl : public inspector::InspectorObserver,
|
||||
void handle(const m::heapProfiler::GetHeapObjectIdRequest &req) override;
|
||||
void handle(const m::runtime::CallFunctionOnRequest &req) override;
|
||||
void handle(const m::runtime::EvaluateRequest &req) override;
|
||||
void handle(const m::runtime::GetHeapUsageRequest &req) override;
|
||||
void handle(const m::runtime::GetPropertiesRequest &req) override;
|
||||
void handle(const m::runtime::RunIfWaitingForDebuggerRequest &req) override;
|
||||
|
||||
@@ -1349,23 +1348,6 @@ Connection::Impl::makePropsFromValue(
|
||||
return result;
|
||||
}
|
||||
|
||||
void Connection::Impl::handle(const m::runtime::GetHeapUsageRequest &req) {
|
||||
auto resp = std::make_shared<m::runtime::GetHeapUsageResponse>();
|
||||
resp->id = req.id;
|
||||
|
||||
inspector_
|
||||
->executeIfEnabled(
|
||||
"Runtime.getHeapUsage",
|
||||
[this, req, resp](const debugger::ProgramState &state) {
|
||||
auto heapInfo = getRuntime().instrumentation().getHeapInfo(false);
|
||||
resp->usedSize = heapInfo["hermes_allocatedBytes"];
|
||||
resp->totalSize = heapInfo["hermes_heapSize"];
|
||||
})
|
||||
.via(executor_.get())
|
||||
.thenValue([this, resp](auto &&) { sendResponseToClient(*resp); })
|
||||
.thenError<std::exception>(sendErrorToClient(req.id));
|
||||
}
|
||||
|
||||
void Connection::Impl::handle(const m::runtime::GetPropertiesRequest &req) {
|
||||
auto resp = std::make_shared<m::runtime::GetPropertiesResponse>();
|
||||
resp->id = req.id;
|
||||
|
||||
@@ -62,7 +62,6 @@ std::unique_ptr<Request> Request::fromJsonThrowOnError(const std::string &str) {
|
||||
makeUnique<heapProfiler::TakeHeapSnapshotRequest>},
|
||||
{"Runtime.callFunctionOn", makeUnique<runtime::CallFunctionOnRequest>},
|
||||
{"Runtime.evaluate", makeUnique<runtime::EvaluateRequest>},
|
||||
{"Runtime.getHeapUsage", makeUnique<runtime::GetHeapUsageRequest>},
|
||||
{"Runtime.getProperties", makeUnique<runtime::GetPropertiesRequest>},
|
||||
{"Runtime.runIfWaitingForDebugger",
|
||||
makeUnique<runtime::RunIfWaitingForDebuggerRequest>},
|
||||
@@ -504,19 +503,12 @@ debugger::ResumeRequest::ResumeRequest(const dynamic &obj)
|
||||
: Request("Debugger.resume") {
|
||||
assign(id, obj, "id");
|
||||
assign(method, obj, "method");
|
||||
|
||||
dynamic params = obj.at("params");
|
||||
assign(terminateOnResume, params, "terminateOnResume");
|
||||
}
|
||||
|
||||
dynamic debugger::ResumeRequest::toDynamic() const {
|
||||
dynamic params = dynamic::object;
|
||||
put(params, "terminateOnResume", terminateOnResume);
|
||||
|
||||
dynamic obj = dynamic::object;
|
||||
put(obj, "id", id);
|
||||
put(obj, "method", method);
|
||||
put(obj, "params", std::move(params));
|
||||
return obj;
|
||||
}
|
||||
|
||||
@@ -905,14 +897,12 @@ heapProfiler::StopTrackingHeapObjectsRequest::StopTrackingHeapObjectsRequest(
|
||||
dynamic params = obj.at("params");
|
||||
assign(reportProgress, params, "reportProgress");
|
||||
assign(treatGlobalObjectsAsRoots, params, "treatGlobalObjectsAsRoots");
|
||||
assign(captureNumericValue, params, "captureNumericValue");
|
||||
}
|
||||
|
||||
dynamic heapProfiler::StopTrackingHeapObjectsRequest::toDynamic() const {
|
||||
dynamic params = dynamic::object;
|
||||
put(params, "reportProgress", reportProgress);
|
||||
put(params, "treatGlobalObjectsAsRoots", treatGlobalObjectsAsRoots);
|
||||
put(params, "captureNumericValue", captureNumericValue);
|
||||
|
||||
dynamic obj = dynamic::object;
|
||||
put(obj, "id", id);
|
||||
@@ -938,14 +928,12 @@ heapProfiler::TakeHeapSnapshotRequest::TakeHeapSnapshotRequest(
|
||||
dynamic params = obj.at("params");
|
||||
assign(reportProgress, params, "reportProgress");
|
||||
assign(treatGlobalObjectsAsRoots, params, "treatGlobalObjectsAsRoots");
|
||||
assign(captureNumericValue, params, "captureNumericValue");
|
||||
}
|
||||
|
||||
dynamic heapProfiler::TakeHeapSnapshotRequest::toDynamic() const {
|
||||
dynamic params = dynamic::object;
|
||||
put(params, "reportProgress", reportProgress);
|
||||
put(params, "treatGlobalObjectsAsRoots", treatGlobalObjectsAsRoots);
|
||||
put(params, "captureNumericValue", captureNumericValue);
|
||||
|
||||
dynamic obj = dynamic::object;
|
||||
put(obj, "id", id);
|
||||
@@ -1042,26 +1030,6 @@ void runtime::EvaluateRequest::accept(RequestHandler &handler) const {
|
||||
handler.handle(*this);
|
||||
}
|
||||
|
||||
runtime::GetHeapUsageRequest::GetHeapUsageRequest()
|
||||
: Request("Runtime.getHeapUsage") {}
|
||||
|
||||
runtime::GetHeapUsageRequest::GetHeapUsageRequest(const dynamic &obj)
|
||||
: Request("Runtime.getHeapUsage") {
|
||||
assign(id, obj, "id");
|
||||
assign(method, obj, "method");
|
||||
}
|
||||
|
||||
dynamic runtime::GetHeapUsageRequest::toDynamic() const {
|
||||
dynamic obj = dynamic::object;
|
||||
put(obj, "id", id);
|
||||
put(obj, "method", method);
|
||||
return obj;
|
||||
}
|
||||
|
||||
void runtime::GetHeapUsageRequest::accept(RequestHandler &handler) const {
|
||||
handler.handle(*this);
|
||||
}
|
||||
|
||||
runtime::GetPropertiesRequest::GetPropertiesRequest()
|
||||
: Request("Runtime.getProperties") {}
|
||||
|
||||
@@ -1316,25 +1284,6 @@ dynamic runtime::EvaluateResponse::toDynamic() const {
|
||||
return obj;
|
||||
}
|
||||
|
||||
runtime::GetHeapUsageResponse::GetHeapUsageResponse(const dynamic &obj) {
|
||||
assign(id, obj, "id");
|
||||
|
||||
dynamic res = obj.at("result");
|
||||
assign(usedSize, res, "usedSize");
|
||||
assign(totalSize, res, "totalSize");
|
||||
}
|
||||
|
||||
dynamic runtime::GetHeapUsageResponse::toDynamic() const {
|
||||
dynamic res = dynamic::object;
|
||||
put(res, "usedSize", usedSize);
|
||||
put(res, "totalSize", totalSize);
|
||||
|
||||
dynamic obj = dynamic::object;
|
||||
put(obj, "id", id);
|
||||
put(obj, "result", std::move(res));
|
||||
return obj;
|
||||
}
|
||||
|
||||
runtime::GetPropertiesResponse::GetPropertiesResponse(const dynamic &obj) {
|
||||
assign(id, obj, "id");
|
||||
|
||||
|
||||
@@ -59,8 +59,6 @@ struct ExceptionDetails;
|
||||
struct ExecutionContextCreatedNotification;
|
||||
struct ExecutionContextDescription;
|
||||
using ExecutionContextId = int;
|
||||
struct GetHeapUsageRequest;
|
||||
struct GetHeapUsageResponse;
|
||||
struct GetPropertiesRequest;
|
||||
struct GetPropertiesResponse;
|
||||
struct InternalPropertyDescriptor;
|
||||
@@ -129,7 +127,6 @@ struct RequestHandler {
|
||||
virtual void handle(const heapProfiler::TakeHeapSnapshotRequest &req) = 0;
|
||||
virtual void handle(const runtime::CallFunctionOnRequest &req) = 0;
|
||||
virtual void handle(const runtime::EvaluateRequest &req) = 0;
|
||||
virtual void handle(const runtime::GetHeapUsageRequest &req) = 0;
|
||||
virtual void handle(const runtime::GetPropertiesRequest &req) = 0;
|
||||
virtual void handle(const runtime::RunIfWaitingForDebuggerRequest &req) = 0;
|
||||
};
|
||||
@@ -165,7 +162,6 @@ struct NoopRequestHandler : public RequestHandler {
|
||||
void handle(const heapProfiler::TakeHeapSnapshotRequest &req) override {}
|
||||
void handle(const runtime::CallFunctionOnRequest &req) override {}
|
||||
void handle(const runtime::EvaluateRequest &req) override {}
|
||||
void handle(const runtime::GetHeapUsageRequest &req) override {}
|
||||
void handle(const runtime::GetPropertiesRequest &req) override {}
|
||||
void handle(const runtime::RunIfWaitingForDebuggerRequest &req) override {}
|
||||
};
|
||||
@@ -404,8 +400,6 @@ struct debugger::ResumeRequest : public Request {
|
||||
|
||||
folly::dynamic toDynamic() const override;
|
||||
void accept(RequestHandler &handler) const override;
|
||||
|
||||
folly::Optional<bool> terminateOnResume;
|
||||
};
|
||||
|
||||
struct debugger::SetBreakpointRequest : public Request {
|
||||
@@ -554,7 +548,6 @@ struct heapProfiler::StopTrackingHeapObjectsRequest : public Request {
|
||||
|
||||
folly::Optional<bool> reportProgress;
|
||||
folly::Optional<bool> treatGlobalObjectsAsRoots;
|
||||
folly::Optional<bool> captureNumericValue;
|
||||
};
|
||||
|
||||
struct heapProfiler::TakeHeapSnapshotRequest : public Request {
|
||||
@@ -566,7 +559,6 @@ struct heapProfiler::TakeHeapSnapshotRequest : public Request {
|
||||
|
||||
folly::Optional<bool> reportProgress;
|
||||
folly::Optional<bool> treatGlobalObjectsAsRoots;
|
||||
folly::Optional<bool> captureNumericValue;
|
||||
};
|
||||
|
||||
struct runtime::CallFunctionOnRequest : public Request {
|
||||
@@ -604,14 +596,6 @@ struct runtime::EvaluateRequest : public Request {
|
||||
folly::Optional<bool> awaitPromise;
|
||||
};
|
||||
|
||||
struct runtime::GetHeapUsageRequest : public Request {
|
||||
GetHeapUsageRequest();
|
||||
explicit GetHeapUsageRequest(const folly::dynamic &obj);
|
||||
|
||||
folly::dynamic toDynamic() const override;
|
||||
void accept(RequestHandler &handler) const override;
|
||||
};
|
||||
|
||||
struct runtime::GetPropertiesRequest : public Request {
|
||||
GetPropertiesRequest();
|
||||
explicit GetPropertiesRequest(const folly::dynamic &obj);
|
||||
@@ -725,15 +709,6 @@ struct runtime::EvaluateResponse : public Response {
|
||||
folly::Optional<runtime::ExceptionDetails> exceptionDetails;
|
||||
};
|
||||
|
||||
struct runtime::GetHeapUsageResponse : public Response {
|
||||
GetHeapUsageResponse() = default;
|
||||
explicit GetHeapUsageResponse(const folly::dynamic &obj);
|
||||
folly::dynamic toDynamic() const override;
|
||||
|
||||
double usedSize{};
|
||||
double totalSize{};
|
||||
};
|
||||
|
||||
struct runtime::GetPropertiesResponse : public Response {
|
||||
GetPropertiesResponse() = default;
|
||||
explicit GetPropertiesResponse(const folly::dynamic &obj);
|
||||
|
||||
@@ -32,6 +32,5 @@ Runtime.callFunctionOn
|
||||
Runtime.consoleAPICalled
|
||||
Runtime.evaluate
|
||||
Runtime.executionContextCreated
|
||||
Runtime.getHeapUsage
|
||||
Runtime.getProperties
|
||||
Runtime.runIfWaitingForDebugger
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"test": "jest"
|
||||
},
|
||||
"dependencies": {
|
||||
"devtools-protocol": "0.0.959523",
|
||||
"devtools-protocol": "0.0.730699",
|
||||
"yargs": "^14.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -41,7 +41,6 @@ const proto = mergeDomains(standard, custom);
|
||||
function parseDomains(
|
||||
domainObjs: Array<any>,
|
||||
ignoreExperimental: boolean,
|
||||
includeExperimental: Set<string>,
|
||||
): Descriptor {
|
||||
const desc = {
|
||||
types: [],
|
||||
@@ -60,12 +59,7 @@ function parseDomains(
|
||||
}
|
||||
|
||||
for (const commandObj of obj.commands || []) {
|
||||
const command = Command.create(
|
||||
domain,
|
||||
commandObj,
|
||||
!includeExperimental.has(`${domain}.${commandObj.name}`) &&
|
||||
ignoreExperimental,
|
||||
);
|
||||
const command = Command.create(domain, commandObj, ignoreExperimental);
|
||||
if (command) {
|
||||
desc.commands.push(command);
|
||||
}
|
||||
@@ -205,27 +199,18 @@ function main() {
|
||||
.boolean('e')
|
||||
.alias('e', 'ignore-experimental')
|
||||
.describe('e', 'ignore experimental commands, props, and types')
|
||||
.alias('i', 'include-experimental')
|
||||
.describe('i', 'experimental commands to include')
|
||||
.alias('r', 'roots')
|
||||
.describe('r', 'path to a file listing root types, events, and commands')
|
||||
.nargs('r', 1)
|
||||
.demandCommand(2, 2).argv;
|
||||
|
||||
const ignoreExperimental = !!args.e;
|
||||
const includeExperimental = new Set(
|
||||
typeof args.i === 'string' ? args.i.split(',') : [],
|
||||
);
|
||||
const [headerPath, implPath] = args._;
|
||||
|
||||
const headerStream = fs.createWriteStream(headerPath);
|
||||
const implStream = fs.createWriteStream(implPath);
|
||||
|
||||
const desc = parseDomains(
|
||||
proto.domains,
|
||||
ignoreExperimental,
|
||||
includeExperimental,
|
||||
);
|
||||
const desc = parseDomains(proto.domains, ignoreExperimental);
|
||||
const graph = buildGraph(desc);
|
||||
const roots = parseRoots(desc, String(args.roots));
|
||||
|
||||
|
||||
@@ -2434,10 +2434,10 @@ detect-newline@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
|
||||
integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
|
||||
|
||||
devtools-protocol@0.0.959523:
|
||||
version "0.0.959523"
|
||||
resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.959523.tgz#a7ce62c6b88876081fe5bec866f70e467bc021ba"
|
||||
integrity sha512-taOcAND/oJA5FhJD2I3RA+I8RPdrpPJWwvMBPzTq7Sugev1xTOG3lgtlSfkh5xkjTYw0Ti2CRQq016goFHMoPQ==
|
||||
devtools-protocol@0.0.730699:
|
||||
version "0.0.730699"
|
||||
resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.730699.tgz#4d18f6a9b7fb7cf3f1ffe73bfe14aad66cf3b2ef"
|
||||
integrity sha512-dprBpuPzVIIXXL6GevzhvWe2wg836h3d5hY+n6IzzHbKLsUh6QlVmcIy15za0J3MhDFbmEH60s6uYsrw/tgBbw==
|
||||
|
||||
diff-sequences@^26.6.2:
|
||||
version "26.6.2"
|
||||
|
||||
@@ -2,25 +2,24 @@
|
||||
|
||||
set -e
|
||||
|
||||
DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||
DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
cd "${DIR}/msggen"
|
||||
|
||||
yarn install
|
||||
yarn build
|
||||
|
||||
MSGTYPES_PATH="${DIR}/message_types.txt"
|
||||
HEADER_PATH="${DIR}/../chrome/MessageTypes.h"
|
||||
CPP_PATH="${DIR}/../chrome/MessageTypes.cpp"
|
||||
FBSOURCE=$(hg root)
|
||||
MSGTYPES_PATH="${FBSOURCE}/xplat/js/react-native-github/ReactCommon/hermes/inspector/tools/message_types.txt"
|
||||
HEADER_PATH="${FBSOURCE}/xplat/js/react-native-github/ReactCommon/hermes/inspector/chrome/MessageTypes.h"
|
||||
CPP_PATH="${FBSOURCE}/xplat/js/react-native-github/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp"
|
||||
|
||||
node bin/index.js \
|
||||
--ignore-experimental \
|
||||
--include-experimental=Runtime.getHeapUsage \
|
||||
--roots "$MSGTYPES_PATH" \
|
||||
"$HEADER_PATH" "$CPP_PATH"
|
||||
|
||||
clang-format -i --style=file "$HEADER_PATH"
|
||||
clang-format -i --style=file "$CPP_PATH"
|
||||
|
||||
FBSOURCE=$(hg root)
|
||||
"${FBSOURCE}/tools/signedsource" sign "$HEADER_PATH"
|
||||
"${FBSOURCE}/tools/signedsource" sign "$CPP_PATH"
|
||||
|
||||
Reference in New Issue
Block a user