From 00c1f5e432b145b02614cc84e8bd5fea81d026a4 Mon Sep 17 00:00:00 2001 From: Gymee Date: Mon, 20 Nov 2023 20:36:14 +0800 Subject: [PATCH] Optimize napi_new_instance Issue: https://gitee.com/openharmony/arkui_napi/issues/I8I0NR Signed-off-by: Gymee Change-Id: Ibf03ec030f265cc00c64f6027f29bad35b012574 --- native_engine/native_api.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/native_engine/native_api.cpp b/native_engine/native_api.cpp index 193b9b5d3..e555a9c6c 100644 --- a/native_engine/native_api.cpp +++ b/native_engine/native_api.cpp @@ -1114,17 +1114,8 @@ NAPI_EXTERN napi_status napi_new_instance(napi_env env, RETURN_STATUS_IF_FALSE(env, nativeConstructor->IsFunction(), napi_function_expected); auto vm = reinterpret_cast(env)->GetEcmaVm(); Local constructorVal = nativeConstructor->ToObject(vm); - std::vector> args; - args.reserve(argc); - for (size_t i = 0; i < argc; i++) { - if (argv[i] != nullptr) { - Local arg = LocalValueFromJsValue(argv[i]); - args.emplace_back(arg); - } else { - args.emplace_back(panda::JSValueRef::Undefined(vm)); - } - } - Local instance = constructorVal->Constructor(vm, args.data(), argc); + Local instance = constructorVal->Constructor(vm, + reinterpret_cast*>(const_cast(argv)), argc); Local excep = panda::JSNApi::GetUncaughtException(vm); if (!excep.IsNull()) { HILOG_ERROR("CreateInstance occur Exception"); @@ -3205,4 +3196,4 @@ NAPI_EXTERN napi_status napi_get_print_string(napi_env env, napi_value value, st result = stringVal->ToString(); } return napi_clear_last_error(env); -} \ No newline at end of file +} -- Gitee