add getHeapUsage

issue:https://gitee.com/wwx1083752/ark_js_runtime/issues/I53ZUK

Signed-off-by: wwx1083752 <wubinbin33@huawei.com>
This commit is contained in:
wwx1083752 2022-04-22 09:15:51 +08:00 committed by wwx1083752
parent d918002cde
commit f34b956190
4 changed files with 10 additions and 10 deletions

View File

@ -826,10 +826,11 @@ void JSBackend::CallFunctionOn([[maybe_unused]] const CString &functionDeclarati
*outRemoteObject = RemoteObject::FromTagged(ecmaVm_, error);
}
void JSBackend::GetHeapUsage(EcmaVM *vm, double *usedSize ,double *totalSize)
void JSBackend::GetHeapUsage(double *usedSize, double *totalSize)
{
totalSize = (double *)DFXJSNApi::GetHeapTotalSize(vm);
usedSize = (double *)DFXJSNApi::GetHeapUsedSize(vm);
auto ecmaVm = const_cast<EcmaVM *>(static_cast<ProtocolHandler *>(frontend_)->GetEcmaVM());
*totalSize = static_cast<double>(DFXJSNApi::GetHeapTotalSize(ecmaVm));
*usedSize = static_cast<double>(DFXJSNApi::GetHeapUsedSize(ecmaVm));
}
bool JSBackend::DecodeAndCheckBase64(const CString &src, CString &dest)
@ -843,4 +844,4 @@ bool JSBackend::DecodeAndCheckBase64(const CString &src, CString &dest)
}
return false;
}
} // namespace panda::ecmascript::tooling
} // namespace panda::ecmascript::tooling

View File

@ -101,7 +101,7 @@ public:
void GetProperties(RemoteObjectId objectId, bool isOwn, bool isAccessorOnly,
CVector<std::unique_ptr<PropertyDescriptor>> *outPropertyDesc);
void CallFunctionOn(const CString &functionDeclaration, std::unique_ptr<RemoteObject> *outRemoteObject);
void GetHeapUsage(EcmaVM *vm, double *usedSize ,double *totalSize);
void GetHeapUsage(double *usedSize, double *totalSize);
// public for testcases
bool GenerateCallFrames(CVector<std::unique_ptr<CallFrame>> *callFrames);
const EcmaVM *GetEcmaVm() const

View File

@ -103,8 +103,7 @@ void RuntimeImpl::DispatcherImpl::GetHeapUsage(const DispatchRequest &request)
{
double usedSize = 0;
double totalSize = 0;
EcmaVM *vm = nullptr;
DispatchResponse response = runtime_->GetHeapUsage(vm, &usedSize, &totalSize);
DispatchResponse response = runtime_->GetHeapUsage(&usedSize, &totalSize);
std::unique_ptr<GetHeapUsageReturns> result = std::make_unique<GetHeapUsageReturns>(usedSize,
totalSize);
SendResponse(request, response, std::move(result));
@ -144,9 +143,9 @@ DispatchResponse RuntimeImpl::CallFunctionOn(std::unique_ptr<CallFunctionOnParam
return DispatchResponse::Ok();
}
DispatchResponse RuntimeImpl::GetHeapUsage(EcmaVM *vm, double *usedSize, double *totalSize)
DispatchResponse RuntimeImpl::GetHeapUsage(double *usedSize, double *totalSize)
{
backend_->GetHeapUsage(vm, usedSize, totalSize);
backend_->GetHeapUsage(usedSize, totalSize);
return DispatchResponse::Ok();
}
} // namespace panda::ecmascript::tooling

View File

@ -39,7 +39,7 @@ public:
std::unique_ptr<CallFunctionOnParams> params,
std::unique_ptr<RemoteObject> *outRemoteObject,
std::optional<std::unique_ptr<ExceptionDetails>> *outExceptionDetails);
DispatchResponse GetHeapUsage(EcmaVM *vm, double *usedSize, double *totalSize);
DispatchResponse GetHeapUsage(double *usedSize, double *totalSize);
class DispatcherImpl final : public DispatcherBase {
public: