已合并
add data_structure description in jsvm_types.h in docs #125558
gaojunyu创建于 1月8日
add data_structure description in jsvm_types.h in docs #125558
已合并
共 7 个文件变更+112-5
| @@ -33,6 +33,8 @@ | |||
| 33 | - [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md) | 33 | - [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md) |
| 34 | - [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) | 34 | - [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) |
| 35 | - [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md) | 35 | - [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md) |
| 36 | + - [JSVM_CompileOptions](capi-jsvm-jsvm-compileoptions.md) | ||
| 37 | + - [JSVM_CodeCache](capi-jsvm-jsvm-codecache.md) | ||
| 36 | - [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md) | 38 | - [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md) |
| 37 | - [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md) | 39 | - [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md) |
| 38 | - [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md) | 40 | - [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md) |
| @@ -685,7 +685,7 @@ JSVM_EXTERN JSVM_Status OH_JSVM_CompileScript(JSVM_Env env,JSVM_Value script,con | |||
| 685 | 685 | ||
| 686 | | 类型 | 说明 | | 686 | | 类型 | 说明 | |
| 687 | | -- | -- | | 687 | | -- | -- | |
| 688 | -| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示有未知的原因导致执行失败。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 | | 688 | +| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_INVALID_ARG](capi-jsvm-types-h.md#jsvm_status) 表示传入的 data 是空指针。 [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示有未知的原因导致执行失败。<br> [JSVM_CANNOT_RUN_JS](capi-jsvm-types-h.md#jsvm_status) 不能执行JS。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 | |
| 689 | 689 | ||
| 690 | ### OH_JSVM_CompileScriptWithOrigin() | 690 | ### OH_JSVM_CompileScriptWithOrigin() |
| 691 | 691 | ||
| @@ -717,7 +717,7 @@ JSVM_EXTERN JSVM_Status OH_JSVM_CompileScriptWithOrigin(JSVM_Env env,JSVM_Value | |||
| 717 | 717 | ||
| 718 | | 类型 | 说明 | | 718 | | 类型 | 说明 | |
| 719 | | -- | -- | | 719 | | -- | -- | |
| 720 | -| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示执行失败。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 | | 720 | +| JSVM_EXTERN [JSVM_Status](capi-jsvm-types-h.md#jsvm_status) | 返回执行状态码 JSVM_Status。<br> [JSVM_OK](capi-jsvm-types-h.md#jsvm_status) 表示执行成功。<br> [JSVM_INVALID_ARG](capi-jsvm-types-h.md#jsvm_status) 表示传入的 data 是空指针。 [JSVM_STRING_EXPECTED](capi-jsvm-types-h.md#jsvm_status) 表示传入的参数不是string类型。<br> [JSVM_GENERIC_FAILURE](capi-jsvm-types-h.md#jsvm_status) 表示执行失败。<br> [JSVM_CANNOT_RUN_JS](capi-jsvm-types-h.md#jsvm_status) 不能执行JS。<br> [JSVM_PENDING_EXCEPTION](capi-jsvm-types-h.md#jsvm_status) 表示执行的过程中产生了JS异常。 | |
| 721 | 721 | ||
| 722 | ### OH_JSVM_CompileScriptWithOptions() | 722 | ### OH_JSVM_CompileScriptWithOptions() |
| 723 | 723 | ||
| @@ -0,0 +1,30 @@ | |||
| 1 | +# JSVM_CodeCache | ||
| 2 | +<!--Kit: Common Basic Capability--> | ||
| 3 | +<!--Subsystem: arkcompiler--> | ||
| 4 | +<!--Owner: @yuanxiaogou; @string_sz--> | ||
| 5 | +<!--Designer: @knightaoko--> | ||
| 6 | +<!--Tester: @test_lzz--> | ||
| 7 | +<!--Adviser: @fang-jinxu--> | ||
| 8 | + | ||
| 9 | +```c | ||
| 10 | +typedef struct {...} JSVM_CodeCache | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 概述 | ||
| 14 | + | ||
| 15 | +表示当id为JSVM_COMPILE_CODE_CACHE时,content的类型。 | ||
| 16 | + | ||
| 17 | +**起始版本:** 12 | ||
| 18 | + | ||
| 19 | +**相关模块:** [JSVM](capi-jsvm.md) | ||
| 20 | + | ||
| 21 | +**所在头文件:** [jsvm_types.h](capi-jsvm-types-h.md) | ||
| 22 | + | ||
| 23 | +## 汇总 | ||
| 24 | + | ||
| 25 | +### 成员变量 | ||
| 26 | + | ||
| 27 | +| 名称 | 描述 | | ||
| 28 | +|------------------|---------------| | ||
| 29 | +| uint8_t* cache | 缓存地址。 | | ||
| 30 | +| size_t length | 缓存大小。 | | ||
| @@ -0,0 +1,32 @@ | |||
| 1 | +# JSVM_CompileOptions | ||
| 2 | +<!--Kit: Common Basic Capability--> | ||
| 3 | +<!--Subsystem: arkcompiler--> | ||
| 4 | +<!--Owner: @yuanxiaogou; @string_sz--> | ||
| 5 | +<!--Designer: @knightaoko--> | ||
| 6 | +<!--Tester: @test_lzz--> | ||
| 7 | +<!--Adviser: @fang-jinxu--> | ||
| 8 | + | ||
| 9 | +```c | ||
| 10 | +typedef struct {...} JSVM_CompileOptions | ||
| 11 | +``` | ||
| 12 | + | ||
| 13 | +## 概述 | ||
| 14 | + | ||
| 15 | +配合[OH_JSVM_CompileScriptWithOptions](capi-jsvm-h.md#oh_jsvm_compilescriptwithoptions)接口使用,是其参数中options数组的元素类型。 | ||
| 16 | + | ||
| 17 | +**起始版本:** 12 | ||
| 18 | + | ||
| 19 | +**相关模块:** [JSVM](capi-jsvm.md) | ||
| 20 | + | ||
| 21 | +**所在头文件:** [jsvm_types.h](capi-jsvm-types-h.md) | ||
| 22 | + | ||
| 23 | +## 汇总 | ||
| 24 | + | ||
| 25 | +### 成员变量 | ||
| 26 | + | ||
| 27 | +| 名称 | 描述 | | ||
| 28 | +|-------------------------------------------------------------------------------|---------------| | ||
| 29 | +| [JSVM_CompileOptionId](capi-jsvm-types-h.md#jsvm_compileoptionid) id | 编译选项对应的ID。 | | ||
| 30 | +| void* ptr | void*类型。 | | ||
| 31 | +| int num | int类型。 | | ||
| 32 | +| bool boolean | bool类型。 | | ||
| @@ -29,6 +29,4 @@ typedef struct {...} JSVM_ScriptOrigin | |||
| 29 | | const char* sourceMapUrl | Sourcemap 路径。 | | 29 | | const char* sourceMapUrl | Sourcemap 路径。 | |
| 30 | | const char* resourceName | 源文件名。 | | 30 | | const char* resourceName | 源文件名。 | |
| 31 | | size_t resourceLineOffset | 这段代码在源文件中的起始行号。 | | 31 | | size_t resourceLineOffset | 这段代码在源文件中的起始行号。 | |
| 32 | -| size_t resourceColumnOffset | 这段代码在源文件中的起始列号。 | | 32 | +| size_t resourceColumnOffset | 这段代码在源文件中的起始列号。 | |
| 33 | - | ||
| 34 | - | ||
| @@ -36,6 +36,8 @@ | |||
| 36 | | [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md) | JSVM_TypeTag | 类型标记,存储为两个无符号64位整数的128位值。作为一个UUID,通过它,JavaScript对象可以是"tagged",以确保它们的类型保持不变。 | | 36 | | [JSVM_TypeTag](capi-jsvm-jsvm-typetag.md) | JSVM_TypeTag | 类型标记,存储为两个无符号64位整数的128位值。作为一个UUID,通过它,JavaScript对象可以是"tagged",以确保它们的类型保持不变。 | |
| 37 | | [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) | JSVM_PropertyHandlerConfigurationStruct | 当执行对象的getter、setter、deleter和enumerator操作时,该结构体中对应的函数回调将会触发。 | | 37 | | [JSVM_PropertyHandlerConfigurationStruct](capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) | JSVM_PropertyHandlerConfigurationStruct | 当执行对象的getter、setter、deleter和enumerator操作时,该结构体中对应的函数回调将会触发。 | |
| 38 | | [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md) | JSVM_ScriptOrigin | 某段JavaScript代码的原始信息,如sourceMap路径、源文件名、源文件中的起始行/列号等。 | | 38 | | [JSVM_ScriptOrigin](capi-jsvm-jsvm-scriptorigin.md) | JSVM_ScriptOrigin | 某段JavaScript代码的原始信息,如sourceMap路径、源文件名、源文件中的起始行/列号等。 | |
| 39 | +| [JSVM_CompileOptions](capi-jsvm-jsvm-compileoptions.md) | JSVM_CompileOptions | 对应JSVM的编译选项,包含内容和ID。 | | ||
这2个新增的结构体也要写在下面 ![]() ![]() | |||
| 40 | +| [JSVM_CodeCache](capi-jsvm-jsvm-codecache.md) | JSVM_CodeCache | 对应JSVM代码缓存的地址与大小。 | | ||
| 39 | | [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md) | JSVM_PropertyHandler | 包含将class作为函数进行调用时所触发的回调函数的函数指针和访问实例对象属性时触发的回调函数的函数指针集。 | | 41 | | [JSVM_PropertyHandler](capi-jsvm-jsvm-propertyhandler.md) | JSVM_PropertyHandler | 包含将class作为函数进行调用时所触发的回调函数的函数指针和访问实例对象属性时触发的回调函数的函数指针集。 | |
| 40 | | [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md) | JSVM_DefineClassOptions | 定义Class的选项。 | | 42 | | [JSVM_DefineClassOptions](capi-jsvm-jsvm-defineclassoptions.md) | JSVM_DefineClassOptions | 定义Class的选项。 | |
| 41 | | [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md) | JSVM_VM | 表示JavaScript虚拟机实例。 | | 43 | | [JSVM_VM__*](capi-jsvm-jsvm-vm--8h.md) | JSVM_VM | 表示JavaScript虚拟机实例。 | |
| @@ -67,6 +69,8 @@ | |||
| 67 | | [JSVM_KeyFilter](#jsvm_keyfilter) | JSVM_KeyFilter | 属性过滤器,可以通过使用or来构造一个复合过滤器。 | | 69 | | [JSVM_KeyFilter](#jsvm_keyfilter) | JSVM_KeyFilter | 属性过滤器,可以通过使用or来构造一个复合过滤器。 | |
| 68 | | [JSVM_KeyConversion](#jsvm_keyconversion) | JSVM_KeyConversion | 键转换选项。 | | 70 | | [JSVM_KeyConversion](#jsvm_keyconversion) | JSVM_KeyConversion | 键转换选项。 | |
| 69 | | [JSVM_MemoryPressureLevel](#jsvm_memorypressurelevel) | JSVM_MemoryPressureLevel | 内存压力水平。 | | 71 | | [JSVM_MemoryPressureLevel](#jsvm_memorypressurelevel) | JSVM_MemoryPressureLevel | 内存压力水平。 | |
| 72 | +| [JSVM_CompileMode](#jsvm_compilemode) | JSVM_CompileMode | JSVM编译模式。 | | ||
| 73 | +| [JSVM_CompileOptionId](#jsvm_compileoptionid) | JSVM_CompileOptionId | JSVM编译选项ID。 | | ||
| 70 | | [JSVM_RegExpFlags](#jsvm_regexpflags) | JSVM_RegExpFlags | 正则表达式标志位。它们可以用来启用一组标志。 | | 74 | | [JSVM_RegExpFlags](#jsvm_regexpflags) | JSVM_RegExpFlags | 正则表达式标志位。它们可以用来启用一组标志。 | |
| 71 | | [JSVM_InitializedFlag](#jsvm_initializedflag) | JSVM_InitializedFlag | 初始化方式的标志位。 | | 75 | | [JSVM_InitializedFlag](#jsvm_initializedflag) | JSVM_InitializedFlag | 初始化方式的标志位。 | |
| 72 | | [JSVM_WasmOptLevel](#jsvm_wasmoptlevel) | JSVM_WasmOptLevel | WebAssembly 函数优化等级。 | | 76 | | [JSVM_WasmOptLevel](#jsvm_wasmoptlevel) | JSVM_WasmOptLevel | WebAssembly 函数优化等级。 | |
| @@ -290,6 +294,45 @@ enum JSVM_MemoryPressureLevel | |||
| 290 | | JSVM_MEMORY_PRESSURE_LEVEL_MODERATE | 中等压力。 | | 294 | | JSVM_MEMORY_PRESSURE_LEVEL_MODERATE | 中等压力。 | |
| 291 | | JSVM_MEMORY_PRESSURE_LEVEL_CRITICAL | 临界压力。 | | 295 | | JSVM_MEMORY_PRESSURE_LEVEL_CRITICAL | 临界压力。 | |
| 292 | 296 | ||
| 297 | +### JSVM_CompileMode | ||
这个添加的接口在sdk里面没有加吧? ![]() ![]() 这2个新添加的枚举也要归纳在枚举的表格里面吧 ![]() ![]() | |||
| 298 | + | ||
| 299 | +```c | ||
| 300 | +enum JSVM_CompileMode | ||
| 301 | +``` | ||
| 302 | + | ||
| 303 | +**描述** | ||
| 304 | + | ||
| 305 | +当 id 为 JSVM_COMPILE_MODE 时,content 类型的每个值代表一种编译模式。 | ||
| 306 | + | ||
| 307 | +**起始版本:** 12 | ||
| 308 | +| 枚举项 | 描述 | | ||
| 309 | +| -- | -- | | ||
| 310 | +| JSVM_COMPILE_MODE_DEFAULT | 默认编译模式。 | | ||
| 311 | +| JSVM_COMPILE_MODE_CONSUME_CODE_CACHE | 使用代码缓存的模式。 | | ||
| 312 | +| JSVM_COMPILE_MODE_EAGER_COMPILE | 激进编译模式。 | | ||
| 313 | +| JSVM_COMPILE_MODE_PRODUCE_COMPILE_PROFILE | 生成编译依赖的模式。 | | ||
| 314 | +| JSVM_COMPILE_MODE_CONSUME_COMPILE_PROFILE | 使用编译依赖的模式。 | | ||
| 315 | + | ||
| 316 | +### JSVM_CompileOptionId | ||
| 317 | + | ||
| 318 | +```c | ||
| 319 | +enum JSVM_CompileOptionId | ||
| 320 | +``` | ||
| 321 | + | ||
| 322 | +**描述** | ||
| 323 | + | ||
| 324 | +JSVM_CompileOptions 中的 id 对应类型,每个值有对应的 content 类型。JSVM_COMPILE_ENABLE_SOURCE_MAP 的类型为 bool,当 JSVM_ScriptOrigin 中的 sourceMapUrl 不为空时生效。 | ||
| 325 | + | ||
| 326 | +**起始版本:** 12 | ||
| 327 | + | ||
| 328 | +| 枚举项 | 描述 | | ||
| 329 | +| -- | -- | | ||
| 330 | +| JSVM_COMPILE_MODE | JSVM编译模式。 | | ||
| 331 | +| JSVM_COMPILE_CODE_CACHE | JSVM代码缓存。 | | ||
| 332 | +| JSVM_COMPILE_SCRIPT_ORIGIN | JSVM脚本来源。 | | ||
| 333 | +| JSVM_COMPILE_COMPILE_PROFILE | JSVM编译依赖。 | | ||
| 334 | +| JSVM_COMPILE_ENABLE_SOURCE_MAP | JSVM的 Source Map 的使能情况。 | | ||
| 335 | + | ||
| 293 | ### JSVM_RegExpFlags | 336 | ### JSVM_RegExpFlags |
| 294 | 337 | ||
| 295 | ```c | 338 | ```c |
| @@ -5955,6 +5955,8 @@ | |||
| 5955 | - [JSVM_TypeTag](reference/common/capi-jsvm-jsvm-typetag.md) | 5955 | - [JSVM_TypeTag](reference/common/capi-jsvm-jsvm-typetag.md) |
| 5956 | - [JSVM_PropertyHandlerConfigurationStruct](reference/common/capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) | 5956 | - [JSVM_PropertyHandlerConfigurationStruct](reference/common/capi-jsvm-jsvm-propertyhandlerconfigurationstruct.md) |
| 5957 | - [JSVM_ScriptOrigin](reference/common/capi-jsvm-jsvm-scriptorigin.md) | 5957 | - [JSVM_ScriptOrigin](reference/common/capi-jsvm-jsvm-scriptorigin.md) |
| 5958 | + - [JSVM_CompileOptions](reference/common/capi-jsvm-jsvm-compileoptions.md) | ||
| 5959 | + - [JSVM_CodeCache](reference/common/capi-jsvm-jsvm-codecache.md) | ||
| 5958 | - [JSVM_PropertyHandler](reference/common/capi-jsvm-jsvm-propertyhandler.md) | 5960 | - [JSVM_PropertyHandler](reference/common/capi-jsvm-jsvm-propertyhandler.md) |
| 5959 | - [JSVM_DefineClassOptions](reference/common/capi-jsvm-jsvm-defineclassoptions.md) | 5961 | - [JSVM_DefineClassOptions](reference/common/capi-jsvm-jsvm-defineclassoptions.md) |
| 5960 | - [JSVM_VM__*](reference/common/capi-jsvm-jsvm-vm--8h.md) | 5962 | - [JSVM_VM__*](reference/common/capi-jsvm-jsvm-vm--8h.md) |


这2个新增的结构体为啥在sdk里面没有找到