mirror of
https://gitee.com/openharmony/arkcompiler_ets_runtime
synced 2024-10-07 16:13:49 +00:00
add getHeapUsage
issue:https://gitee.com/wwx1083752/ark_js_runtime/issues/I53ZUK Signed-off-by: wwx1083752 <wubinbin33@huawei.com>
This commit is contained in:
parent
d918002cde
commit
f34b956190
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user