Lines Matching full:env
13 #include "env-inl.h"
24 #define CHECK_MAYBE_NOTHING(env, maybe, status) \ argument
25 RETURN_STATUS_IF_FALSE((env), !((maybe).IsNothing()), (status))
27 #define CHECK_MAYBE_NOTHING_WITH_PREAMBLE(env, maybe, status) \ argument
28 RETURN_STATUS_IF_FALSE_WITH_PREAMBLE((env), !((maybe).IsNothing()), (status))
30 #define CHECK_TO_NUMBER(env, context, result, src) \ argument
31 CHECK_TO_TYPE((env), Number, (context), (result), (src), JSVM_NUMBER_EXPECTED)
37 #define CHECK_NEW_FROM_UTF8_LEN(env, result, str, len) \ argument
42 (env), (len == JSVM_AUTO_LENGTH) || len <= INT_MAX, JSVM_INVALID_ARG); \
43 RETURN_STATUS_IF_FALSE((env), (str) != nullptr, JSVM_INVALID_ARG); \
44 auto str_maybe = v8::String::NewFromUtf8((env)->isolate, \
48 CHECK_MAYBE_EMPTY((env), str_maybe, JSVM_GENERIC_FAILURE); \
52 #define CHECK_NEW_FROM_UTF8(env, result, str) \ argument
53 CHECK_NEW_FROM_UTF8_LEN((env), (result), (str), JSVM_AUTO_LENGTH)
55 #define CHECK_NEW_STRING_ARGS(env, str, length, result) \ argument
57 CHECK_ENV_NOT_IN_GC((env)); \
58 if ((length) > 0) CHECK_ARG((env), (str)); \
59 CHECK_ARG((env), (result)); \
61 (env), \
67 env, type, size_of_element, buffer, byteOffset, length, out) \ argument
71 (env), \
78 (env), \
192 static void SetContextEnv(v8::Local<v8::Context> context, JSVM_Env env) { in SetContextEnv() argument
193 context->SetAlignedPointerInEmbedderData(kContextEnvIndex, env); in SetContextEnv()
256 JSVM_Status NewString(JSVM_Env env, in NewString() argument
261 CHECK_NEW_STRING_ARGS(env, str, length, result); in NewString()
263 auto isolate = env->isolate; in NewString()
265 CHECK_MAYBE_EMPTY(env, str_maybe, JSVM_GENERIC_FAILURE); in NewString()
267 return jsvm_clear_last_error(env); in NewString()
271 JSVM_Status NewExternalString(JSVM_Env env, in NewExternalString() argument
280 CHECK_NEW_STRING_ARGS(env, str, length, result); in NewExternalString()
283 status = create_api(env, str, length, result); in NewExternalString()
289 env->CallFinalizer( in NewExternalString()
294 status = NewString(env, str, length, result, string_maker); in NewExternalString()
304 TrackedStringResource(JSVM_Env env, in TrackedStringResource() argument
308 : Finalizer(env, finalizeCallback, data, finalizeHint) { in TrackedStringResource()
309 Link(finalizeCallback == nullptr ? &env->reflist in TrackedStringResource()
310 : &env->finalizing_reflist); in TrackedStringResource()
342 ExternalOneByteStringResource(JSVM_Env env, in ExternalOneByteStringResource() argument
347 : TrackedStringResource(env, finalizeCallback, string, finalizeHint), in ExternalOneByteStringResource()
362 ExternalStringResource(JSVM_Env env, in ExternalStringResource() argument
367 : TrackedStringResource(env, finalizeCallback, string, finalizeHint), in ExternalStringResource()
380 JSVM_Env env, in V8NameFromPropertyDescriptor() argument
384 CHECK_NEW_FROM_UTF8(env, *result, p->utf8name); in V8NameFromPropertyDescriptor()
389 RETURN_STATUS_IF_FALSE(env, property_value->IsName(), JSVM_NAME_EXPECTED); in V8NameFromPropertyDescriptor()
477 inline JSVM_Status ConcludeDeferred(JSVM_Env env, in ConcludeDeferred() argument
481 JSVM_PREAMBLE(env); in ConcludeDeferred()
482 CHECK_ARG(env, result); in ConcludeDeferred()
484 v8::Local<v8::Context> context = env->context(); in ConcludeDeferred()
488 v8::Local<v8::Value>::New(env->isolate, *deferred_ref); in ConcludeDeferred()
500 RETURN_STATUS_IF_FALSE(env, success.FromMaybe(false), JSVM_GENERIC_FAILURE); in ConcludeDeferred()
502 return GET_RETURN_STATUS(env); in ConcludeDeferred()
507 inline JSVM_Status Unwrap(JSVM_Env env, in Unwrap() argument
511 JSVM_PREAMBLE(env); in Unwrap()
512 CHECK_ARG(env, jsObject); in Unwrap()
514 CHECK_ARG(env, result); in Unwrap()
517 v8::Local<v8::Context> context = env->context(); in Unwrap()
520 RETURN_STATUS_IF_FALSE(env, value->IsObject(), JSVM_INVALID_ARG); in Unwrap()
523 auto val = obj->GetPrivate(context, JSVM_PRIVATE_KEY(env->isolate, wrapper)) in Unwrap()
525 RETURN_STATUS_IF_FALSE(env, val->IsExternal(), JSVM_INVALID_ARG); in Unwrap()
534 CHECK(obj->DeletePrivate(context, JSVM_PRIVATE_KEY(env->isolate, wrapper)) in Unwrap()
544 return GET_RETURN_STATUS(env); in Unwrap()
559 static inline v8::Local<v8::Value> New(JSVM_Env env, in New() argument
561 return v8::External::New(env->isolate, cb); in New()
564 static inline v8::Local<v8::Value> New(JSVM_Env env, in New() argument
566 return v8::External::New(env->isolate, cb); in New()
611 auto env = v8impl::GetContextEnv(context); in InvokeCallback() local
616 env->CallIntoModule([&](JSVM_Env env) { result = cb(env, cbinfo_wrapper); }, in InvokeCallback() argument
617 [&](JSVM_Env env, v8::Local<v8::Value> value) { in InvokeCallback() argument
619 if (env->terminatedOrTerminating()) { in InvokeCallback()
622 env->isolate->ThrowException(value); in InvokeCallback()
641 static inline JSVM_Status NewFunction(JSVM_Env env, in NewFunction() argument
644 v8::Local<v8::Value> cbdata = v8impl::CallbackBundle::New(env, cb); in NewFunction()
645 RETURN_STATUS_IF_FALSE(env, !cbdata.IsEmpty(), JSVM_GENERIC_FAILURE); in NewFunction()
648 v8::Function::New(env->context(), Invoke, cbdata); in NewFunction()
649 CHECK_MAYBE_EMPTY(env, maybe_function, JSVM_GENERIC_FAILURE); in NewFunction()
652 return jsvm_clear_last_error(env); in NewFunction()
656 JSVM_Env env, in NewTemplate() argument
660 v8::Local<v8::Value> cbdata = v8impl::CallbackBundle::New(env, cb); in NewTemplate()
661 RETURN_STATUS_IF_FALSE(env, !cbdata.IsEmpty(), JSVM_GENERIC_FAILURE); in NewTemplate()
663 *result = v8::FunctionTemplate::New(env->isolate, Invoke, cbdata, sig); in NewTemplate()
664 return jsvm_clear_last_error(env); in NewTemplate()
718 auto env = v8impl::GetContextEnv(context); in NameSetterInvokeCallback() local
732 env->CallIntoModule([&](JSVM_Env env) { in NameSetterInvokeCallback() argument
734 result = setterCb(env, name, value, thisArg, innerData); in NameSetterInvokeCallback()
737 [&](JSVM_Env env, v8::Local<v8::Value> value) { in NameSetterInvokeCallback() argument
739 if (env->terminatedOrTerminating()) { in NameSetterInvokeCallback()
742 env->isolate->ThrowException(value); in NameSetterInvokeCallback()
751 auto env = v8impl::GetContextEnv(context); in NameGetterInvokeCallback() local
763 env->CallIntoModule([&](JSVM_Env env) { in NameGetterInvokeCallback() argument
765 result = getterCb(env, name, thisArg, innerData); in NameGetterInvokeCallback()
768 [&](JSVM_Env env, v8::Local<v8::Value> value) { in NameGetterInvokeCallback() argument
770 if (env->terminatedOrTerminating()) { in NameGetterInvokeCallback()
773 env->isolate->ThrowException(value); in NameGetterInvokeCallback()
782 auto env = v8impl::GetContextEnv(context); in NameDeleterInvokeCallback() local
795 env->CallIntoModule([&](JSVM_Env env) { in NameDeleterInvokeCallback() argument
797 result = deleterCb(env, name, thisArg, innerData); in NameDeleterInvokeCallback()
800 [&](JSVM_Env env, v8::Local<v8::Value> value) { in NameDeleterInvokeCallback() argument
802 if (env->terminatedOrTerminating()) { in NameDeleterInvokeCallback()
805 env->isolate->ThrowException(value); in NameDeleterInvokeCallback()
816 auto env = v8impl::GetContextEnv(context); in NameEnumeratorInvokeCallback() local
828 env->CallIntoModule([&](JSVM_Env env) { in NameEnumeratorInvokeCallback() argument
830 result = enumeratorCb(env, thisArg, innerData); in NameEnumeratorInvokeCallback()
833 [&](JSVM_Env env, v8::Local<v8::Value> value) { in NameEnumeratorInvokeCallback() argument
835 if (env->terminatedOrTerminating()) { in NameEnumeratorInvokeCallback()
838 env->isolate->ThrowException(value); in NameEnumeratorInvokeCallback()
849 auto env = v8impl::GetContextEnv(context); in IndexSetterInvokeCallback() local
860 JSVM_Value index = JsValueFromV8LocalValue(v8::Integer::NewFromUnsigned(env->isolate, _index)); in IndexSetterInvokeCallback()
863 env->CallIntoModule([&](JSVM_Env env) { in IndexSetterInvokeCallback() argument
865 result = indexSetterCb(env, index, value, thisArg, innerData); in IndexSetterInvokeCallback()
868 [&](JSVM_Env env, v8::Local<v8::Value> value) { in IndexSetterInvokeCallback() argument
870 if (env->terminatedOrTerminating()) { in IndexSetterInvokeCallback()
873 env->isolate->ThrowException(value); in IndexSetterInvokeCallback()
882 auto env = v8impl::GetContextEnv(context); in IndexGetterInvokeCallback() local
893 JSVM_Value index = JsValueFromV8LocalValue(v8::Integer::NewFromUnsigned(env->isolate, _index)); in IndexGetterInvokeCallback()
895 env->CallIntoModule([&](JSVM_Env env) { in IndexGetterInvokeCallback() argument
897 result = indexGetterCb(env, index, thisArg, innerData); in IndexGetterInvokeCallback()
900 [&](JSVM_Env env, v8::Local<v8::Value> value) { in IndexGetterInvokeCallback() argument
902 if (env->terminatedOrTerminating()) { in IndexGetterInvokeCallback()
905 env->isolate->ThrowException(value); in IndexGetterInvokeCallback()
914 auto env = v8impl::GetContextEnv(context); in IndexDeleterInvokeCallback() local
925 JSVM_Value index = JsValueFromV8LocalValue(v8::Integer::NewFromUnsigned(env->isolate, _index)); in IndexDeleterInvokeCallback()
927 env->CallIntoModule([&](JSVM_Env env) { in IndexDeleterInvokeCallback() argument
929 result = indexDeleterCb(env, index, thisArg, innerData); in IndexDeleterInvokeCallback()
932 [&](JSVM_Env env, v8::Local<v8::Value> value) { in IndexDeleterInvokeCallback() argument
934 if (env->terminatedOrTerminating()) { in IndexDeleterInvokeCallback()
937 env->isolate->ThrowException(value); in IndexDeleterInvokeCallback()
948 auto env = v8impl::GetContextEnv(context); in IndexEnumeratorInvokeCallback() local
960 env->CallIntoModule([&](JSVM_Env env) { in IndexEnumeratorInvokeCallback() argument
962 result = enumeratorCb(env, thisArg, innerData); in IndexEnumeratorInvokeCallback()
965 [&](JSVM_Env env, v8::Local<v8::Value> value) { in IndexEnumeratorInvokeCallback() argument
967 if (env->terminatedOrTerminating()) { in IndexEnumeratorInvokeCallback()
970 env->isolate->ThrowException(value); in IndexEnumeratorInvokeCallback()
1049 inline JSVM_Status Wrap(JSVM_Env env, in Wrap() argument
1055 JSVM_PREAMBLE(env); in Wrap()
1056 CHECK_ARG(env, jsObject); in Wrap()
1058 v8::Local<v8::Context> context = env->context(); in Wrap()
1061 RETURN_STATUS_IF_FALSE(env, value->IsObject(), JSVM_INVALID_ARG); in Wrap()
1066 env, in Wrap()
1067 !obj->HasPrivate(context, JSVM_PRIVATE_KEY(env->isolate, wrapper)).FromJust(), in Wrap()
1076 CHECK_ARG(env, finalizeCb); in Wrap()
1077 reference = v8impl::Reference::New(env, in Wrap()
1088 env, in Wrap()
1098 JSVM_PRIVATE_KEY(env->isolate, wrapper), in Wrap()
1099 v8::External::New(env->isolate, reference)) in Wrap()
1102 return GET_RETURN_STATUS(env); in Wrap()
1125 TrackedFinalizer::TrackedFinalizer(JSVM_Env env, in TrackedFinalizer() argument
1129 : Finalizer(env, finalizeCallback, finalizeData, finalizeHint), in TrackedFinalizer()
1131 Link(finalizeCallback == nullptr ? &env->reflist : &env->finalizing_reflist); in TrackedFinalizer()
1134 TrackedFinalizer* TrackedFinalizer::New(JSVM_Env env, in New() argument
1139 env, finalizeCallback, finalizeData, finalizeHint); in New()
1145 // Remove from the env's tracked list. in ~TrackedFinalizer()
1179 RefBase::RefBase(JSVM_Env env, in RefBase() argument
1185 : TrackedFinalizer(env, finalizeCallback, finalizeData, finalizeHint), in RefBase()
1189 RefBase* RefBase::New(JSVM_Env env, in New() argument
1195 return new RefBase(env, in New()
1229 Reference::Reference(JSVM_Env env, v8::Local<v8::Value> value, Args&&... args) in Reference() argument
1230 : RefBase(env, std::forward<Args>(args)...), in Reference()
1231 persistent_(env->isolate, value), in Reference()
1245 Reference* Reference::New(JSVM_Env env, in New() argument
1252 return new Reference(env, in New()
1386 JSVM_Status JSVM_CDECL OH_JSVM_GetVM(JSVM_Env env, in OH_JSVM_GetVM() argument
1388 *result = reinterpret_cast<JSVM_VM>(env->isolate); in OH_JSVM_GetVM()
1470 auto env = new JSVM_Env__(isolate, NODE_API_DEFAULT_MODULE_API_VERSION); in OH_JSVM_CreateEnv() local
1494 env, p->getter, &getter_tpl)); in OH_JSVM_CreateEnv()
1498 env, p->setter, &setter_tpl)); in OH_JSVM_CreateEnv()
1506 env, p->method, &method_tpl)); in OH_JSVM_CreateEnv()
1516 env->context_persistent.Reset(isolate, context); in OH_JSVM_CreateEnv()
1517 v8impl::SetContextEnv(context, env); in OH_JSVM_CreateEnv()
1518 *result = env; in OH_JSVM_CreateEnv()
1534 auto env = new JSVM_Env__(isolate, NODE_API_DEFAULT_MODULE_API_VERSION); in OH_JSVM_CreateEnvFromSnapshot() local
1536 env->context_persistent.Reset(isolate, context); in OH_JSVM_CreateEnvFromSnapshot()
1537 v8impl::SetContextEnv(context, env); in OH_JSVM_CreateEnvFromSnapshot()
1538 *result = env; in OH_JSVM_CreateEnvFromSnapshot()
1544 OH_JSVM_DestroyEnv(JSVM_Env env) { in OH_JSVM_DestroyEnv() argument
1545 env->DeleteMe(); in OH_JSVM_DestroyEnv()
1550 OH_JSVM_OpenEnvScope(JSVM_Env env, JSVM_EnvScope* result) { in OH_JSVM_OpenEnvScope() argument
1551 auto v8scope = new v8::Context::Scope(env->context()); in OH_JSVM_OpenEnvScope()
1557 OH_JSVM_CloseEnvScope(JSVM_Env env, JSVM_EnvScope scope) { in OH_JSVM_CloseEnvScope() argument
1564 OH_JSVM_CompileScript(JSVM_Env env, in OH_JSVM_CompileScript() argument
1571 JSVM_PREAMBLE(env); in OH_JSVM_CompileScript()
1572 CHECK_ARG(env, script); in OH_JSVM_CompileScript()
1573 CHECK_ARG(env, result); in OH_JSVM_CompileScript()
1577 RETURN_STATUS_IF_FALSE(env, v8_script->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CompileScript()
1579 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CompileScript()
1593 CHECK_MAYBE_EMPTY(env, maybe_script, JSVM_GENERIC_FAILURE); in OH_JSVM_CompileScript()
1595 *result = reinterpret_cast<JSVM_Script>(env->NewJsvmData(compiled_script)); in OH_JSVM_CompileScript()
1597 return GET_RETURN_STATUS(env); in OH_JSVM_CompileScript()
1654 OH_JSVM_CompileScriptWithOrigin(JSVM_Env env, in OH_JSVM_CompileScriptWithOrigin() argument
1662 JSVM_PREAMBLE(env); in OH_JSVM_CompileScriptWithOrigin()
1663 CHECK_ARG(env, script); in OH_JSVM_CompileScriptWithOrigin()
1664 CHECK_ARG(env, result); in OH_JSVM_CompileScriptWithOrigin()
1669 RETURN_STATUS_IF_FALSE(env, v8_script->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CompileScriptWithOrigin()
1671 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CompileScriptWithOrigin()
1697 CHECK_MAYBE_EMPTY(env, maybe_script, JSVM_GENERIC_FAILURE); in OH_JSVM_CompileScriptWithOrigin()
1699 *result = reinterpret_cast<JSVM_Script>(env->NewJsvmData(compiled_script)); in OH_JSVM_CompileScriptWithOrigin()
1701 return GET_RETURN_STATUS(env); in OH_JSVM_CompileScriptWithOrigin()
1776 OH_JSVM_CompileScriptWithOptions(JSVM_Env env, in OH_JSVM_CompileScriptWithOptions() argument
1781 JSVM_PREAMBLE(env); in OH_JSVM_CompileScriptWithOptions()
1782 CHECK_ARG(env, script); in OH_JSVM_CompileScriptWithOptions()
1783 CHECK_ARG(env, result); in OH_JSVM_CompileScriptWithOptions()
1785 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CompileScriptWithOptions()
1788 RETURN_STATUS_IF_FALSE(env, !optionResolver.hasInvalidOption, JSVM_INVALID_ARG); in OH_JSVM_CompileScriptWithOptions()
1792 RETURN_STATUS_IF_FALSE(env, v8_script->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CompileScriptWithOptions()
1798 CHECK_MAYBE_EMPTY(env, maybe_script, JSVM_GENERIC_FAILURE); in OH_JSVM_CompileScriptWithOptions()
1800 *result = reinterpret_cast<JSVM_Script>(env->NewJsvmData(compiled_script)); in OH_JSVM_CompileScriptWithOptions()
1802 return GET_RETURN_STATUS(env); in OH_JSVM_CompileScriptWithOptions()
1806 OH_JSVM_CreateCodeCache(JSVM_Env env, in OH_JSVM_CreateCodeCache() argument
1811 auto v8script = jsvmData->ToV8Local<v8::Script>(env->isolate); in OH_JSVM_CreateCodeCache()
1817 return jsvm_set_last_error(env, JSVM_GENERIC_FAILURE); in OH_JSVM_CreateCodeCache()
1828 OH_JSVM_RunScript(JSVM_Env env, JSVM_Script script, JSVM_Value* result) { in OH_JSVM_RunScript() argument
1829 JSVM_PREAMBLE(env); in OH_JSVM_RunScript()
1830 CHECK_ARG(env, script); in OH_JSVM_RunScript()
1831 CHECK_ARG(env, result); in OH_JSVM_RunScript()
1834 auto v8script = jsvmData->ToV8Local<v8::Script>(env->isolate); in OH_JSVM_RunScript()
1835 auto script_result = v8script->Run(env->context()); in OH_JSVM_RunScript()
1836 CHECK_MAYBE_EMPTY(env, script_result, JSVM_GENERIC_FAILURE); in OH_JSVM_RunScript()
1839 return GET_RETURN_STATUS(env); in OH_JSVM_RunScript()
1843 OH_JSVM_JsonParse(JSVM_Env env, JSVM_Value json_string, JSVM_Value* result) { in OH_JSVM_JsonParse() argument
1844 JSVM_PREAMBLE(env); in OH_JSVM_JsonParse()
1845 CHECK_ARG(env, json_string); in OH_JSVM_JsonParse()
1848 RETURN_STATUS_IF_FALSE(env, val->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_JsonParse()
1850 auto maybe = v8::JSON::Parse(env->context(), val.As<v8::String>()); in OH_JSVM_JsonParse()
1851 CHECK_MAYBE_EMPTY(env, maybe,JSVM_GENERIC_FAILURE); in OH_JSVM_JsonParse()
1854 return GET_RETURN_STATUS(env); in OH_JSVM_JsonParse()
1858 OH_JSVM_JsonStringify(JSVM_Env env, JSVM_Value json_object, JSVM_Value* result) { in OH_JSVM_JsonStringify() argument
1859 JSVM_PREAMBLE(env); in OH_JSVM_JsonStringify()
1860 CHECK_ARG(env, json_object); in OH_JSVM_JsonStringify()
1864 auto maybe = v8::JSON::Stringify(env->context(), val); in OH_JSVM_JsonStringify()
1865 CHECK_MAYBE_EMPTY(env, maybe,JSVM_GENERIC_FAILURE); in OH_JSVM_JsonStringify()
1868 return GET_RETURN_STATUS(env); in OH_JSVM_JsonStringify()
1915 OH_JSVM_MemoryPressureNotification(JSVM_Env env, in OH_JSVM_MemoryPressureNotification() argument
1917 CHECK_ENV(env); in OH_JSVM_MemoryPressureNotification()
1918 env->isolate->MemoryPressureNotification(v8::MemoryPressureLevel(level)); in OH_JSVM_MemoryPressureNotification()
1919 return jsvm_clear_last_error(env); in OH_JSVM_MemoryPressureNotification()
1978 OH_JSVM_OpenInspector(JSVM_Env env, const char* host, uint16_t port) { in OH_JSVM_OpenInspector() argument
1979 JSVM_PREAMBLE(env); in OH_JSVM_OpenInspector()
1985 env->inspector_agent()->Start(inspectorPath, hostPort, true, false); in OH_JSVM_OpenInspector()
1987 return GET_RETURN_STATUS(env); in OH_JSVM_OpenInspector()
1990 JSVM_EXTERN JSVM_Status JSVM_CDECL OH_JSVM_CloseInspector(JSVM_Env env) { in OH_JSVM_CloseInspector() argument
1991 JSVM_PREAMBLE(env); in OH_JSVM_CloseInspector()
1992 auto agent = env->inspector_agent(); in OH_JSVM_CloseInspector()
1997 return GET_RETURN_STATUS(env); in OH_JSVM_CloseInspector()
2000 JSVM_EXTERN JSVM_Status JSVM_CDECL OH_JSVM_WaitForDebugger(JSVM_Env env, bool breakNextLine) { in OH_JSVM_WaitForDebugger() argument
2001 JSVM_PREAMBLE(env); in OH_JSVM_WaitForDebugger()
2002 auto agent = env->inspector_agent(); in OH_JSVM_WaitForDebugger()
2012 return GET_RETURN_STATUS(env); in OH_JSVM_WaitForDebugger()
2056 JSVM_Env env, const JSVM_ExtendedErrorInfo** result) { in OH_JSVM_GetLastErrorInfo() argument
2057 CHECK_ENV(env); in OH_JSVM_GetLastErrorInfo()
2058 CHECK_ARG(env, result); in OH_JSVM_GetLastErrorInfo()
2068 CHECK_LE(env->last_error.errorCode, last_status); in OH_JSVM_GetLastErrorInfo()
2071 env->last_error.errorMessage = error_messages[env->last_error.errorCode]; in OH_JSVM_GetLastErrorInfo()
2073 if (env->last_error.errorCode == JSVM_OK) { in OH_JSVM_GetLastErrorInfo()
2074 jsvm_clear_last_error(env); in OH_JSVM_GetLastErrorInfo()
2076 *result = &(env->last_error); in OH_JSVM_GetLastErrorInfo()
2080 JSVM_Status JSVM_CDECL OH_JSVM_CreateFunction(JSVM_Env env, in OH_JSVM_CreateFunction() argument
2085 JSVM_PREAMBLE(env); in OH_JSVM_CreateFunction()
2086 CHECK_ARG(env, result); in OH_JSVM_CreateFunction()
2087 CHECK_ARG(env, cb); in OH_JSVM_CreateFunction()
2090 v8::EscapableHandleScope scope(env->isolate); in OH_JSVM_CreateFunction()
2093 env, cb, &fn)); in OH_JSVM_CreateFunction()
2098 CHECK_NEW_FROM_UTF8_LEN(env, name_string, utf8name, length); in OH_JSVM_CreateFunction()
2104 return GET_RETURN_STATUS(env); in OH_JSVM_CreateFunction()
2107 JSVM_Status JSVM_CDECL OH_JSVM_CreateFunctionWithScript(JSVM_Env env, in OH_JSVM_CreateFunctionWithScript() argument
2114 JSVM_PREAMBLE(env); in OH_JSVM_CreateFunctionWithScript()
2115 CHECK_ARG(env, script); in OH_JSVM_CreateFunctionWithScript()
2116 CHECK_ARG(env, result); in OH_JSVM_CreateFunctionWithScript()
2118 CHECK_ARG(env, argv); in OH_JSVM_CreateFunctionWithScript()
2120 RETURN_STATUS_IF_FALSE(env, v8impl::V8LocalValueFromJsValue(argv[i])->IsString(), in OH_JSVM_CreateFunctionWithScript()
2127 RETURN_STATUS_IF_FALSE(env, v8_script->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CreateFunctionWithScript()
2131 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CreateFunctionWithScript()
2137 CHECK_MAYBE_EMPTY(env, maybe_fun, JSVM_GENERIC_FAILURE); in OH_JSVM_CreateFunctionWithScript()
2143 CHECK_NEW_FROM_UTF8_LEN(env, funcNameString, funcName, length); in OH_JSVM_CreateFunctionWithScript()
2150 return GET_RETURN_STATUS(env); in OH_JSVM_CreateFunctionWithScript()
2154 OH_JSVM_DefineClass(JSVM_Env env, in OH_JSVM_DefineClass() argument
2161 JSVM_PREAMBLE(env); in OH_JSVM_DefineClass()
2162 CHECK_ARG(env, result); in OH_JSVM_DefineClass()
2163 CHECK_ARG(env, constructor); in OH_JSVM_DefineClass()
2166 CHECK_ARG(env, properties); in OH_JSVM_DefineClass()
2169 v8::Isolate* isolate = env->isolate; in OH_JSVM_DefineClass()
2174 env, constructor, &tpl)); in OH_JSVM_DefineClass()
2177 CHECK_NEW_FROM_UTF8_LEN(env, name_string, utf8name, length); in OH_JSVM_DefineClass()
2191 STATUS_CALL(v8impl::V8NameFromPropertyDescriptor(env, p, &property_name)); in OH_JSVM_DefineClass()
2205 env, p->getter, &getter_tpl)); in OH_JSVM_DefineClass()
2209 env, p->setter, &setter_tpl)); in OH_JSVM_DefineClass()
2221 env, p->method, &t)); in OH_JSVM_DefineClass()
2224 env, p->method, &t, v8::Signature::New(isolate, tpl))); in OH_JSVM_DefineClass()
2234 v8::Local<v8::Context> context = env->context(); in OH_JSVM_DefineClass()
2250 env, *result, static_descriptors.size(), static_descriptors.data())); in OH_JSVM_DefineClass()
2253 return GET_RETURN_STATUS(env); in OH_JSVM_DefineClass()
2256 JSVM_Status JSVM_CDECL OH_JSVM_GetPropertyNames(JSVM_Env env, in OH_JSVM_GetPropertyNames() argument
2260 env, in OH_JSVM_GetPropertyNames()
2269 OH_JSVM_GetAllPropertyNames(JSVM_Env env, in OH_JSVM_GetAllPropertyNames() argument
2275 JSVM_PREAMBLE(env); in OH_JSVM_GetAllPropertyNames()
2276 CHECK_ARG(env, result); in OH_JSVM_GetAllPropertyNames()
2278 v8::Local<v8::Context> context = env->context(); in OH_JSVM_GetAllPropertyNames()
2280 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_GetAllPropertyNames()
2314 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_GetAllPropertyNames()
2325 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_GetAllPropertyNames()
2336 env, maybe_all_propertynames, JSVM_GENERIC_FAILURE); in OH_JSVM_GetAllPropertyNames()
2340 return GET_RETURN_STATUS(env); in OH_JSVM_GetAllPropertyNames()
2343 JSVM_Status JSVM_CDECL OH_JSVM_SetProperty(JSVM_Env env, in OH_JSVM_SetProperty() argument
2347 JSVM_PREAMBLE(env); in OH_JSVM_SetProperty()
2348 CHECK_ARG(env, key); in OH_JSVM_SetProperty()
2349 CHECK_ARG(env, value); in OH_JSVM_SetProperty()
2351 v8::Local<v8::Context> context = env->context(); in OH_JSVM_SetProperty()
2354 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_SetProperty()
2361 RETURN_STATUS_IF_FALSE(env, set_maybe.FromMaybe(false), JSVM_GENERIC_FAILURE); in OH_JSVM_SetProperty()
2362 return GET_RETURN_STATUS(env); in OH_JSVM_SetProperty()
2365 JSVM_Status JSVM_CDECL OH_JSVM_HasProperty(JSVM_Env env, in OH_JSVM_HasProperty() argument
2369 JSVM_PREAMBLE(env); in OH_JSVM_HasProperty()
2370 CHECK_ARG(env, result); in OH_JSVM_HasProperty()
2371 CHECK_ARG(env, key); in OH_JSVM_HasProperty()
2373 v8::Local<v8::Context> context = env->context(); in OH_JSVM_HasProperty()
2376 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_HasProperty()
2381 CHECK_MAYBE_NOTHING(env, has_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_HasProperty()
2384 return GET_RETURN_STATUS(env); in OH_JSVM_HasProperty()
2387 JSVM_Status JSVM_CDECL OH_JSVM_GetProperty(JSVM_Env env, in OH_JSVM_GetProperty() argument
2391 JSVM_PREAMBLE(env); in OH_JSVM_GetProperty()
2392 CHECK_ARG(env, key); in OH_JSVM_GetProperty()
2393 CHECK_ARG(env, result); in OH_JSVM_GetProperty()
2395 v8::Local<v8::Context> context = env->context(); in OH_JSVM_GetProperty()
2399 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_GetProperty()
2403 CHECK_MAYBE_EMPTY(env, get_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_GetProperty()
2407 return GET_RETURN_STATUS(env); in OH_JSVM_GetProperty()
2410 JSVM_Status JSVM_CDECL OH_JSVM_DeleteProperty(JSVM_Env env, in OH_JSVM_DeleteProperty() argument
2414 JSVM_PREAMBLE(env); in OH_JSVM_DeleteProperty()
2415 CHECK_ARG(env, key); in OH_JSVM_DeleteProperty()
2417 v8::Local<v8::Context> context = env->context(); in OH_JSVM_DeleteProperty()
2421 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_DeleteProperty()
2423 CHECK_MAYBE_NOTHING(env, delete_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_DeleteProperty()
2427 return GET_RETURN_STATUS(env); in OH_JSVM_DeleteProperty()
2430 JSVM_Status JSVM_CDECL OH_JSVM_HasOwnProperty(JSVM_Env env, in OH_JSVM_HasOwnProperty() argument
2434 JSVM_PREAMBLE(env); in OH_JSVM_HasOwnProperty()
2435 CHECK_ARG(env, key); in OH_JSVM_HasOwnProperty()
2436 CHECK_ARG(env, result); in OH_JSVM_HasOwnProperty()
2438 v8::Local<v8::Context> context = env->context(); in OH_JSVM_HasOwnProperty()
2441 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_HasOwnProperty()
2443 RETURN_STATUS_IF_FALSE(env, k->IsName(), JSVM_NAME_EXPECTED); in OH_JSVM_HasOwnProperty()
2445 CHECK_MAYBE_NOTHING(env, has_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_HasOwnProperty()
2448 return GET_RETURN_STATUS(env); in OH_JSVM_HasOwnProperty()
2451 JSVM_Status JSVM_CDECL OH_JSVM_SetNamedProperty(JSVM_Env env, in OH_JSVM_SetNamedProperty() argument
2455 JSVM_PREAMBLE(env); in OH_JSVM_SetNamedProperty()
2456 CHECK_ARG(env, value); in OH_JSVM_SetNamedProperty()
2458 v8::Local<v8::Context> context = env->context(); in OH_JSVM_SetNamedProperty()
2461 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_SetNamedProperty()
2464 CHECK_NEW_FROM_UTF8(env, key, utf8name); in OH_JSVM_SetNamedProperty()
2470 RETURN_STATUS_IF_FALSE(env, set_maybe.FromMaybe(false), JSVM_GENERIC_FAILURE); in OH_JSVM_SetNamedProperty()
2471 return GET_RETURN_STATUS(env); in OH_JSVM_SetNamedProperty()
2474 JSVM_Status JSVM_CDECL OH_JSVM_HasNamedProperty(JSVM_Env env, in OH_JSVM_HasNamedProperty() argument
2478 JSVM_PREAMBLE(env); in OH_JSVM_HasNamedProperty()
2479 CHECK_ARG(env, result); in OH_JSVM_HasNamedProperty()
2481 v8::Local<v8::Context> context = env->context(); in OH_JSVM_HasNamedProperty()
2484 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_HasNamedProperty()
2487 CHECK_NEW_FROM_UTF8(env, key, utf8name); in OH_JSVM_HasNamedProperty()
2491 CHECK_MAYBE_NOTHING(env, has_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_HasNamedProperty()
2494 return GET_RETURN_STATUS(env); in OH_JSVM_HasNamedProperty()
2497 JSVM_Status JSVM_CDECL OH_JSVM_GetNamedProperty(JSVM_Env env, in OH_JSVM_GetNamedProperty() argument
2501 JSVM_PREAMBLE(env); in OH_JSVM_GetNamedProperty()
2502 CHECK_ARG(env, result); in OH_JSVM_GetNamedProperty()
2504 v8::Local<v8::Context> context = env->context(); in OH_JSVM_GetNamedProperty()
2507 CHECK_NEW_FROM_UTF8(env, key, utf8name); in OH_JSVM_GetNamedProperty()
2511 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_GetNamedProperty()
2515 CHECK_MAYBE_EMPTY(env, get_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_GetNamedProperty()
2519 return GET_RETURN_STATUS(env); in OH_JSVM_GetNamedProperty()
2522 JSVM_Status JSVM_CDECL OH_JSVM_SetElement(JSVM_Env env, in OH_JSVM_SetElement() argument
2526 JSVM_PREAMBLE(env); in OH_JSVM_SetElement()
2527 CHECK_ARG(env, value); in OH_JSVM_SetElement()
2529 v8::Local<v8::Context> context = env->context(); in OH_JSVM_SetElement()
2532 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_SetElement()
2537 RETURN_STATUS_IF_FALSE(env, set_maybe.FromMaybe(false), JSVM_GENERIC_FAILURE); in OH_JSVM_SetElement()
2539 return GET_RETURN_STATUS(env); in OH_JSVM_SetElement()
2542 JSVM_Status JSVM_CDECL OH_JSVM_HasElement(JSVM_Env env, in OH_JSVM_HasElement() argument
2546 JSVM_PREAMBLE(env); in OH_JSVM_HasElement()
2547 CHECK_ARG(env, result); in OH_JSVM_HasElement()
2549 v8::Local<v8::Context> context = env->context(); in OH_JSVM_HasElement()
2552 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_HasElement()
2556 CHECK_MAYBE_NOTHING(env, has_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_HasElement()
2559 return GET_RETURN_STATUS(env); in OH_JSVM_HasElement()
2562 JSVM_Status JSVM_CDECL OH_JSVM_GetElement(JSVM_Env env, in OH_JSVM_GetElement() argument
2566 JSVM_PREAMBLE(env); in OH_JSVM_GetElement()
2567 CHECK_ARG(env, result); in OH_JSVM_GetElement()
2569 v8::Local<v8::Context> context = env->context(); in OH_JSVM_GetElement()
2572 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_GetElement()
2576 CHECK_MAYBE_EMPTY(env, get_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_GetElement()
2579 return GET_RETURN_STATUS(env); in OH_JSVM_GetElement()
2582 JSVM_Status JSVM_CDECL OH_JSVM_DeleteElement(JSVM_Env env, in OH_JSVM_DeleteElement() argument
2586 JSVM_PREAMBLE(env); in OH_JSVM_DeleteElement()
2588 v8::Local<v8::Context> context = env->context(); in OH_JSVM_DeleteElement()
2591 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_DeleteElement()
2593 CHECK_MAYBE_NOTHING(env, delete_maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_DeleteElement()
2597 return GET_RETURN_STATUS(env); in OH_JSVM_DeleteElement()
2601 OH_JSVM_DefineProperties(JSVM_Env env, in OH_JSVM_DefineProperties() argument
2605 JSVM_PREAMBLE(env); in OH_JSVM_DefineProperties()
2607 CHECK_ARG(env, properties); in OH_JSVM_DefineProperties()
2610 v8::Local<v8::Context> context = env->context(); in OH_JSVM_DefineProperties()
2613 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_DefineProperties()
2619 STATUS_CALL(v8impl::V8NameFromPropertyDescriptor(env, p, &property_name)); in OH_JSVM_DefineProperties()
2627 env, p->getter, &local_getter)); in OH_JSVM_DefineProperties()
2631 env, p->setter, &local_setter)); in OH_JSVM_DefineProperties()
2642 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_DefineProperties()
2647 env, p->method, &method)); in OH_JSVM_DefineProperties()
2657 return jsvm_set_last_error(env, JSVM_GENERIC_FAILURE); in OH_JSVM_DefineProperties()
2682 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_DefineProperties()
2687 return GET_RETURN_STATUS(env); in OH_JSVM_DefineProperties()
2690 JSVM_Status JSVM_CDECL OH_JSVM_ObjectFreeze(JSVM_Env env, JSVM_Value object) { in OH_JSVM_ObjectFreeze() argument
2691 JSVM_PREAMBLE(env); in OH_JSVM_ObjectFreeze()
2693 v8::Local<v8::Context> context = env->context(); in OH_JSVM_ObjectFreeze()
2696 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_ObjectFreeze()
2702 env, set_frozen.FromMaybe(false), JSVM_GENERIC_FAILURE); in OH_JSVM_ObjectFreeze()
2704 return GET_RETURN_STATUS(env); in OH_JSVM_ObjectFreeze()
2707 JSVM_Status JSVM_CDECL OH_JSVM_ObjectSeal(JSVM_Env env, JSVM_Value object) { in OH_JSVM_ObjectSeal() argument
2708 JSVM_PREAMBLE(env); in OH_JSVM_ObjectSeal()
2710 v8::Local<v8::Context> context = env->context(); in OH_JSVM_ObjectSeal()
2713 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_ObjectSeal()
2719 env, set_sealed.FromMaybe(false), JSVM_GENERIC_FAILURE); in OH_JSVM_ObjectSeal()
2721 return GET_RETURN_STATUS(env); in OH_JSVM_ObjectSeal()
2724 JSVM_Status JSVM_CDECL OH_JSVM_IsArray(JSVM_Env env, in OH_JSVM_IsArray() argument
2727 CHECK_ENV(env); in OH_JSVM_IsArray()
2728 CHECK_ARG(env, value); in OH_JSVM_IsArray()
2729 CHECK_ARG(env, result); in OH_JSVM_IsArray()
2734 return jsvm_clear_last_error(env); in OH_JSVM_IsArray()
2737 JSVM_Status JSVM_CDECL OH_JSVM_IsRegExp(JSVM_Env env, in OH_JSVM_IsRegExp() argument
2740 CHECK_ENV(env); in OH_JSVM_IsRegExp()
2741 CHECK_ARG(env, value); in OH_JSVM_IsRegExp()
2742 CHECK_ARG(env, result); in OH_JSVM_IsRegExp()
2747 return jsvm_clear_last_error(env); in OH_JSVM_IsRegExp()
2750 JSVM_Status JSVM_CDECL OH_JSVM_GetArrayLength(JSVM_Env env, in OH_JSVM_GetArrayLength() argument
2753 JSVM_PREAMBLE(env); in OH_JSVM_GetArrayLength()
2754 CHECK_ARG(env, value); in OH_JSVM_GetArrayLength()
2755 CHECK_ARG(env, result); in OH_JSVM_GetArrayLength()
2758 RETURN_STATUS_IF_FALSE(env, val->IsArray(), JSVM_ARRAY_EXPECTED); in OH_JSVM_GetArrayLength()
2763 return GET_RETURN_STATUS(env); in OH_JSVM_GetArrayLength()
2766 JSVM_Status JSVM_CDECL OH_JSVM_StrictEquals(JSVM_Env env, in OH_JSVM_StrictEquals() argument
2770 JSVM_PREAMBLE(env); in OH_JSVM_StrictEquals()
2771 CHECK_ARG(env, lhs); in OH_JSVM_StrictEquals()
2772 CHECK_ARG(env, rhs); in OH_JSVM_StrictEquals()
2773 CHECK_ARG(env, result); in OH_JSVM_StrictEquals()
2779 return GET_RETURN_STATUS(env); in OH_JSVM_StrictEquals()
2782 JSVM_Status JSVM_CDECL OH_JSVM_Equals(JSVM_Env env, in OH_JSVM_Equals() argument
2787 JSVM_PREAMBLE(env); in OH_JSVM_Equals()
2788 CHECK_ARG(env, lhs); in OH_JSVM_Equals()
2789 CHECK_ARG(env, rhs); in OH_JSVM_Equals()
2790 CHECK_ARG(env, result); in OH_JSVM_Equals()
2794 v8::Local<v8::Context> context = env->context(); in OH_JSVM_Equals()
2797 return GET_RETURN_STATUS(env); in OH_JSVM_Equals()
2800 JSVM_Status JSVM_CDECL OH_JSVM_GetPrototype(JSVM_Env env, in OH_JSVM_GetPrototype() argument
2803 JSVM_PREAMBLE(env); in OH_JSVM_GetPrototype()
2804 CHECK_ARG(env, result); in OH_JSVM_GetPrototype()
2806 v8::Local<v8::Context> context = env->context(); in OH_JSVM_GetPrototype()
2809 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_GetPrototype()
2813 return GET_RETURN_STATUS(env); in OH_JSVM_GetPrototype()
2816 JSVM_Status JSVM_CDECL OH_JSVM_CreateObject(JSVM_Env env, JSVM_Value* result) { in OH_JSVM_CreateObject() argument
2817 CHECK_ENV(env); in OH_JSVM_CreateObject()
2818 CHECK_ARG(env, result); in OH_JSVM_CreateObject()
2820 *result = v8impl::JsValueFromV8LocalValue(v8::Object::New(env->isolate)); in OH_JSVM_CreateObject()
2822 return jsvm_clear_last_error(env); in OH_JSVM_CreateObject()
2825 JSVM_Status JSVM_CDECL OH_JSVM_CreateArray(JSVM_Env env, JSVM_Value* result) { in OH_JSVM_CreateArray() argument
2826 CHECK_ENV(env); in OH_JSVM_CreateArray()
2827 CHECK_ARG(env, result); in OH_JSVM_CreateArray()
2829 *result = v8impl::JsValueFromV8LocalValue(v8::Array::New(env->isolate)); in OH_JSVM_CreateArray()
2831 return jsvm_clear_last_error(env); in OH_JSVM_CreateArray()
2834 JSVM_Status JSVM_CDECL OH_JSVM_CreateArrayWithLength(JSVM_Env env, in OH_JSVM_CreateArrayWithLength() argument
2837 CHECK_ENV(env); in OH_JSVM_CreateArrayWithLength()
2838 CHECK_ARG(env, result); in OH_JSVM_CreateArrayWithLength()
2841 v8impl::JsValueFromV8LocalValue(v8::Array::New(env->isolate, length)); in OH_JSVM_CreateArrayWithLength()
2843 return jsvm_clear_last_error(env); in OH_JSVM_CreateArrayWithLength()
2846 JSVM_Status JSVM_CDECL OH_JSVM_CreateStringLatin1(JSVM_Env env, in OH_JSVM_CreateStringLatin1() argument
2850 return v8impl::NewString(env, str, length, result, [&](v8::Isolate* isolate) { in OH_JSVM_CreateStringLatin1()
2858 JSVM_Status JSVM_CDECL OH_JSVM_CreateStringUtf8(JSVM_Env env, in OH_JSVM_CreateStringUtf8() argument
2862 return v8impl::NewString(env, str, length, result, [&](v8::Isolate* isolate) { in OH_JSVM_CreateStringUtf8()
2868 JSVM_Status JSVM_CDECL OH_JSVM_CreateStringUtf16(JSVM_Env env, in OH_JSVM_CreateStringUtf16() argument
2872 return v8impl::NewString(env, str, length, result, [&](v8::Isolate* isolate) { in OH_JSVM_CreateStringUtf16()
2880 JSVM_Status JSVM_CDECL OH_JSVM_CreateDouble(JSVM_Env env, in OH_JSVM_CreateDouble() argument
2883 CHECK_ENV(env); in OH_JSVM_CreateDouble()
2884 CHECK_ARG(env, result); in OH_JSVM_CreateDouble()
2887 v8impl::JsValueFromV8LocalValue(v8::Number::New(env->isolate, value)); in OH_JSVM_CreateDouble()
2889 return jsvm_clear_last_error(env); in OH_JSVM_CreateDouble()
2892 JSVM_Status JSVM_CDECL OH_JSVM_CreateInt32(JSVM_Env env, in OH_JSVM_CreateInt32() argument
2895 CHECK_ENV(env); in OH_JSVM_CreateInt32()
2896 CHECK_ARG(env, result); in OH_JSVM_CreateInt32()
2899 v8impl::JsValueFromV8LocalValue(v8::Integer::New(env->isolate, value)); in OH_JSVM_CreateInt32()
2901 return jsvm_clear_last_error(env); in OH_JSVM_CreateInt32()
2904 JSVM_Status JSVM_CDECL OH_JSVM_CreateUint32(JSVM_Env env, in OH_JSVM_CreateUint32() argument
2907 CHECK_ENV(env); in OH_JSVM_CreateUint32()
2908 CHECK_ARG(env, result); in OH_JSVM_CreateUint32()
2911 v8::Integer::NewFromUnsigned(env->isolate, value)); in OH_JSVM_CreateUint32()
2913 return jsvm_clear_last_error(env); in OH_JSVM_CreateUint32()
2916 JSVM_Status JSVM_CDECL OH_JSVM_CreateInt64(JSVM_Env env, in OH_JSVM_CreateInt64() argument
2919 CHECK_ENV(env); in OH_JSVM_CreateInt64()
2920 CHECK_ARG(env, result); in OH_JSVM_CreateInt64()
2923 v8::Number::New(env->isolate, static_cast<double>(value))); in OH_JSVM_CreateInt64()
2925 return jsvm_clear_last_error(env); in OH_JSVM_CreateInt64()
2928 JSVM_Status JSVM_CDECL OH_JSVM_CreateBigintInt64(JSVM_Env env, in OH_JSVM_CreateBigintInt64() argument
2931 CHECK_ENV(env); in OH_JSVM_CreateBigintInt64()
2932 CHECK_ARG(env, result); in OH_JSVM_CreateBigintInt64()
2935 v8impl::JsValueFromV8LocalValue(v8::BigInt::New(env->isolate, value)); in OH_JSVM_CreateBigintInt64()
2937 return jsvm_clear_last_error(env); in OH_JSVM_CreateBigintInt64()
2940 JSVM_Status JSVM_CDECL OH_JSVM_CreateBigintUint64(JSVM_Env env, in OH_JSVM_CreateBigintUint64() argument
2943 CHECK_ENV(env); in OH_JSVM_CreateBigintUint64()
2944 CHECK_ARG(env, result); in OH_JSVM_CreateBigintUint64()
2947 v8::BigInt::NewFromUnsigned(env->isolate, value)); in OH_JSVM_CreateBigintUint64()
2949 return jsvm_clear_last_error(env); in OH_JSVM_CreateBigintUint64()
2952 JSVM_Status JSVM_CDECL OH_JSVM_CreateBigintWords(JSVM_Env env, in OH_JSVM_CreateBigintWords() argument
2957 JSVM_PREAMBLE(env); in OH_JSVM_CreateBigintWords()
2958 CHECK_ARG(env, words); in OH_JSVM_CreateBigintWords()
2959 CHECK_ARG(env, result); in OH_JSVM_CreateBigintWords()
2961 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CreateBigintWords()
2963 RETURN_STATUS_IF_FALSE(env, wordCount <= INT_MAX, JSVM_INVALID_ARG); in OH_JSVM_CreateBigintWords()
2968 CHECK_MAYBE_EMPTY_WITH_PREAMBLE(env, b, JSVM_GENERIC_FAILURE); in OH_JSVM_CreateBigintWords()
2971 return GET_RETURN_STATUS(env); in OH_JSVM_CreateBigintWords()
2974 JSVM_Status JSVM_CDECL OH_JSVM_GetBoolean(JSVM_Env env, in OH_JSVM_GetBoolean() argument
2977 CHECK_ENV(env); in OH_JSVM_GetBoolean()
2978 CHECK_ARG(env, result); in OH_JSVM_GetBoolean()
2980 v8::Isolate* isolate = env->isolate; in OH_JSVM_GetBoolean()
2988 return jsvm_clear_last_error(env); in OH_JSVM_GetBoolean()
2991 JSVM_Status JSVM_CDECL OH_JSVM_CreateSymbol(JSVM_Env env, in OH_JSVM_CreateSymbol() argument
2994 CHECK_ENV(env); in OH_JSVM_CreateSymbol()
2995 CHECK_ARG(env, result); in OH_JSVM_CreateSymbol()
2997 v8::Isolate* isolate = env->isolate; in OH_JSVM_CreateSymbol()
3003 RETURN_STATUS_IF_FALSE(env, desc->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CreateSymbol()
3009 return jsvm_clear_last_error(env); in OH_JSVM_CreateSymbol()
3012 JSVM_Status JSVM_CDECL OH_JSVM_SymbolFor(JSVM_Env env, in OH_JSVM_SymbolFor() argument
3016 CHECK_ENV(env); in OH_JSVM_SymbolFor()
3017 CHECK_ARG(env, result); in OH_JSVM_SymbolFor()
3021 env, utf8description, length, &js_description_string)); in OH_JSVM_SymbolFor()
3026 v8::Symbol::For(env->isolate, description_string)); in OH_JSVM_SymbolFor()
3028 return jsvm_clear_last_error(env); in OH_JSVM_SymbolFor()
3031 static inline JSVM_Status set_error_code(JSVM_Env env, in set_error_code() argument
3036 v8::Local<v8::Context> context = env->context(); in set_error_code()
3042 RETURN_STATUS_IF_FALSE(env, code_value->IsString(), JSVM_STRING_EXPECTED); in set_error_code()
3044 CHECK_NEW_FROM_UTF8(env, code_value, code_cstring); in set_error_code()
3048 CHECK_NEW_FROM_UTF8(env, code_key, "code"); in set_error_code()
3052 env, set_maybe.FromMaybe(false), JSVM_GENERIC_FAILURE); in set_error_code()
3057 JSVM_Status JSVM_CDECL OH_JSVM_CreateError(JSVM_Env env, in OH_JSVM_CreateError() argument
3061 CHECK_ENV(env); in OH_JSVM_CreateError()
3062 CHECK_ARG(env, msg); in OH_JSVM_CreateError()
3063 CHECK_ARG(env, result); in OH_JSVM_CreateError()
3066 RETURN_STATUS_IF_FALSE(env, message_value->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CreateError()
3070 STATUS_CALL(set_error_code(env, error_obj, code, nullptr)); in OH_JSVM_CreateError()
3074 return jsvm_clear_last_error(env); in OH_JSVM_CreateError()
3077 JSVM_Status JSVM_CDECL OH_JSVM_CreateTypeError(JSVM_Env env, in OH_JSVM_CreateTypeError() argument
3081 CHECK_ENV(env); in OH_JSVM_CreateTypeError()
3082 CHECK_ARG(env, msg); in OH_JSVM_CreateTypeError()
3083 CHECK_ARG(env, result); in OH_JSVM_CreateTypeError()
3086 RETURN_STATUS_IF_FALSE(env, message_value->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CreateTypeError()
3090 STATUS_CALL(set_error_code(env, error_obj, code, nullptr)); in OH_JSVM_CreateTypeError()
3094 return jsvm_clear_last_error(env); in OH_JSVM_CreateTypeError()
3097 JSVM_Status JSVM_CDECL OH_JSVM_CreateRangeError(JSVM_Env env, in OH_JSVM_CreateRangeError() argument
3101 CHECK_ENV(env); in OH_JSVM_CreateRangeError()
3102 CHECK_ARG(env, msg); in OH_JSVM_CreateRangeError()
3103 CHECK_ARG(env, result); in OH_JSVM_CreateRangeError()
3106 RETURN_STATUS_IF_FALSE(env, message_value->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CreateRangeError()
3110 STATUS_CALL(set_error_code(env, error_obj, code, nullptr)); in OH_JSVM_CreateRangeError()
3114 return jsvm_clear_last_error(env); in OH_JSVM_CreateRangeError()
3117 JSVM_Status JSVM_CDECL OH_JSVM_CreateSyntaxError(JSVM_Env env, in OH_JSVM_CreateSyntaxError() argument
3121 CHECK_ENV(env); in OH_JSVM_CreateSyntaxError()
3122 CHECK_ARG(env, msg); in OH_JSVM_CreateSyntaxError()
3123 CHECK_ARG(env, result); in OH_JSVM_CreateSyntaxError()
3126 RETURN_STATUS_IF_FALSE(env, message_value->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CreateSyntaxError()
3130 STATUS_CALL(set_error_code(env, error_obj, code, nullptr)); in OH_JSVM_CreateSyntaxError()
3134 return jsvm_clear_last_error(env); in OH_JSVM_CreateSyntaxError()
3137 JSVM_Status JSVM_CDECL OH_JSVM_Typeof(JSVM_Env env, in OH_JSVM_Typeof() argument
3142 CHECK_ENV(env); in OH_JSVM_Typeof()
3143 CHECK_ARG(env, value); in OH_JSVM_Typeof()
3144 CHECK_ARG(env, result); in OH_JSVM_Typeof()
3174 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_Typeof()
3177 return jsvm_clear_last_error(env); in OH_JSVM_Typeof()
3180 JSVM_Status JSVM_CDECL OH_JSVM_GetUndefined(JSVM_Env env, JSVM_Value* result) { in OH_JSVM_GetUndefined() argument
3181 CHECK_ENV(env); in OH_JSVM_GetUndefined()
3182 CHECK_ARG(env, result); in OH_JSVM_GetUndefined()
3184 *result = v8impl::JsValueFromV8LocalValue(v8::Undefined(env->isolate)); in OH_JSVM_GetUndefined()
3186 return jsvm_clear_last_error(env); in OH_JSVM_GetUndefined()
3189 JSVM_Status JSVM_CDECL OH_JSVM_GetNull(JSVM_Env env, JSVM_Value* result) { in OH_JSVM_GetNull() argument
3190 CHECK_ENV(env); in OH_JSVM_GetNull()
3191 CHECK_ARG(env, result); in OH_JSVM_GetNull()
3193 *result = v8impl::JsValueFromV8LocalValue(v8::Null(env->isolate)); in OH_JSVM_GetNull()
3195 return jsvm_clear_last_error(env); in OH_JSVM_GetNull()
3200 JSVM_Env env, // [in] JSVM environment handle in OH_JSVM_GetCbInfo() argument
3207 CHECK_ENV(env); in OH_JSVM_GetCbInfo()
3208 CHECK_ARG(env, cbinfo); in OH_JSVM_GetCbInfo()
3214 CHECK_ARG(env, argc); in OH_JSVM_GetCbInfo()
3227 return jsvm_clear_last_error(env); in OH_JSVM_GetCbInfo()
3230 JSVM_Status JSVM_CDECL OH_JSVM_GetNewTarget(JSVM_Env env, in OH_JSVM_GetNewTarget() argument
3233 CHECK_ENV(env); in OH_JSVM_GetNewTarget()
3234 CHECK_ARG(env, cbinfo); in OH_JSVM_GetNewTarget()
3235 CHECK_ARG(env, result); in OH_JSVM_GetNewTarget()
3241 return jsvm_clear_last_error(env); in OH_JSVM_GetNewTarget()
3244 JSVM_Status JSVM_CDECL OH_JSVM_CallFunction(JSVM_Env env, in OH_JSVM_CallFunction() argument
3250 JSVM_PREAMBLE(env); in OH_JSVM_CallFunction()
3251 CHECK_ARG(env, recv); in OH_JSVM_CallFunction()
3253 CHECK_ARG(env, argv); in OH_JSVM_CallFunction()
3256 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CallFunction()
3261 CHECK_TO_FUNCTION(env, v8func, func); in OH_JSVM_CallFunction()
3270 return jsvm_set_last_error(env, JSVM_PENDING_EXCEPTION); in OH_JSVM_CallFunction()
3273 CHECK_MAYBE_EMPTY(env, maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_CallFunction()
3276 return jsvm_clear_last_error(env); in OH_JSVM_CallFunction()
3280 JSVM_Status JSVM_CDECL OH_JSVM_GetGlobal(JSVM_Env env, JSVM_Value* result) { in OH_JSVM_GetGlobal() argument
3281 CHECK_ENV(env); in OH_JSVM_GetGlobal()
3282 CHECK_ARG(env, result); in OH_JSVM_GetGlobal()
3284 *result = v8impl::JsValueFromV8LocalValue(env->context()->Global()); in OH_JSVM_GetGlobal()
3286 return jsvm_clear_last_error(env); in OH_JSVM_GetGlobal()
3289 JSVM_Status JSVM_CDECL OH_JSVM_Throw(JSVM_Env env, JSVM_Value error) { in OH_JSVM_Throw() argument
3290 JSVM_PREAMBLE(env); in OH_JSVM_Throw()
3291 CHECK_ARG(env, error); in OH_JSVM_Throw()
3293 v8::Isolate* isolate = env->isolate; in OH_JSVM_Throw()
3298 return jsvm_clear_last_error(env); in OH_JSVM_Throw()
3301 JSVM_Status JSVM_CDECL OH_JSVM_ThrowError(JSVM_Env env, in OH_JSVM_ThrowError() argument
3304 JSVM_PREAMBLE(env); in OH_JSVM_ThrowError()
3306 v8::Isolate* isolate = env->isolate; in OH_JSVM_ThrowError()
3308 CHECK_NEW_FROM_UTF8(env, str, msg); in OH_JSVM_ThrowError()
3311 STATUS_CALL(set_error_code(env, error_obj, nullptr, code)); in OH_JSVM_ThrowError()
3316 return jsvm_clear_last_error(env); in OH_JSVM_ThrowError()
3319 JSVM_Status JSVM_CDECL OH_JSVM_ThrowTypeError(JSVM_Env env, in OH_JSVM_ThrowTypeError() argument
3322 JSVM_PREAMBLE(env); in OH_JSVM_ThrowTypeError()
3324 v8::Isolate* isolate = env->isolate; in OH_JSVM_ThrowTypeError()
3326 CHECK_NEW_FROM_UTF8(env, str, msg); in OH_JSVM_ThrowTypeError()
3329 STATUS_CALL(set_error_code(env, error_obj, nullptr, code)); in OH_JSVM_ThrowTypeError()
3334 return jsvm_clear_last_error(env); in OH_JSVM_ThrowTypeError()
3337 JSVM_Status JSVM_CDECL OH_JSVM_ThrowRangeError(JSVM_Env env, in OH_JSVM_ThrowRangeError() argument
3340 JSVM_PREAMBLE(env); in OH_JSVM_ThrowRangeError()
3342 v8::Isolate* isolate = env->isolate; in OH_JSVM_ThrowRangeError()
3344 CHECK_NEW_FROM_UTF8(env, str, msg); in OH_JSVM_ThrowRangeError()
3347 STATUS_CALL(set_error_code(env, error_obj, nullptr, code)); in OH_JSVM_ThrowRangeError()
3352 return jsvm_clear_last_error(env); in OH_JSVM_ThrowRangeError()
3355 JSVM_Status JSVM_CDECL OH_JSVM_ThrowSyntaxError(JSVM_Env env, in OH_JSVM_ThrowSyntaxError() argument
3358 JSVM_PREAMBLE(env); in OH_JSVM_ThrowSyntaxError()
3360 v8::Isolate* isolate = env->isolate; in OH_JSVM_ThrowSyntaxError()
3362 CHECK_NEW_FROM_UTF8(env, str, msg); in OH_JSVM_ThrowSyntaxError()
3365 STATUS_CALL(set_error_code(env, error_obj, nullptr, code)); in OH_JSVM_ThrowSyntaxError()
3370 return jsvm_clear_last_error(env); in OH_JSVM_ThrowSyntaxError()
3373 JSVM_Status JSVM_CDECL OH_JSVM_IsError(JSVM_Env env, in OH_JSVM_IsError() argument
3378 CHECK_ENV(env); in OH_JSVM_IsError()
3379 CHECK_ARG(env, value); in OH_JSVM_IsError()
3380 CHECK_ARG(env, result); in OH_JSVM_IsError()
3385 return jsvm_clear_last_error(env); in OH_JSVM_IsError()
3388 JSVM_Status JSVM_CDECL OH_JSVM_GetValueDouble(JSVM_Env env, in OH_JSVM_GetValueDouble() argument
3393 CHECK_ENV(env); in OH_JSVM_GetValueDouble()
3394 CHECK_ARG(env, value); in OH_JSVM_GetValueDouble()
3395 CHECK_ARG(env, result); in OH_JSVM_GetValueDouble()
3398 RETURN_STATUS_IF_FALSE(env, val->IsNumber(), JSVM_NUMBER_EXPECTED); in OH_JSVM_GetValueDouble()
3402 return jsvm_clear_last_error(env); in OH_JSVM_GetValueDouble()
3405 JSVM_Status JSVM_CDECL OH_JSVM_GetValueInt32(JSVM_Env env, in OH_JSVM_GetValueInt32() argument
3410 CHECK_ENV(env); in OH_JSVM_GetValueInt32()
3411 CHECK_ARG(env, value); in OH_JSVM_GetValueInt32()
3412 CHECK_ARG(env, result); in OH_JSVM_GetValueInt32()
3419 RETURN_STATUS_IF_FALSE(env, val->IsNumber(), JSVM_NUMBER_EXPECTED); in OH_JSVM_GetValueInt32()
3426 return jsvm_clear_last_error(env); in OH_JSVM_GetValueInt32()
3429 JSVM_Status JSVM_CDECL OH_JSVM_GetValueUint32(JSVM_Env env, in OH_JSVM_GetValueUint32() argument
3434 CHECK_ENV(env); in OH_JSVM_GetValueUint32()
3435 CHECK_ARG(env, value); in OH_JSVM_GetValueUint32()
3436 CHECK_ARG(env, result); in OH_JSVM_GetValueUint32()
3443 RETURN_STATUS_IF_FALSE(env, val->IsNumber(), JSVM_NUMBER_EXPECTED); in OH_JSVM_GetValueUint32()
3450 return jsvm_clear_last_error(env); in OH_JSVM_GetValueUint32()
3453 JSVM_Status JSVM_CDECL OH_JSVM_GetValueInt64(JSVM_Env env, in OH_JSVM_GetValueInt64() argument
3458 CHECK_ENV(env); in OH_JSVM_GetValueInt64()
3459 CHECK_ARG(env, value); in OH_JSVM_GetValueInt64()
3460 CHECK_ARG(env, result); in OH_JSVM_GetValueInt64()
3467 return jsvm_clear_last_error(env); in OH_JSVM_GetValueInt64()
3470 RETURN_STATUS_IF_FALSE(env, val->IsNumber(), JSVM_NUMBER_EXPECTED); in OH_JSVM_GetValueInt64()
3484 return jsvm_clear_last_error(env); in OH_JSVM_GetValueInt64()
3487 JSVM_Status JSVM_CDECL OH_JSVM_GetValueBigintInt64(JSVM_Env env, in OH_JSVM_GetValueBigintInt64() argument
3491 CHECK_ENV(env); in OH_JSVM_GetValueBigintInt64()
3492 CHECK_ARG(env, value); in OH_JSVM_GetValueBigintInt64()
3493 CHECK_ARG(env, result); in OH_JSVM_GetValueBigintInt64()
3494 CHECK_ARG(env, lossless); in OH_JSVM_GetValueBigintInt64()
3498 RETURN_STATUS_IF_FALSE(env, val->IsBigInt(), JSVM_BIGINT_EXPECTED); in OH_JSVM_GetValueBigintInt64()
3502 return jsvm_clear_last_error(env); in OH_JSVM_GetValueBigintInt64()
3505 JSVM_Status JSVM_CDECL OH_JSVM_GetValueBigintUint64(JSVM_Env env, in OH_JSVM_GetValueBigintUint64() argument
3509 CHECK_ENV(env); in OH_JSVM_GetValueBigintUint64()
3510 CHECK_ARG(env, value); in OH_JSVM_GetValueBigintUint64()
3511 CHECK_ARG(env, result); in OH_JSVM_GetValueBigintUint64()
3512 CHECK_ARG(env, lossless); in OH_JSVM_GetValueBigintUint64()
3516 RETURN_STATUS_IF_FALSE(env, val->IsBigInt(), JSVM_BIGINT_EXPECTED); in OH_JSVM_GetValueBigintUint64()
3520 return jsvm_clear_last_error(env); in OH_JSVM_GetValueBigintUint64()
3523 JSVM_Status JSVM_CDECL OH_JSVM_GetValueBigintWords(JSVM_Env env, in OH_JSVM_GetValueBigintWords() argument
3528 CHECK_ENV(env); in OH_JSVM_GetValueBigintWords()
3529 CHECK_ARG(env, value); in OH_JSVM_GetValueBigintWords()
3530 CHECK_ARG(env, wordCount); in OH_JSVM_GetValueBigintWords()
3534 RETURN_STATUS_IF_FALSE(env, val->IsBigInt(), JSVM_BIGINT_EXPECTED); in OH_JSVM_GetValueBigintWords()
3543 CHECK_ARG(env, signBit); in OH_JSVM_GetValueBigintWords()
3544 CHECK_ARG(env, words); in OH_JSVM_GetValueBigintWords()
3550 return jsvm_clear_last_error(env); in OH_JSVM_GetValueBigintWords()
3553 JSVM_Status JSVM_CDECL OH_JSVM_GetValueBool(JSVM_Env env, in OH_JSVM_GetValueBool() argument
3558 CHECK_ENV(env); in OH_JSVM_GetValueBool()
3559 CHECK_ARG(env, value); in OH_JSVM_GetValueBool()
3560 CHECK_ARG(env, result); in OH_JSVM_GetValueBool()
3563 RETURN_STATUS_IF_FALSE(env, val->IsBoolean(), JSVM_BOOLEAN_EXPECTED); in OH_JSVM_GetValueBool()
3567 return jsvm_clear_last_error(env); in OH_JSVM_GetValueBool()
3579 JSVM_Env env, JSVM_Value value, char* buf, size_t bufsize, size_t* result) { in OH_JSVM_GetValueStringLatin1() argument
3580 CHECK_ENV(env); in OH_JSVM_GetValueStringLatin1()
3581 CHECK_ARG(env, value); in OH_JSVM_GetValueStringLatin1()
3584 RETURN_STATUS_IF_FALSE(env, val->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_GetValueStringLatin1()
3587 CHECK_ARG(env, result); in OH_JSVM_GetValueStringLatin1()
3591 val.As<v8::String>()->WriteOneByte(env->isolate, in OH_JSVM_GetValueStringLatin1()
3605 return jsvm_clear_last_error(env); in OH_JSVM_GetValueStringLatin1()
3617 JSVM_Env env, JSVM_Value value, char* buf, size_t bufsize, size_t* result) { in OH_JSVM_GetValueStringUtf8() argument
3618 CHECK_ENV(env); in OH_JSVM_GetValueStringUtf8()
3619 CHECK_ARG(env, value); in OH_JSVM_GetValueStringUtf8()
3622 RETURN_STATUS_IF_FALSE(env, val->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_GetValueStringUtf8()
3625 CHECK_ARG(env, result); in OH_JSVM_GetValueStringUtf8()
3626 *result = val.As<v8::String>()->Utf8Length(env->isolate); in OH_JSVM_GetValueStringUtf8()
3629 env->isolate, in OH_JSVM_GetValueStringUtf8()
3643 return jsvm_clear_last_error(env); in OH_JSVM_GetValueStringUtf8()
3654 JSVM_Status JSVM_CDECL OH_JSVM_GetValueStringUtf16(JSVM_Env env, in OH_JSVM_GetValueStringUtf16() argument
3659 CHECK_ENV(env); in OH_JSVM_GetValueStringUtf16()
3660 CHECK_ARG(env, value); in OH_JSVM_GetValueStringUtf16()
3663 RETURN_STATUS_IF_FALSE(env, val->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_GetValueStringUtf16()
3666 CHECK_ARG(env, result); in OH_JSVM_GetValueStringUtf16()
3670 int copied = val.As<v8::String>()->Write(env->isolate, in OH_JSVM_GetValueStringUtf16()
3684 return jsvm_clear_last_error(env); in OH_JSVM_GetValueStringUtf16()
3687 JSVM_Status JSVM_CDECL OH_JSVM_CoerceToBool(JSVM_Env env, in OH_JSVM_CoerceToBool() argument
3690 JSVM_PREAMBLE(env); in OH_JSVM_CoerceToBool()
3691 CHECK_ARG(env, value); in OH_JSVM_CoerceToBool()
3692 CHECK_ARG(env, result); in OH_JSVM_CoerceToBool()
3694 v8::Isolate* isolate = env->isolate; in OH_JSVM_CoerceToBool()
3698 return GET_RETURN_STATUS(env); in OH_JSVM_CoerceToBool()
3703 JSVM_Env env, JSVM_Value value, JSVM_Value* result) { \
3704 JSVM_PREAMBLE(env); \
3705 CHECK_ARG(env, value); \
3706 CHECK_ARG(env, result); \
3708 v8::Local<v8::Context> context = env->context(); \
3711 CHECK_TO_##UpperCaseName(env, context, str, value); \
3714 return GET_RETURN_STATUS(env); \
3724 JSVM_Status JSVM_CDECL OH_JSVM_Wrap(JSVM_Env env, in GEN_COERCE_FUNCTION()
3731 env, jsObject, nativeObject, finalizeCb, finalizeHint, result); in GEN_COERCE_FUNCTION()
3734 JSVM_Status JSVM_CDECL OH_JSVM_Unwrap(JSVM_Env env, in OH_JSVM_Unwrap() argument
3737 return v8impl::Unwrap(env, obj, result, v8impl::KeepWrap); in OH_JSVM_Unwrap()
3740 JSVM_Status JSVM_CDECL OH_JSVM_RemoveWrap(JSVM_Env env, in OH_JSVM_RemoveWrap() argument
3743 return v8impl::Unwrap(env, obj, result, v8impl::RemoveWrap); in OH_JSVM_RemoveWrap()
3746 JSVM_Status JSVM_CDECL OH_JSVM_CreateExternal(JSVM_Env env, in OH_JSVM_CreateExternal() argument
3751 JSVM_PREAMBLE(env); in OH_JSVM_CreateExternal()
3752 CHECK_ARG(env, result); in OH_JSVM_CreateExternal()
3754 v8::Isolate* isolate = env->isolate; in OH_JSVM_CreateExternal()
3761 v8impl::Reference::New(env, in OH_JSVM_CreateExternal()
3772 return jsvm_clear_last_error(env); in OH_JSVM_CreateExternal()
3775 JSVM_Status JSVM_CDECL OH_JSVM_TypeTagObject(JSVM_Env env, in OH_JSVM_TypeTagObject() argument
3778 JSVM_PREAMBLE(env); in OH_JSVM_TypeTagObject()
3779 v8::Local<v8::Context> context = env->context(); in OH_JSVM_TypeTagObject()
3781 CHECK_TO_OBJECT_WITH_PREAMBLE(env, context, obj, object); in OH_JSVM_TypeTagObject()
3782 CHECK_ARG_WITH_PREAMBLE(env, typeTag); in OH_JSVM_TypeTagObject()
3784 auto key = JSVM_PRIVATE_KEY(env->isolate, type_tag); in OH_JSVM_TypeTagObject()
3786 CHECK_MAYBE_NOTHING_WITH_PREAMBLE(env, maybe_has, JSVM_GENERIC_FAILURE); in OH_JSVM_TypeTagObject()
3788 env, !maybe_has.FromJust(), JSVM_INVALID_ARG); in OH_JSVM_TypeTagObject()
3792 CHECK_MAYBE_EMPTY_WITH_PREAMBLE(env, tag, JSVM_GENERIC_FAILURE); in OH_JSVM_TypeTagObject()
3795 CHECK_MAYBE_NOTHING_WITH_PREAMBLE(env, maybe_set, JSVM_GENERIC_FAILURE); in OH_JSVM_TypeTagObject()
3797 env, maybe_set.FromJust(), JSVM_GENERIC_FAILURE); in OH_JSVM_TypeTagObject()
3799 return GET_RETURN_STATUS(env); in OH_JSVM_TypeTagObject()
3802 JSVM_Status JSVM_CDECL OH_JSVM_CheckObjectTypeTag(JSVM_Env env, in OH_JSVM_CheckObjectTypeTag() argument
3806 JSVM_PREAMBLE(env); in OH_JSVM_CheckObjectTypeTag()
3807 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CheckObjectTypeTag()
3809 CHECK_TO_OBJECT_WITH_PREAMBLE(env, context, obj, object); in OH_JSVM_CheckObjectTypeTag()
3810 CHECK_ARG_WITH_PREAMBLE(env, typeTag); in OH_JSVM_CheckObjectTypeTag()
3811 CHECK_ARG_WITH_PREAMBLE(env, result); in OH_JSVM_CheckObjectTypeTag()
3814 obj->GetPrivate(context, JSVM_PRIVATE_KEY(env->isolate, type_tag)); in OH_JSVM_CheckObjectTypeTag()
3815 CHECK_MAYBE_EMPTY_WITH_PREAMBLE(env, maybe_value, JSVM_GENERIC_FAILURE); in OH_JSVM_CheckObjectTypeTag()
3840 return GET_RETURN_STATUS(env); in OH_JSVM_CheckObjectTypeTag()
3843 JSVM_Status JSVM_CDECL OH_JSVM_GetValueExternal(JSVM_Env env, in OH_JSVM_GetValueExternal() argument
3846 CHECK_ENV(env); in OH_JSVM_GetValueExternal()
3847 CHECK_ARG(env, value); in OH_JSVM_GetValueExternal()
3848 CHECK_ARG(env, result); in OH_JSVM_GetValueExternal()
3851 RETURN_STATUS_IF_FALSE(env, val->IsExternal(), JSVM_INVALID_ARG); in OH_JSVM_GetValueExternal()
3856 return jsvm_clear_last_error(env); in OH_JSVM_GetValueExternal()
3860 JSVM_Status JSVM_CDECL OH_JSVM_CreateReference(JSVM_Env env, in OH_JSVM_CreateReference() argument
3866 CHECK_ENV(env); in OH_JSVM_CreateReference()
3867 CHECK_ARG(env, value); in OH_JSVM_CreateReference()
3868 CHECK_ARG(env, result); in OH_JSVM_CreateReference()
3872 env, v8_value, initialRefcount, v8impl::Ownership::kUserland); in OH_JSVM_CreateReference()
3875 return jsvm_clear_last_error(env); in OH_JSVM_CreateReference()
3880 JSVM_Status JSVM_CDECL OH_JSVM_DeleteReference(JSVM_Env env, JSVM_Ref ref) { in OH_JSVM_DeleteReference() argument
3883 CHECK_ENV(env); in OH_JSVM_DeleteReference()
3884 CHECK_ARG(env, ref); in OH_JSVM_DeleteReference()
3888 return jsvm_clear_last_error(env); in OH_JSVM_DeleteReference()
3896 JSVM_Status JSVM_CDECL OH_JSVM_ReferenceRef(JSVM_Env env, in OH_JSVM_ReferenceRef() argument
3901 CHECK_ENV(env); in OH_JSVM_ReferenceRef()
3902 CHECK_ARG(env, ref); in OH_JSVM_ReferenceRef()
3906 return jsvm_set_last_error(env, JSVM_GENERIC_FAILURE); in OH_JSVM_ReferenceRef()
3914 return jsvm_clear_last_error(env); in OH_JSVM_ReferenceRef()
3921 JSVM_Status JSVM_CDECL OH_JSVM_ReferenceUnref(JSVM_Env env, in OH_JSVM_ReferenceUnref() argument
3926 CHECK_ENV(env); in OH_JSVM_ReferenceUnref()
3927 CHECK_ARG(env, ref); in OH_JSVM_ReferenceUnref()
3932 return jsvm_set_last_error(env, JSVM_GENERIC_FAILURE); in OH_JSVM_ReferenceUnref()
3941 return jsvm_clear_last_error(env); in OH_JSVM_ReferenceUnref()
3947 JSVM_Status JSVM_CDECL OH_JSVM_GetReferenceValue(JSVM_Env env, in OH_JSVM_GetReferenceValue() argument
3952 CHECK_ENV(env); in OH_JSVM_GetReferenceValue()
3953 CHECK_ARG(env, ref); in OH_JSVM_GetReferenceValue()
3954 CHECK_ARG(env, result); in OH_JSVM_GetReferenceValue()
3959 return jsvm_clear_last_error(env); in OH_JSVM_GetReferenceValue()
3962 JSVM_Status JSVM_CDECL OH_JSVM_OpenHandleScope(JSVM_Env env, in OH_JSVM_OpenHandleScope() argument
3966 CHECK_ENV(env); in OH_JSVM_OpenHandleScope()
3967 CHECK_ARG(env, result); in OH_JSVM_OpenHandleScope()
3970 new v8impl::HandleScopeWrapper(env->isolate)); in OH_JSVM_OpenHandleScope()
3971 env->open_handle_scopes++; in OH_JSVM_OpenHandleScope()
3972 return jsvm_clear_last_error(env); in OH_JSVM_OpenHandleScope()
3975 JSVM_Status JSVM_CDECL OH_JSVM_CloseHandleScope(JSVM_Env env, in OH_JSVM_CloseHandleScope() argument
3979 CHECK_ENV(env); in OH_JSVM_CloseHandleScope()
3980 CHECK_ARG(env, scope); in OH_JSVM_CloseHandleScope()
3981 if (env->open_handle_scopes == 0) { in OH_JSVM_CloseHandleScope()
3985 env->ReleaseJsvmData(); in OH_JSVM_CloseHandleScope()
3986 env->open_handle_scopes--; in OH_JSVM_CloseHandleScope()
3988 return jsvm_clear_last_error(env); in OH_JSVM_CloseHandleScope()
3992 JSVM_Env env, JSVM_EscapableHandleScope* result) { in OH_JSVM_OpenEscapableHandleScope() argument
3995 CHECK_ENV(env); in OH_JSVM_OpenEscapableHandleScope()
3996 CHECK_ARG(env, result); in OH_JSVM_OpenEscapableHandleScope()
3999 new v8impl::EscapableHandleScopeWrapper(env->isolate)); in OH_JSVM_OpenEscapableHandleScope()
4000 env->open_handle_scopes++; in OH_JSVM_OpenEscapableHandleScope()
4001 return jsvm_clear_last_error(env); in OH_JSVM_OpenEscapableHandleScope()
4005 JSVM_Env env, JSVM_EscapableHandleScope scope) { in OH_JSVM_CloseEscapableHandleScope() argument
4008 CHECK_ENV(env); in OH_JSVM_CloseEscapableHandleScope()
4009 CHECK_ARG(env, scope); in OH_JSVM_CloseEscapableHandleScope()
4010 if (env->open_handle_scopes == 0) { in OH_JSVM_CloseEscapableHandleScope()
4015 env->open_handle_scopes--; in OH_JSVM_CloseEscapableHandleScope()
4016 return jsvm_clear_last_error(env); in OH_JSVM_CloseEscapableHandleScope()
4019 JSVM_Status JSVM_CDECL OH_JSVM_EscapeHandle(JSVM_Env env, in OH_JSVM_EscapeHandle() argument
4025 CHECK_ENV(env); in OH_JSVM_EscapeHandle()
4026 CHECK_ARG(env, scope); in OH_JSVM_EscapeHandle()
4027 CHECK_ARG(env, escapee); in OH_JSVM_EscapeHandle()
4028 CHECK_ARG(env, result); in OH_JSVM_EscapeHandle()
4035 return jsvm_clear_last_error(env); in OH_JSVM_EscapeHandle()
4037 return jsvm_set_last_error(env, JSVM_ESCAPE_CALLED_TWICE); in OH_JSVM_EscapeHandle()
4040 JSVM_Status JSVM_CDECL OH_JSVM_NewInstance(JSVM_Env env, in OH_JSVM_NewInstance() argument
4045 JSVM_PREAMBLE(env); in OH_JSVM_NewInstance()
4046 CHECK_ARG(env, constructor); in OH_JSVM_NewInstance()
4048 CHECK_ARG(env, argv); in OH_JSVM_NewInstance()
4050 CHECK_ARG(env, result); in OH_JSVM_NewInstance()
4052 v8::Local<v8::Context> context = env->context(); in OH_JSVM_NewInstance()
4055 CHECK_TO_FUNCTION(env, ctor, constructor); in OH_JSVM_NewInstance()
4062 CHECK_MAYBE_EMPTY(env, maybe, JSVM_PENDING_EXCEPTION); in OH_JSVM_NewInstance()
4065 return GET_RETURN_STATUS(env); in OH_JSVM_NewInstance()
4068 JSVM_Status JSVM_CDECL OH_JSVM_Instanceof(JSVM_Env env, in OH_JSVM_Instanceof() argument
4072 JSVM_PREAMBLE(env); in OH_JSVM_Instanceof()
4073 CHECK_ARG(env, object); in OH_JSVM_Instanceof()
4074 CHECK_ARG(env, result); in OH_JSVM_Instanceof()
4079 v8::Local<v8::Context> context = env->context(); in OH_JSVM_Instanceof()
4081 CHECK_TO_OBJECT(env, context, ctor, constructor); in OH_JSVM_Instanceof()
4085 env, "ERR_NAPI_CONS_FUNCTION", "Constructor must be a function"); in OH_JSVM_Instanceof()
4087 return jsvm_set_last_error(env, JSVM_FUNCTION_EXPECTED); in OH_JSVM_Instanceof()
4094 CHECK_MAYBE_NOTHING(env, maybe_result, status); in OH_JSVM_Instanceof()
4096 return GET_RETURN_STATUS(env); in OH_JSVM_Instanceof()
4100 JSVM_Status JSVM_CDECL OH_JSVM_IsExceptionPending(JSVM_Env env, bool* result) { in OH_JSVM_IsExceptionPending() argument
4103 CHECK_ENV(env); in OH_JSVM_IsExceptionPending()
4104 CHECK_ARG(env, result); in OH_JSVM_IsExceptionPending()
4106 *result = !env->last_exception.IsEmpty(); in OH_JSVM_IsExceptionPending()
4107 return jsvm_clear_last_error(env); in OH_JSVM_IsExceptionPending()
4110 JSVM_Status JSVM_CDECL OH_JSVM_GetAndClearLastException(JSVM_Env env, in OH_JSVM_GetAndClearLastException() argument
4114 CHECK_ENV(env); in OH_JSVM_GetAndClearLastException()
4115 CHECK_ARG(env, result); in OH_JSVM_GetAndClearLastException()
4117 if (env->last_exception.IsEmpty()) { in OH_JSVM_GetAndClearLastException()
4118 return OH_JSVM_GetUndefined(env, result); in OH_JSVM_GetAndClearLastException()
4121 v8::Local<v8::Value>::New(env->isolate, env->last_exception)); in OH_JSVM_GetAndClearLastException()
4122 env->last_exception.Reset(); in OH_JSVM_GetAndClearLastException()
4125 return jsvm_clear_last_error(env); in OH_JSVM_GetAndClearLastException()
4128 JSVM_Status JSVM_CDECL OH_JSVM_IsArraybuffer(JSVM_Env env, in OH_JSVM_IsArraybuffer() argument
4131 CHECK_ENV(env); in OH_JSVM_IsArraybuffer()
4132 CHECK_ARG(env, value); in OH_JSVM_IsArraybuffer()
4133 CHECK_ARG(env, result); in OH_JSVM_IsArraybuffer()
4138 return jsvm_clear_last_error(env); in OH_JSVM_IsArraybuffer()
4141 JSVM_Status JSVM_CDECL OH_JSVM_CreateArraybuffer(JSVM_Env env, in OH_JSVM_CreateArraybuffer() argument
4145 JSVM_PREAMBLE(env); in OH_JSVM_CreateArraybuffer()
4146 CHECK_ARG(env, result); in OH_JSVM_CreateArraybuffer()
4148 v8::Isolate* isolate = env->isolate; in OH_JSVM_CreateArraybuffer()
4159 return GET_RETURN_STATUS(env); in OH_JSVM_CreateArraybuffer()
4184 JSVM_Status JSVM_CDECL OH_JSVM_CreateArrayBufferFromBackingStoreData(JSVM_Env env, in OH_JSVM_CreateArrayBufferFromBackingStoreData() argument
4190 CHECK_ENV(env); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4191 JSVM_PREAMBLE(env); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4192 CHECK_ARG(env, data); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4193 CHECK_ARG(env, result); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4194 CHECK_ARG_NOT_ZERO(env, byteLength); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4195 CHECK_ARG_NOT_ZERO(env, slicedByteLength); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4198 RETURN_STATUS_IF_FALSE(env, offset + slicedByteLength <= byteLength, JSVM_INVALID_ARG); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4202 v8::ArrayBuffer::New(env->isolate, std::move(backingStore)); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4204 return jsvm_clear_last_error(env); in OH_JSVM_CreateArrayBufferFromBackingStoreData()
4208 OH_JSVM_CreateExternalArraybuffer(JSVM_Env env, in OH_JSVM_CreateExternalArraybuffer() argument
4219 env, byteLength, externalData, finalizeCb, finalizeHint, &buffer)); in OH_JSVM_CreateExternalArraybuffer()
4221 env, buffer, nullptr, nullptr, nullptr, result, nullptr); in OH_JSVM_CreateExternalArraybuffer()
4224 JSVM_Status JSVM_CDECL OH_JSVM_GetArraybufferInfo(JSVM_Env env, in OH_JSVM_GetArraybufferInfo() argument
4228 CHECK_ENV(env); in OH_JSVM_GetArraybufferInfo()
4229 CHECK_ARG(env, arraybuffer); in OH_JSVM_GetArraybufferInfo()
4232 RETURN_STATUS_IF_FALSE(env, value->IsArrayBuffer(), JSVM_INVALID_ARG); in OH_JSVM_GetArraybufferInfo()
4244 return jsvm_clear_last_error(env); in OH_JSVM_GetArraybufferInfo()
4247 JSVM_Status JSVM_CDECL OH_JSVM_IsTypedarray(JSVM_Env env, in OH_JSVM_IsTypedarray() argument
4250 CHECK_ENV(env); in OH_JSVM_IsTypedarray()
4251 CHECK_ARG(env, value); in OH_JSVM_IsTypedarray()
4252 CHECK_ARG(env, result); in OH_JSVM_IsTypedarray()
4257 return jsvm_clear_last_error(env); in OH_JSVM_IsTypedarray()
4260 JSVM_Status JSVM_CDECL OH_JSVM_CreateTypedarray(JSVM_Env env, in OH_JSVM_CreateTypedarray() argument
4266 JSVM_PREAMBLE(env); in OH_JSVM_CreateTypedarray()
4267 CHECK_ARG(env, arraybuffer); in OH_JSVM_CreateTypedarray()
4268 CHECK_ARG(env, result); in OH_JSVM_CreateTypedarray()
4271 RETURN_STATUS_IF_FALSE(env, value->IsArrayBuffer(), JSVM_INVALID_ARG); in OH_JSVM_CreateTypedarray()
4279 env, Int8Array, 1, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4283 env, Uint8Array, 1, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4287 env, Uint8ClampedArray, 1, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4291 env, Int16Array, 2, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4295 env, Uint16Array, 2, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4299 env, Int32Array, 4, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4303 env, Uint32Array, 4, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4307 env, Float32Array, 4, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4311 env, Float64Array, 8, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4315 env, BigInt64Array, 8, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4319 env, BigUint64Array, 8, buffer, byteOffset, length, typedArray); in OH_JSVM_CreateTypedarray()
4322 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_CreateTypedarray()
4326 return GET_RETURN_STATUS(env); in OH_JSVM_CreateTypedarray()
4329 JSVM_Status JSVM_CDECL OH_JSVM_GetTypedarrayInfo(JSVM_Env env, in OH_JSVM_GetTypedarrayInfo() argument
4336 CHECK_ENV(env); in OH_JSVM_GetTypedarrayInfo()
4337 CHECK_ARG(env, typedarray); in OH_JSVM_GetTypedarrayInfo()
4340 RETURN_STATUS_IF_FALSE(env, value->IsTypedArray(), JSVM_INVALID_ARG); in OH_JSVM_GetTypedarrayInfo()
4393 return jsvm_clear_last_error(env); in OH_JSVM_GetTypedarrayInfo()
4396 JSVM_Status JSVM_CDECL OH_JSVM_CreateDataview(JSVM_Env env, in OH_JSVM_CreateDataview() argument
4401 JSVM_PREAMBLE(env); in OH_JSVM_CreateDataview()
4402 CHECK_ARG(env, arraybuffer); in OH_JSVM_CreateDataview()
4403 CHECK_ARG(env, result); in OH_JSVM_CreateDataview()
4406 RETURN_STATUS_IF_FALSE(env, value->IsArrayBuffer(), JSVM_INVALID_ARG); in OH_JSVM_CreateDataview()
4410 OH_JSVM_ThrowRangeError(env, in OH_JSVM_CreateDataview()
4414 return jsvm_set_last_error(env, JSVM_PENDING_EXCEPTION); in OH_JSVM_CreateDataview()
4420 return GET_RETURN_STATUS(env); in OH_JSVM_CreateDataview()
4423 JSVM_Status JSVM_CDECL OH_JSVM_IsDataview(JSVM_Env env, in OH_JSVM_IsDataview() argument
4426 CHECK_ENV(env); in OH_JSVM_IsDataview()
4427 CHECK_ARG(env, value); in OH_JSVM_IsDataview()
4428 CHECK_ARG(env, result); in OH_JSVM_IsDataview()
4433 return jsvm_clear_last_error(env); in OH_JSVM_IsDataview()
4436 JSVM_Status JSVM_CDECL OH_JSVM_GetDataviewInfo(JSVM_Env env, in OH_JSVM_GetDataviewInfo() argument
4442 CHECK_ENV(env); in OH_JSVM_GetDataviewInfo()
4443 CHECK_ARG(env, dataview); in OH_JSVM_GetDataviewInfo()
4446 RETURN_STATUS_IF_FALSE(env, value->IsDataView(), JSVM_INVALID_ARG); in OH_JSVM_GetDataviewInfo()
4473 return jsvm_clear_last_error(env); in OH_JSVM_GetDataviewInfo()
4476 JSVM_Status JSVM_CDECL OH_JSVM_GetVersion(JSVM_Env env, uint32_t* result) { in OH_JSVM_GetVersion() argument
4477 CHECK_ENV(env); in OH_JSVM_GetVersion()
4478 CHECK_ARG(env, result); in OH_JSVM_GetVersion()
4480 return jsvm_clear_last_error(env); in OH_JSVM_GetVersion()
4483 JSVM_Status JSVM_CDECL OH_JSVM_CreatePromise(JSVM_Env env, in OH_JSVM_CreatePromise() argument
4486 JSVM_PREAMBLE(env); in OH_JSVM_CreatePromise()
4487 CHECK_ARG(env, deferred); in OH_JSVM_CreatePromise()
4488 CHECK_ARG(env, promise); in OH_JSVM_CreatePromise()
4490 auto maybe = v8::Promise::Resolver::New(env->context()); in OH_JSVM_CreatePromise()
4491 CHECK_MAYBE_EMPTY(env, maybe, JSVM_GENERIC_FAILURE); in OH_JSVM_CreatePromise()
4495 v8_deferred->Reset(env->isolate, v8_resolver); in OH_JSVM_CreatePromise()
4499 return GET_RETURN_STATUS(env); in OH_JSVM_CreatePromise()
4502 JSVM_Status JSVM_CDECL OH_JSVM_ResolveDeferred(JSVM_Env env, in OH_JSVM_ResolveDeferred() argument
4505 return v8impl::ConcludeDeferred(env, deferred, resolution, true); in OH_JSVM_ResolveDeferred()
4508 JSVM_Status JSVM_CDECL OH_JSVM_RejectDeferred(JSVM_Env env, in OH_JSVM_RejectDeferred() argument
4511 return v8impl::ConcludeDeferred(env, deferred, resolution, false); in OH_JSVM_RejectDeferred()
4514 JSVM_Status JSVM_CDECL OH_JSVM_IsPromise(JSVM_Env env, in OH_JSVM_IsPromise() argument
4517 CHECK_ENV(env); in OH_JSVM_IsPromise()
4518 CHECK_ARG(env, value); in OH_JSVM_IsPromise()
4519 CHECK_ARG(env, is_promise); in OH_JSVM_IsPromise()
4523 return jsvm_clear_last_error(env); in OH_JSVM_IsPromise()
4526 JSVM_Status JSVM_CDECL OH_JSVM_CreateDate(JSVM_Env env, in OH_JSVM_CreateDate() argument
4529 JSVM_PREAMBLE(env); in OH_JSVM_CreateDate()
4530 CHECK_ARG(env, result); in OH_JSVM_CreateDate()
4532 v8::MaybeLocal<v8::Value> maybe_date = v8::Date::New(env->context(), time); in OH_JSVM_CreateDate()
4533 CHECK_MAYBE_EMPTY(env, maybe_date, JSVM_GENERIC_FAILURE); in OH_JSVM_CreateDate()
4537 return GET_RETURN_STATUS(env); in OH_JSVM_CreateDate()
4540 JSVM_Status JSVM_CDECL OH_JSVM_IsDate(JSVM_Env env, in OH_JSVM_IsDate() argument
4543 CHECK_ENV(env); in OH_JSVM_IsDate()
4544 CHECK_ARG(env, value); in OH_JSVM_IsDate()
4545 CHECK_ARG(env, isDate); in OH_JSVM_IsDate()
4549 return jsvm_clear_last_error(env); in OH_JSVM_IsDate()
4552 JSVM_Status JSVM_CDECL OH_JSVM_GetDateValue(JSVM_Env env, in OH_JSVM_GetDateValue() argument
4555 JSVM_PREAMBLE(env); in OH_JSVM_GetDateValue()
4556 CHECK_ARG(env, value); in OH_JSVM_GetDateValue()
4557 CHECK_ARG(env, result); in OH_JSVM_GetDateValue()
4560 RETURN_STATUS_IF_FALSE(env, val->IsDate(), JSVM_DATE_EXPECTED); in OH_JSVM_GetDateValue()
4565 return GET_RETURN_STATUS(env); in OH_JSVM_GetDateValue()
4568 JSVM_Status JSVM_CDECL OH_JSVM_AddFinalizer(JSVM_Env env, in OH_JSVM_AddFinalizer() argument
4576 CHECK_ENV(env); in OH_JSVM_AddFinalizer()
4577 CHECK_ARG(env, jsObject); in OH_JSVM_AddFinalizer()
4578 CHECK_ARG(env, finalizeCb); in OH_JSVM_AddFinalizer()
4581 RETURN_STATUS_IF_FALSE(env, v8_value->IsObject(), JSVM_INVALID_ARG); in OH_JSVM_AddFinalizer()
4589 env, v8_value, 0, ownership, finalizeCb, finalizeData, finalizeHint); in OH_JSVM_AddFinalizer()
4594 return jsvm_clear_last_error(env); in OH_JSVM_AddFinalizer()
4597 JSVM_Status JSVM_CDECL OH_JSVM_AdjustExternalMemory(JSVM_Env env, in OH_JSVM_AdjustExternalMemory() argument
4600 CHECK_ENV(env); in OH_JSVM_AdjustExternalMemory()
4601 CHECK_ARG(env, adjustedValue); in OH_JSVM_AdjustExternalMemory()
4604 env->isolate->AdjustAmountOfExternalAllocatedMemory(changeInBytes); in OH_JSVM_AdjustExternalMemory()
4606 return jsvm_clear_last_error(env); in OH_JSVM_AdjustExternalMemory()
4609 JSVM_Status JSVM_CDECL OH_JSVM_SetInstanceData(JSVM_Env env, in OH_JSVM_SetInstanceData() argument
4613 CHECK_ENV(env); in OH_JSVM_SetInstanceData()
4615 v8impl::RefBase* old_data = static_cast<v8impl::RefBase*>(env->instance_data); in OH_JSVM_SetInstanceData()
4622 env->instance_data = v8impl::RefBase::New( in OH_JSVM_SetInstanceData()
4623 env, 0, v8impl::Ownership::kRuntime, finalizeCb, data, finalizeHint); in OH_JSVM_SetInstanceData()
4625 return jsvm_clear_last_error(env); in OH_JSVM_SetInstanceData()
4628 JSVM_Status JSVM_CDECL OH_JSVM_GetInstanceData(JSVM_Env env, void** data) { in OH_JSVM_GetInstanceData() argument
4629 CHECK_ENV(env); in OH_JSVM_GetInstanceData()
4630 CHECK_ARG(env, data); in OH_JSVM_GetInstanceData()
4632 v8impl::RefBase* idata = static_cast<v8impl::RefBase*>(env->instance_data); in OH_JSVM_GetInstanceData()
4636 return jsvm_clear_last_error(env); in OH_JSVM_GetInstanceData()
4639 JSVM_Status JSVM_CDECL OH_JSVM_DetachArraybuffer(JSVM_Env env, in OH_JSVM_DetachArraybuffer() argument
4641 CHECK_ENV(env); in OH_JSVM_DetachArraybuffer()
4642 CHECK_ARG(env, arraybuffer); in OH_JSVM_DetachArraybuffer()
4646 env, value->IsArrayBuffer() || value->IsSharedArrayBuffer(), JSVM_ARRAYBUFFER_EXPECTED); in OH_JSVM_DetachArraybuffer()
4650 env, it->IsDetachable(), JSVM_DETACHABLE_ARRAYBUFFER_EXPECTED); in OH_JSVM_DetachArraybuffer()
4654 return jsvm_clear_last_error(env); in OH_JSVM_DetachArraybuffer()
4657 JSVM_Status JSVM_CDECL OH_JSVM_IsDetachedArraybuffer(JSVM_Env env, in OH_JSVM_IsDetachedArraybuffer() argument
4660 CHECK_ENV(env); in OH_JSVM_IsDetachedArraybuffer()
4661 CHECK_ARG(env, arraybuffer); in OH_JSVM_IsDetachedArraybuffer()
4662 CHECK_ARG(env, result); in OH_JSVM_IsDetachedArraybuffer()
4669 return jsvm_clear_last_error(env); in OH_JSVM_IsDetachedArraybuffer()
4673 OH_JSVM_DefineClassWithPropertyHandler(JSVM_Env env, in OH_JSVM_DefineClassWithPropertyHandler() argument
4682 JSVM_PREAMBLE(env); in OH_JSVM_DefineClassWithPropertyHandler()
4683 CHECK_ARG(env, result); in OH_JSVM_DefineClassWithPropertyHandler()
4684 CHECK_ARG(env, constructor); in OH_JSVM_DefineClassWithPropertyHandler()
4685 CHECK_ARG(env, constructor->callback); in OH_JSVM_DefineClassWithPropertyHandler()
4686 CHECK_ARG(env, propertyHandlerCfg); in OH_JSVM_DefineClassWithPropertyHandler()
4689 CHECK_ARG(env, properties); in OH_JSVM_DefineClassWithPropertyHandler()
4692 v8::Isolate* isolate = env->isolate; in OH_JSVM_DefineClassWithPropertyHandler()
4696 env, constructor, &tpl)); in OH_JSVM_DefineClassWithPropertyHandler()
4699 CHECK_NEW_FROM_UTF8_LEN(env, name_string, utf8name, length); in OH_JSVM_DefineClassWithPropertyHandler()
4713 STATUS_CALL(v8impl::V8NameFromPropertyDescriptor(env, p, &property_name)); in OH_JSVM_DefineClassWithPropertyHandler()
4725 env, p->getter, &getter_tpl)); in OH_JSVM_DefineClassWithPropertyHandler()
4729 env, p->setter, &setter_tpl)); in OH_JSVM_DefineClassWithPropertyHandler()
4741 env, p->method, &t)); in OH_JSVM_DefineClassWithPropertyHandler()
4744 env, p->method, &t, v8::Signature::New(isolate, tpl))); in OH_JSVM_DefineClassWithPropertyHandler()
4755 …v8impl::JSVM_PropertyHandlerCfgStruct* propertyHandleCfg = v8impl::CreatePropertyCfg(env, property… in OH_JSVM_DefineClassWithPropertyHandler()
4759 v8::Local<v8::Value> cbdata = v8impl::CallbackBundle::New(env, propertyHandleCfg); in OH_JSVM_DefineClassWithPropertyHandler()
4797 v8::Local<v8::Value> funcCbdata = v8impl::CallbackBundle::New(env, callAsFunctionCallback); in OH_JSVM_DefineClassWithPropertyHandler()
4801 v8::Local<v8::Context> context = env->context(); in OH_JSVM_DefineClassWithPropertyHandler()
4805 …v8impl::Reference::New(env, v8impl::V8LocalValueFromJsValue(*result), 0, v8impl::Ownership::kRunti… in OH_JSVM_DefineClassWithPropertyHandler()
4820 env, *result, static_descriptors.size(), static_descriptors.data())); in OH_JSVM_DefineClassWithPropertyHandler()
4823 return GET_RETURN_STATUS(env); in OH_JSVM_DefineClassWithPropertyHandler()
4826 JSVM_Status JSVM_CDECL OH_JSVM_IsLocked(JSVM_Env env, in OH_JSVM_IsLocked() argument
4828 CHECK_ENV(env); in OH_JSVM_IsLocked()
4829 CHECK_ARG(env, isLocked); in OH_JSVM_IsLocked()
4831 *isLocked = v8::Locker::IsLocked(env->isolate); in OH_JSVM_IsLocked()
4833 return jsvm_clear_last_error(env); in OH_JSVM_IsLocked()
4836 JSVM_Status JSVM_CDECL OH_JSVM_AcquireLock(JSVM_Env env) { in OH_JSVM_AcquireLock() argument
4837 CHECK_ENV(env); in OH_JSVM_AcquireLock()
4839 bool isLocked = v8::Locker::IsLocked(env->isolate); in OH_JSVM_AcquireLock()
4841 env->locker = new v8::Locker(env->isolate); in OH_JSVM_AcquireLock()
4844 return jsvm_clear_last_error(env); in OH_JSVM_AcquireLock()
4847 JSVM_Status JSVM_CDECL OH_JSVM_ReleaseLock(JSVM_Env env) { in OH_JSVM_ReleaseLock() argument
4848 CHECK_ENV(env); in OH_JSVM_ReleaseLock()
4850 bool isLocked = v8::Locker::IsLocked(env->isolate); in OH_JSVM_ReleaseLock()
4851 if (isLocked && env->locker != nullptr) { in OH_JSVM_ReleaseLock()
4852 delete env->locker; in OH_JSVM_ReleaseLock()
4853 env->locker = nullptr; in OH_JSVM_ReleaseLock()
4856 return jsvm_clear_last_error(env); in OH_JSVM_ReleaseLock()
4859 JSVM_Status JSVM_CDECL OH_JSVM_IsCallable(JSVM_Env env, in OH_JSVM_IsCallable() argument
4862 CHECK_ENV(env); in OH_JSVM_IsCallable()
4863 CHECK_ARG(env, value); in OH_JSVM_IsCallable()
4864 CHECK_ARG(env, isCallable); in OH_JSVM_IsCallable()
4869 return jsvm_clear_last_error(env); in OH_JSVM_IsCallable()
4872 JSVM_Status JSVM_CDECL OH_JSVM_IsUndefined(JSVM_Env env, in OH_JSVM_IsUndefined() argument
4877 CHECK_ENV(env); in OH_JSVM_IsUndefined()
4878 CHECK_ARG(env, value); in OH_JSVM_IsUndefined()
4879 CHECK_ARG(env, isUndefined); in OH_JSVM_IsUndefined()
4884 return jsvm_clear_last_error(env); in OH_JSVM_IsUndefined()
4887 JSVM_Status JSVM_CDECL OH_JSVM_IsNull(JSVM_Env env, in OH_JSVM_IsNull() argument
4892 CHECK_ENV(env); in OH_JSVM_IsNull()
4893 CHECK_ARG(env, value); in OH_JSVM_IsNull()
4894 CHECK_ARG(env, isNull); in OH_JSVM_IsNull()
4899 return jsvm_clear_last_error(env); in OH_JSVM_IsNull()
4902 JSVM_Status JSVM_CDECL OH_JSVM_IsNullOrUndefined(JSVM_Env env, in OH_JSVM_IsNullOrUndefined() argument
4907 CHECK_ENV(env); in OH_JSVM_IsNullOrUndefined()
4908 CHECK_ARG(env, value); in OH_JSVM_IsNullOrUndefined()
4909 CHECK_ARG(env, isNullOrUndefined); in OH_JSVM_IsNullOrUndefined()
4914 return jsvm_clear_last_error(env); in OH_JSVM_IsNullOrUndefined()
4917 JSVM_Status JSVM_CDECL OH_JSVM_IsBoolean(JSVM_Env env, in OH_JSVM_IsBoolean() argument
4922 CHECK_ENV(env); in OH_JSVM_IsBoolean()
4923 CHECK_ARG(env, value); in OH_JSVM_IsBoolean()
4924 CHECK_ARG(env, isBoolean); in OH_JSVM_IsBoolean()
4929 return jsvm_clear_last_error(env); in OH_JSVM_IsBoolean()
4932 JSVM_Status JSVM_CDECL OH_JSVM_IsNumber(JSVM_Env env, in OH_JSVM_IsNumber() argument
4937 CHECK_ENV(env); in OH_JSVM_IsNumber()
4938 CHECK_ARG(env, value); in OH_JSVM_IsNumber()
4939 CHECK_ARG(env, isNumber); in OH_JSVM_IsNumber()
4944 return jsvm_clear_last_error(env); in OH_JSVM_IsNumber()
4947 JSVM_Status JSVM_CDECL OH_JSVM_IsString(JSVM_Env env, in OH_JSVM_IsString() argument
4952 CHECK_ENV(env); in OH_JSVM_IsString()
4953 CHECK_ARG(env, value); in OH_JSVM_IsString()
4954 CHECK_ARG(env, isString); in OH_JSVM_IsString()
4959 return jsvm_clear_last_error(env); in OH_JSVM_IsString()
4962 JSVM_Status JSVM_CDECL OH_JSVM_IsSymbol(JSVM_Env env, in OH_JSVM_IsSymbol() argument
4967 CHECK_ENV(env); in OH_JSVM_IsSymbol()
4968 CHECK_ARG(env, value); in OH_JSVM_IsSymbol()
4969 CHECK_ARG(env, isSymbol); in OH_JSVM_IsSymbol()
4974 return jsvm_clear_last_error(env); in OH_JSVM_IsSymbol()
4977 JSVM_Status JSVM_CDECL OH_JSVM_IsFunction(JSVM_Env env, in OH_JSVM_IsFunction() argument
4982 CHECK_ENV(env); in OH_JSVM_IsFunction()
4983 CHECK_ARG(env, value); in OH_JSVM_IsFunction()
4984 CHECK_ARG(env, isFunction); in OH_JSVM_IsFunction()
4989 return jsvm_clear_last_error(env); in OH_JSVM_IsFunction()
4992 JSVM_Status JSVM_CDECL OH_JSVM_IsObject(JSVM_Env env, in OH_JSVM_IsObject() argument
4997 CHECK_ENV(env); in OH_JSVM_IsObject()
4998 CHECK_ARG(env, value); in OH_JSVM_IsObject()
4999 CHECK_ARG(env, isObject); in OH_JSVM_IsObject()
5004 return jsvm_clear_last_error(env); in OH_JSVM_IsObject()
5007 JSVM_Status JSVM_CDECL OH_JSVM_IsBigInt(JSVM_Env env, in OH_JSVM_IsBigInt() argument
5012 CHECK_ENV(env); in OH_JSVM_IsBigInt()
5013 CHECK_ARG(env, value); in OH_JSVM_IsBigInt()
5014 CHECK_ARG(env, isBigInt); in OH_JSVM_IsBigInt()
5019 return jsvm_clear_last_error(env); in OH_JSVM_IsBigInt()
5022 JSVM_Status JSVM_CDECL OH_JSVM_IsConstructor(JSVM_Env env, in OH_JSVM_IsConstructor() argument
5026 CHECK_ENV(env); in OH_JSVM_IsConstructor()
5027 CHECK_ARG(env, value); in OH_JSVM_IsConstructor()
5028 CHECK_ARG(env, isConstructor); in OH_JSVM_IsConstructor()
5033 return jsvm_clear_last_error(env); in OH_JSVM_IsConstructor()
5038 return jsvm_clear_last_error(env); in OH_JSVM_IsConstructor()
5041 JSVM_Status JSVM_CDECL OH_JSVM_CreateRegExp(JSVM_Env env, in OH_JSVM_CreateRegExp() argument
5046 JSVM_PREAMBLE(env); in OH_JSVM_CreateRegExp()
5047 CHECK_ARG(env, value); in OH_JSVM_CreateRegExp()
5048 CHECK_ARG(env, result); in OH_JSVM_CreateRegExp()
5051 RETURN_STATUS_IF_FALSE(env, pattern->IsString(), JSVM_STRING_EXPECTED); in OH_JSVM_CreateRegExp()
5052 v8::Local<v8::Context> context = env->context(); in OH_JSVM_CreateRegExp()
5055 CHECK_MAYBE_EMPTY(env, regExp, JSVM_GENERIC_FAILURE); in OH_JSVM_CreateRegExp()
5058 return GET_RETURN_STATUS(env); in OH_JSVM_CreateRegExp()
5061 JSVM_Status JSVM_CDECL OH_JSVM_CreateMap(JSVM_Env env, JSVM_Value* result) in OH_JSVM_CreateMap() argument
5063 CHECK_ENV(env); in OH_JSVM_CreateMap()
5064 CHECK_ARG(env, result); in OH_JSVM_CreateMap()
5066 *result = v8impl::JsValueFromV8LocalValue(v8::Map::New(env->isolate)); in OH_JSVM_CreateMap()
5068 return jsvm_clear_last_error(env); in OH_JSVM_CreateMap()
5071 JSVM_Status JSVM_CDECL OH_JSVM_IsMap(JSVM_Env env, in OH_JSVM_IsMap() argument
5075 CHECK_ENV(env); in OH_JSVM_IsMap()
5076 CHECK_ARG(env, value); in OH_JSVM_IsMap()
5077 CHECK_ARG(env, isMap); in OH_JSVM_IsMap()
5082 return jsvm_clear_last_error(env); in OH_JSVM_IsMap()
5085 JSVM_Status JSVM_CDECL OH_JSVM_RetainScript(JSVM_Env env, JSVM_Script script) { in OH_JSVM_RetainScript() argument
5086 CHECK_ENV(env); in OH_JSVM_RetainScript()
5089 RETURN_STATUS_IF_FALSE(env, jsvmData && !jsvmData->isGlobal, JSVM_INVALID_ARG); in OH_JSVM_RetainScript()
5092 env->isolate, jsvmData->ToV8Local<v8::Script>(env->isolate)); in OH_JSVM_RetainScript()
5095 return jsvm_clear_last_error(env); in OH_JSVM_RetainScript()
5098 JSVM_Status JSVM_CDECL OH_JSVM_ReleaseScript(JSVM_Env env, JSVM_Script script) { in OH_JSVM_ReleaseScript() argument
5099 CHECK_ENV(env); in OH_JSVM_ReleaseScript()
5102 RETURN_STATUS_IF_FALSE(env, jsvmData && jsvmData->isGlobal, JSVM_INVALID_ARG); in OH_JSVM_ReleaseScript()
5106 return jsvm_clear_last_error(env); in OH_JSVM_ReleaseScript()
5139 JSVM_Status JSVM_CDECL OH_JSVM_OpenInspectorWithName(JSVM_Env env, in OH_JSVM_OpenInspectorWithName() argument
5142 JSVM_PREAMBLE(env); in OH_JSVM_OpenInspectorWithName()
5143 RETURN_STATUS_IF_FALSE(env, !name || strlen(name) < SIZE_MAX, JSVM_INVALID_ARG); in OH_JSVM_OpenInspectorWithName()
5144 RETURN_STATUS_IF_FALSE(env, pid >= 0, JSVM_INVALID_ARG); in OH_JSVM_OpenInspectorWithName()
5149 env->inspector_agent()->Start(path, hostPort, true, false); in OH_JSVM_OpenInspectorWithName()
5150 return GET_RETURN_STATUS(env); in OH_JSVM_OpenInspectorWithName()
5153 JSVM_Status JSVM_CDECL OH_JSVM_CreateSet(JSVM_Env env, in OH_JSVM_CreateSet() argument
5155 CHECK_ENV(env); in OH_JSVM_CreateSet()
5156 CHECK_ARG(env, result); in OH_JSVM_CreateSet()
5158 *result = v8impl::JsValueFromV8LocalValue(v8::Set::New(env->isolate)); in OH_JSVM_CreateSet()
5160 return jsvm_clear_last_error(env); in OH_JSVM_CreateSet()
5163 JSVM_Status JSVM_CDECL OH_JSVM_IsSet(JSVM_Env env, in OH_JSVM_IsSet() argument
5166 CHECK_ENV(env); in OH_JSVM_IsSet()
5167 CHECK_ARG(env, value); in OH_JSVM_IsSet()
5168 CHECK_ARG(env, isSet); in OH_JSVM_IsSet()
5173 return jsvm_clear_last_error(env); in OH_JSVM_IsSet()
5176 JSVM_Status JSVM_CDECL OH_JSVM_ObjectGetPrototypeOf(JSVM_Env env, in OH_JSVM_ObjectGetPrototypeOf() argument
5179 JSVM_PREAMBLE(env); in OH_JSVM_ObjectGetPrototypeOf()
5180 CHECK_ARG(env, result); in OH_JSVM_ObjectGetPrototypeOf()
5182 v8::Local<v8::Context> context = env->context(); in OH_JSVM_ObjectGetPrototypeOf()
5185 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_ObjectGetPrototypeOf()
5189 return GET_RETURN_STATUS(env); in OH_JSVM_ObjectGetPrototypeOf()
5192 JSVM_Status JSVM_CDECL OH_JSVM_ObjectSetPrototypeOf(JSVM_Env env, in OH_JSVM_ObjectSetPrototypeOf() argument
5195 JSVM_PREAMBLE(env); in OH_JSVM_ObjectSetPrototypeOf()
5196 CHECK_ARG(env, prototype); in OH_JSVM_ObjectSetPrototypeOf()
5198 v8::Local<v8::Context> context = env->context(); in OH_JSVM_ObjectSetPrototypeOf()
5201 CHECK_TO_OBJECT(env, context, obj, object); in OH_JSVM_ObjectSetPrototypeOf()
5204 RETURN_STATUS_IF_FALSE(env, type->IsObject(), JSVM_INVALID_ARG); in OH_JSVM_ObjectSetPrototypeOf()
5207 RETURN_STATUS_IF_FALSE(env, set_maybe.FromMaybe(false), JSVM_GENERIC_FAILURE); in OH_JSVM_ObjectSetPrototypeOf()
5208 return GET_RETURN_STATUS(env); in OH_JSVM_ObjectSetPrototypeOf()
5211 JSVM_Status JSVM_CDECL OH_JSVM_CompileWasmModule(JSVM_Env env, in OH_JSVM_CompileWasmModule() argument
5218 JSVM_PREAMBLE(env); in OH_JSVM_CompileWasmModule()
5219 CHECK_ARG(env, wasmBytecode); in OH_JSVM_CompileWasmModule()
5220 RETURN_STATUS_IF_FALSE(env, wasmBytecodeLength > 0, JSVM_INVALID_ARG); in OH_JSVM_CompileWasmModule()
5223 maybe_module = v8::WasmModuleObject::Compile(env->isolate, {wasmBytecode, wasmBytecodeLength}); in OH_JSVM_CompileWasmModule()
5225 RETURN_STATUS_IF_FALSE(env, cacheDataLength > 0, JSVM_INVALID_ARG); in OH_JSVM_CompileWasmModule()
5228 env->isolate, {wasmBytecode, wasmBytecodeLength}, {cacheData, cacheDataLength}, rejected); in OH_JSVM_CompileWasmModule()
5235 return jsvm_set_last_error(env, JSVM_PENDING_EXCEPTION); in OH_JSVM_CompileWasmModule()
5237 CHECK_MAYBE_EMPTY(env, maybe_module, JSVM_GENERIC_FAILURE); in OH_JSVM_CompileWasmModule()
5239 return jsvm_clear_last_error(env); in OH_JSVM_CompileWasmModule()
5242 JSVM_Status JSVM_CDECL OH_JSVM_CompileWasmFunction(JSVM_Env env, in OH_JSVM_CompileWasmFunction() argument
5246 JSVM_PREAMBLE(env); in OH_JSVM_CompileWasmFunction()
5247 CHECK_ARG(env, wasmModule); in OH_JSVM_CompileWasmFunction()
5249 RETURN_STATUS_IF_FALSE(env, val->IsWasmModuleObject(), JSVM_INVALID_ARG); in OH_JSVM_CompileWasmFunction()
5260 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_CompileWasmFunction()
5262 bool compileSuccess = v8WasmModule->CompileFunction(env->isolate, functionIndex, tier); in OH_JSVM_CompileWasmFunction()
5265 return jsvm_set_last_error(env, JSVM_PENDING_EXCEPTION); in OH_JSVM_CompileWasmFunction()
5267 RETURN_STATUS_IF_FALSE(env, compileSuccess, JSVM_GENERIC_FAILURE); in OH_JSVM_CompileWasmFunction()
5268 return jsvm_clear_last_error(env); in OH_JSVM_CompileWasmFunction()
5271 JSVM_Status JSVM_CDECL OH_JSVM_IsWasmModuleObject(JSVM_Env env, in OH_JSVM_IsWasmModuleObject() argument
5276 CHECK_ENV(env); in OH_JSVM_IsWasmModuleObject()
5277 CHECK_ARG(env, value); in OH_JSVM_IsWasmModuleObject()
5278 CHECK_ARG(env, result); in OH_JSVM_IsWasmModuleObject()
5283 return jsvm_clear_last_error(env); in OH_JSVM_IsWasmModuleObject()
5286 JSVM_Status JSVM_CDECL OH_JSVM_CreateWasmCache(JSVM_Env env, in OH_JSVM_CreateWasmCache() argument
5290 JSVM_PREAMBLE(env); in OH_JSVM_CreateWasmCache()
5291 CHECK_ARG(env, wasmModule); in OH_JSVM_CreateWasmCache()
5292 CHECK_ARG(env, data); in OH_JSVM_CreateWasmCache()
5293 CHECK_ARG(env, length); in OH_JSVM_CreateWasmCache()
5296 RETURN_STATUS_IF_FALSE(env, val->IsWasmModuleObject(), JSVM_INVALID_ARG); in OH_JSVM_CreateWasmCache()
5303 return jsvm_set_last_error(env, JSVM_PENDING_EXCEPTION); in OH_JSVM_CreateWasmCache()
5306 RETURN_STATUS_IF_FALSE(env, serialized_bytes.size > 0, JSVM_GENERIC_FAILURE); in OH_JSVM_CreateWasmCache()
5312 return GET_RETURN_STATUS(env); in OH_JSVM_CreateWasmCache()
5315 JSVM_Status JSVM_CDECL OH_JSVM_ReleaseCache(JSVM_Env env, in OH_JSVM_ReleaseCache() argument
5318 CHECK_ENV(env); in OH_JSVM_ReleaseCache()
5319 CHECK_ARG(env, cacheData); in OH_JSVM_ReleaseCache()
5328 return jsvm_set_last_error(env, JSVM_INVALID_ARG); in OH_JSVM_ReleaseCache()
5330 return jsvm_clear_last_error(env); in OH_JSVM_ReleaseCache()