mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Fixes regarding to the JerryScript github.io page
- fixed lists - image size correction - fixed code listings formats - capital letters are used in titles JerryScript-DCO-1.0-Signed-off-by: István Kádár ikadar@inf.u-szeged.hu
This commit is contained in:
parent
a3b8bfa9fb
commit
abc29eee34
196
03.api.md
196
03.api.md
@ -10,6 +10,7 @@ permalink: /API/
|
||||
# jerry_run_simple
|
||||
|
||||
**Summary**
|
||||
|
||||
The simplest way to run JavaScript.
|
||||
|
||||
**Prototype**
|
||||
@ -42,6 +43,7 @@ jerry_run_simple (const jerry_api_char_t *script_source,
|
||||
- [jerry_parse](#jerry_parse)
|
||||
- [jerry_run](#jerry_run)
|
||||
|
||||
|
||||
# jerry_init
|
||||
|
||||
**Summary**
|
||||
@ -98,9 +100,11 @@ jerry_cleanup (void);
|
||||
|
||||
- [jerry_init](#jerry_init)
|
||||
|
||||
|
||||
# jerry_parse
|
||||
|
||||
**Summary**
|
||||
|
||||
Parse specified script to execute in Global scope.
|
||||
|
||||
Current API doesn't permit replacement or modification of Global scope's code without engine restart,
|
||||
@ -114,6 +118,7 @@ jerry_parse (const jerry_api_char_t *source_p,
|
||||
size_t source_size,
|
||||
jerry_api_object_t **error_obj_p);
|
||||
```
|
||||
|
||||
- `source_p` - string, containing source code to parse;
|
||||
- `source_size` - size of the string, in bytes.
|
||||
- `error_obj_p` - error object (output parameter)
|
||||
@ -187,6 +192,7 @@ jerry_parse_and_save_snapshot (const jerry_api_char_t *source_p,
|
||||
```
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerry_init](#jerry_init)
|
||||
- [jerry_exec_snapshot](#jerry_exec_snapshot)
|
||||
|
||||
@ -194,6 +200,7 @@ jerry_parse_and_save_snapshot (const jerry_api_char_t *source_p,
|
||||
# jerry_run
|
||||
|
||||
**Summary**
|
||||
|
||||
Run code of Global scope.
|
||||
|
||||
The code should be previously registered through `jerry_parse`.
|
||||
@ -204,6 +211,7 @@ The code should be previously registered through `jerry_parse`.
|
||||
jerry_completion_code_t
|
||||
jerry_run (jerry_api_value_t *error_value_p);
|
||||
```
|
||||
|
||||
- `error_value_p` - error value (output parameter)
|
||||
- returned value - completion code that indicates whether run performed successfully
|
||||
- `JERRY_COMPLETION_CODE_OK` - successful completion
|
||||
@ -269,6 +277,7 @@ jerry_exec_snapshot (const void *snapshot_p,
|
||||
bool copy_bytecode,
|
||||
jerry_api_value_t *retval_p);
|
||||
```
|
||||
|
||||
- `snapshot_p` - pointer to snapshot
|
||||
- `snapshot_size` - size of snapshot
|
||||
- `copy_bytecode` - flag, indicating whether the passed snapshot buffer should be copied to the engine's memory. If set the engine should not reference the buffer after the function returns (in this case, the passed buffer could be freed after the call). Otherwise (if the flag is not set) - the buffer could only be freed after the engine stops (i.e. after call to jerry_cleanup).
|
||||
@ -321,17 +330,20 @@ void
|
||||
jerry_get_memory_limits (size_t *out_data_bss_brk_limit_p,
|
||||
size_t *out_stack_limit_p);
|
||||
```
|
||||
|
||||
- `out_data_bss_brk_limit_p` - out parameter, that gives the maximum size of data + bss + brk sections
|
||||
- `out_stack_limit_p` - out parameter, that gives the maximum size of the stack
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
|
||||
size_t stack_limit;
|
||||
size_t data_dss_brk_limit;
|
||||
jerry_get_memory_limits(&stack_limit, &data_dss_brk_limit);
|
||||
jerry_get_memory_limits (&stack_limit, &data_dss_brk_limit);
|
||||
}
|
||||
```
|
||||
|
||||
**See also**
|
||||
@ -342,6 +354,7 @@ jerry_get_memory_limits (size_t *out_data_bss_brk_limit_p,
|
||||
# jerry_api_gc
|
||||
|
||||
**Summary**
|
||||
|
||||
Performs garbage collection.
|
||||
|
||||
**Prototype**
|
||||
@ -361,6 +374,7 @@ jerry_api_gc ();
|
||||
# jerry_api_eval
|
||||
|
||||
**Summary**
|
||||
|
||||
Perform JavaScript `eval`.
|
||||
|
||||
**Prototype**
|
||||
@ -412,18 +426,19 @@ Creates a jerry_api_value_t with type JERRY_API_DATA_TYPE_UNDEFINED representing
|
||||
jerry_api_value_t
|
||||
jerry_api_create_undefined_value (void);
|
||||
```
|
||||
|
||||
- return value - a jerry_api_value_t with type JERRY_API_DATA_TYPE_UNDEFINED
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
{
|
||||
jerry_init(JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t undefined_value = jerry_api_create_undefined_value();
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t undefined_value = jerry_api_create_undefined_value ();
|
||||
|
||||
... // usage of the value
|
||||
|
||||
jerry_api_release_value(&undefined_value);
|
||||
jerry_api_release_value (&undefined_value);
|
||||
}
|
||||
```
|
||||
|
||||
@ -444,17 +459,20 @@ Creates a jerry_api_value_t with type JERRY_API_DATA_TYPE_VOID representing a vo
|
||||
jerry_api_value_t
|
||||
jerry_api_create_void_value (void);
|
||||
```
|
||||
|
||||
- return value - a jerry_api_value_t with type JERRY_API_DATA_TYPE_VOID
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
jerry_init(JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t void_value = jerry_api_create_void_value();
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t void_value = jerry_api_create_void_value ();
|
||||
|
||||
... // usage of the value
|
||||
|
||||
jerry_api_release_value(&void_value);
|
||||
jerry_api_release_value (&void_value);
|
||||
}
|
||||
```
|
||||
|
||||
**See also**
|
||||
@ -474,18 +492,19 @@ Creates a jerry_api_value_t with type JERRY_API_DATA_TYPE_NULL represneting a nu
|
||||
jerry_api_value_t
|
||||
jerry_api_create_null_value (void);
|
||||
```
|
||||
|
||||
- return value - a jerry_api_value_t with type JERRY_API_DATA_TYPE_NULL
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
{
|
||||
jerry_init(JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t null_value = jerry_api_create_null_value();
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t null_value = jerry_api_create_null_value ();
|
||||
|
||||
... // usage of the value
|
||||
|
||||
jerry_api_release_value(&null_value);
|
||||
jerry_api_release_value (&null_value);
|
||||
}
|
||||
```
|
||||
|
||||
@ -501,22 +520,26 @@ jerry_api_create_null_value (void);
|
||||
Creates a JERRY_API_DATA_TYPE_BOOLEAN jerry_api_value_t from the given boolean parameter. The value have to be released by [jerry_api_release_value](#jerry_api_release_value).
|
||||
|
||||
**Prototype**
|
||||
|
||||
```c
|
||||
jerry_api_value_t
|
||||
jerry_api_create_boolean_value (bool value);
|
||||
```
|
||||
|
||||
- `value` - bool value from which a jerry_api_value_t will be created
|
||||
- return value - a jerry_api_value_t created from the given boolean argument
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
jerry_init(JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t boolean_value = jerry_api_create_boolean_value(true);
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t boolean_value = jerry_api_create_boolean_value (true);
|
||||
|
||||
... // usage of the value
|
||||
|
||||
jerry_api_release_value(&boolean_value);
|
||||
jerry_api_release_value (&boolean_value);
|
||||
}
|
||||
```
|
||||
|
||||
**See also**
|
||||
@ -536,6 +559,7 @@ Creates a jerry_api_value_t from the given double parameter. The v_float64 membe
|
||||
jerry_api_value_t
|
||||
jerry_api_create_number_value (double value);
|
||||
```
|
||||
|
||||
- `value` - double value from which a jerry_api_value_t will be created
|
||||
- return value - a jerry_api_value_t created from the given double argument
|
||||
|
||||
@ -543,12 +567,12 @@ jerry_api_create_number_value (double value);
|
||||
|
||||
```c
|
||||
{
|
||||
jerry_init(JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t number_value = jerry_api_create_number_value(3.14);
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_value_t number_value = jerry_api_create_number_value (3.14);
|
||||
|
||||
... // usage of the value
|
||||
|
||||
jerry_api_release_value(&number_value);
|
||||
jerry_api_release_value (&number_value);
|
||||
}
|
||||
```
|
||||
|
||||
@ -569,6 +593,7 @@ Creates a JERRY_API_DATA_TYPE_OBJECT type jerry_api_value_t from the given jerry
|
||||
jerry_api_value_t
|
||||
jerry_api_create_object_value (jerry_api_object_t *value);
|
||||
```
|
||||
|
||||
- `value` - jerry_api_object_t from which a value will be created
|
||||
- return value - a jerry_api_value_t created from the given jerry_api_object_t argument
|
||||
|
||||
@ -577,12 +602,12 @@ jerry_api_create_object_value (jerry_api_object_t *value);
|
||||
```c
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_object_t *object_p = jerry_api_create_object();
|
||||
jerry_api_value_t object_value = jerry_api_create_object_value(object_p);
|
||||
jerry_api_object_t *object_p = jerry_api_create_object ();
|
||||
jerry_api_value_t object_value = jerry_api_create_object_value (object_p);
|
||||
|
||||
... // usage of object_value
|
||||
|
||||
jerry_api_release_value(&object_value);
|
||||
jerry_api_release_value (&object_value);
|
||||
}
|
||||
```
|
||||
|
||||
@ -598,11 +623,13 @@ jerry_api_create_object_value (jerry_api_object_t *value);
|
||||
Creates a string. The caller should release the string with [jerry_api_release_string](#jerry_api_release_string) when the value becomes unnecessary.
|
||||
|
||||
**Prototype**
|
||||
|
||||
```c
|
||||
jerry_api_string_t *
|
||||
jerry_api_create_string_sz (const jerry_api_char_t *v,
|
||||
jerry_api_size_t v_size)
|
||||
```
|
||||
|
||||
- `v` - string from which the result jerry_api_string_t will be created
|
||||
- `v_size` - size of the string
|
||||
- return value - a jerry_api_string_t* created from the given jerry_api_char_t* argument
|
||||
@ -618,7 +645,7 @@ jerry_api_create_string_sz (const jerry_api_char_t *v,
|
||||
|
||||
... // usage of string
|
||||
|
||||
jerry_api_release_string(string);
|
||||
jerry_api_release_string (string);
|
||||
}
|
||||
|
||||
```
|
||||
@ -640,6 +667,7 @@ Creates a JERRY_API_DATA_TYPE_STRING type jerry_api_value_t from the given jerry
|
||||
jerry_api_value_t
|
||||
jerry_api_create_string_value (jerry_api_string_t *value);
|
||||
```
|
||||
|
||||
- `value` - jerry_api_string_t from which a value will be created
|
||||
- return value - a jerry_api_value_t created from the given jerry_api_string_t argument
|
||||
|
||||
@ -651,11 +679,11 @@ jerry_api_create_string_value (jerry_api_string_t *value);
|
||||
jerry_api_char_t char_array[] = "a string";
|
||||
jerry_api_string_t *string = jerry_api_create_string_sz (char_array,
|
||||
lit_zt_utf8_string_size (char_array));
|
||||
jerry_api_value_t string_value = jerry_api_create_string_value(string);
|
||||
jerry_api_value_t string_value = jerry_api_create_string_value (string);
|
||||
|
||||
... // usage of string_value
|
||||
|
||||
jerry_api_release_value(&string_value);
|
||||
jerry_api_release_value (&string_value);
|
||||
}
|
||||
```
|
||||
|
||||
@ -678,6 +706,7 @@ jerry_api_create_error_sz (jerry_api_error_t error_type,
|
||||
const jerry_api_char_t *message_p,
|
||||
jerry_api_size_t message_size);
|
||||
```
|
||||
|
||||
- `error_type` - type of the error
|
||||
- `message_p` - value of 'message' property of the constructed error object
|
||||
- `message_size` - size of the message in bytes
|
||||
@ -689,13 +718,13 @@ jerry_api_create_error_sz (jerry_api_error_t error_type,
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_char_t message[] = "error";
|
||||
jerry_api_object_t *error_obj = jerry_api_create_error_sz(JERRY_API_ERROR_COMMON,
|
||||
message,
|
||||
lit_zt_utf8_string_size (char_array));
|
||||
jerry_api_object_t *error_obj = jerry_api_create_error_sz (JERRY_API_ERROR_COMMON,
|
||||
message,
|
||||
lit_zt_utf8_string_size (char_array));
|
||||
|
||||
... // usage of error_obj
|
||||
|
||||
jerry_api_release_object(error_obj);
|
||||
jerry_api_release_object (error_obj);
|
||||
}
|
||||
```
|
||||
|
||||
@ -717,6 +746,7 @@ If the given jerry_api_value_t structure has type other than JERRY_API_DATA_TYPE
|
||||
bool
|
||||
jerry_api_get_boolean_value (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value - the boolean v_bool member of the given jerry_api_value_t structure
|
||||
|
||||
@ -760,6 +790,7 @@ If the given jerry_api_value_t structure has type JERRY_API_DATA_TYPE_UINT32 v_u
|
||||
double
|
||||
jerry_api_get_number_value (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value - the number value of the given jerry_api_value_t structure as a raw double
|
||||
|
||||
@ -802,6 +833,7 @@ If the given jerry_api_value_t structure has type other than JERRY_API_DATA_TYPE
|
||||
jerry_api_object_t *
|
||||
jerry_api_get_object_value (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value - the v_object member of the given jerry_api_value_t structure
|
||||
|
||||
@ -821,7 +853,7 @@ jerry_api_get_object_value (const jerry_api_value_t *value_p);
|
||||
|
||||
}
|
||||
|
||||
jerry_api_release_value(&value);
|
||||
jerry_api_release_value (&value);
|
||||
}
|
||||
```
|
||||
|
||||
@ -844,6 +876,7 @@ If the given jerry_api_value_t structure has type other than JERRY_API_DATA_TYPE
|
||||
jerry_api_string_t *
|
||||
jerry_api_get_string_value (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value - the v_string member of the given jerry_api_value_t structure
|
||||
|
||||
@ -924,6 +957,7 @@ Gets the length of a jerry_api_string_t.
|
||||
jerry_api_length_t
|
||||
jerry_api_get_string_length (const jerry_api_string_t *str_p);
|
||||
```
|
||||
|
||||
- `str_p` - input string
|
||||
- return value - number of characters in the string
|
||||
|
||||
@ -933,9 +967,9 @@ jerry_api_get_string_length (const jerry_api_string_t *str_p);
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_char_t char_array[] = "a string";
|
||||
jerry_api_string_t *string = jerry_api_create_string(char_array);
|
||||
jerry_api_string_t *string = jerry_api_create_string (char_array);
|
||||
|
||||
jerry_api_length_t string_length = jerry_api_get_string_length(string);
|
||||
jerry_api_length_t string_length = jerry_api_get_string_length (string);
|
||||
|
||||
... // usage of string_length
|
||||
|
||||
@ -962,6 +996,7 @@ Returns whether the given jerry_api_value_t is an undefined value.
|
||||
bool
|
||||
jerry_api_value_is_undefined (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to api an value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is an undefined value, more specifically, if it's type field equals JERRY_API_DATA_TYPE_UNDEFINED
|
||||
@ -1000,7 +1035,8 @@ Returns whether the given jerry_api_value_t is a void value.
|
||||
```c
|
||||
bool
|
||||
jerry_api_value_is_void (const jerry_api_value_t *value_p);
|
||||
``
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is a void value, more specifically, if it's type field equals JERRY_API_DATA_TYPE_VOID
|
||||
@ -1040,6 +1076,7 @@ Returns whether the given jerry_api_value_t is a boolean value.
|
||||
bool
|
||||
jerry_api_value_is_boolean (const jerry_api_value_t *value_p)
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is a boolean value, more specifically, if it's type field equals JERRY_API_DATA_TYPE_BOOLEAN
|
||||
@ -1079,6 +1116,7 @@ Returns whether the given jerry_api_value_t is a number value.
|
||||
bool
|
||||
jerry_api_value_is_number (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is a number value, more specifically, if it's type is JERRY_API_DATA_TYPE_FLOAT32, JERRY_API_DATA_TYPE_FLOAT64 or JERRY_API_DATA_TYPE_UINT32
|
||||
@ -1118,9 +1156,10 @@ Returns whether the given jerry_api_value_t is a function object.
|
||||
bool
|
||||
jerry_api_value_is_function (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is a function object, more specifically, if it has JERRY_API_DATA_TYPE_OBJECT type and jerry_api_is_function() functiron return true for its v_object member
|
||||
- true, if the given jerry_api_value_t is a function object, more specifically, if it has JERRY_API_DATA_TYPE_OBJECT type and jerry_api_is_function () functiron return true for its v_object member
|
||||
- false, otherwise
|
||||
|
||||
**Example**
|
||||
@ -1158,6 +1197,7 @@ Returns whether the given jerry_api_value_t is a null value.
|
||||
bool
|
||||
jerry_api_value_is_null (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is a null value, more specifically, if it's type is JERRY_API_DATA_TYPE_NULL
|
||||
@ -1195,6 +1235,7 @@ Returns whether the given jerry_api_value_t is an object.
|
||||
bool
|
||||
jerry_api_value_is_object (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is a null value, more specifically, if it's type is JERRY_API_DATA_TYPE_OBJECT
|
||||
@ -1234,6 +1275,7 @@ Returns whether the given jerry_api_value_t is a string.
|
||||
bool
|
||||
jerry_api_value_is_string (const jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an api value
|
||||
- return value
|
||||
- true, if the given jerry_api_value_t is a string, more specifically, if it's type is JERRY_API_DATA_TYPE_STRING
|
||||
@ -1275,6 +1317,7 @@ For values of string and object types this acquires the underlying data, for all
|
||||
jerry_api_value_t *
|
||||
jerry_api_acquire_value (jerry_api_value_t *value_p);
|
||||
```
|
||||
|
||||
- `value_p` - pointer to an API value
|
||||
- return value - pointer that may be used outside of the engine
|
||||
|
||||
@ -1283,12 +1326,12 @@ jerry_api_acquire_value (jerry_api_value_t *value_p);
|
||||
```c
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
jerry_api_object_t *object_p = jerry_api_create_object();
|
||||
jerry_api_value_t object_value = jerry_api_create_object_value(object_p);
|
||||
jerry_api_object_t *object_p = jerry_api_create_object ();
|
||||
jerry_api_value_t object_value = jerry_api_create_object_value (object_p);
|
||||
|
||||
jerry_api_value_t *acquired_object = jerry_api_acquire_value(&object_value);
|
||||
jerry_api_value_t *acquired_object = jerry_api_acquire_value (&object_value);
|
||||
|
||||
jerry_api_release_value(acquired_object);
|
||||
jerry_api_release_value (acquired_object);
|
||||
}
|
||||
```
|
||||
|
||||
@ -1302,6 +1345,7 @@ jerry_api_acquire_value (jerry_api_value_t *value_p);
|
||||
# jerry_api_release_value
|
||||
|
||||
**Summary**
|
||||
|
||||
Release specified pointer to the value.
|
||||
|
||||
**Prototype**
|
||||
@ -1339,6 +1383,7 @@ jerry_api_release_value (jerry_api_value_t *value_p);
|
||||
# jerry_api_create_string
|
||||
|
||||
**Summary**
|
||||
|
||||
Create new JavaScript string.
|
||||
|
||||
Upon the JavaScript string becomes unused, all pointers to it should be released using [jerry_api_release_string](#jerry_api_release_string).
|
||||
@ -1371,9 +1416,11 @@ jerry_api_create_string (const jerry_api_char_t *v);
|
||||
- [jerry_api_release_string](#jerry_api_release_string)
|
||||
- [jerry_api_string_to_char_buffer](#jerry_api_string_to_char_buffer)
|
||||
|
||||
|
||||
# jerry_api_string_to_char_buffer
|
||||
|
||||
**Summary**
|
||||
|
||||
Copy string characters to specified buffer, append zero character at end of the buffer.
|
||||
|
||||
**Prototype**
|
||||
@ -1434,9 +1481,11 @@ jerry_api_string_to_char_buffer (const jerry_api_string_t *string_p,
|
||||
|
||||
- [jerry_api_create_string](#jerry_api_create_string)
|
||||
|
||||
|
||||
# jerry_api_acquire_string
|
||||
|
||||
**Summary**
|
||||
|
||||
Acquire new pointer to the string for usage outside of the engine.
|
||||
|
||||
The acquired pointer should be released with [jerry_api_release_string](#jerry_api_release_string).
|
||||
@ -1476,6 +1525,7 @@ jerry_api_acquire_string (jerry_api_string_t *string_p);
|
||||
# jerry_api_release_string
|
||||
|
||||
**Summary**
|
||||
|
||||
Release specified pointer to the string.
|
||||
|
||||
**Prototype**
|
||||
@ -1509,9 +1559,11 @@ jerry_api_release_string (jerry_api_string_t *string_p);
|
||||
- [jerry_api_acquire_string](#jerry_api_acquire_string)
|
||||
- [jerry_api_create_string](#jerry_api_create_string)
|
||||
|
||||
|
||||
# jerry_api_create_object
|
||||
|
||||
**Summary**
|
||||
|
||||
Create new JavaScript object, like with `new Object()`.
|
||||
|
||||
Upon the JavaScript object becomes unused, all pointers to it should be released using [jerry_api_release_object](#jerry_api_release_object).
|
||||
@ -1548,9 +1600,11 @@ jerry_api_create_object ();
|
||||
- [jerry_api_get_object_native_handle](#jerry_api_get_object_native_handle)
|
||||
- [jerry_api_set_object_native_handle](#jerry_api_set_object_native_handle)
|
||||
|
||||
|
||||
# jerry_api_acquire_object
|
||||
|
||||
**Summary**
|
||||
|
||||
Acquire new pointer to the object for usage outside of the engine.
|
||||
|
||||
The acquired pointer should be released with [jerry_api_release_object](#jerry_api_release_object).
|
||||
@ -1587,9 +1641,11 @@ jerry_api_acquire_object (jerry_api_object_t *object_p);
|
||||
- [jerry_api_release_object](#jerry_api_release_object)
|
||||
- [jerry_api_create_object](#jerry_api_create_object)
|
||||
|
||||
|
||||
# jerry_api_release_object
|
||||
|
||||
**Summary**
|
||||
|
||||
Release specified pointer to the object.
|
||||
|
||||
**Prototype**
|
||||
@ -1623,9 +1679,11 @@ jerry_api_release_object (jerry_api_object_t *object_p);
|
||||
- [jerry_api_acquire_object](#jerry_api_acquire_object)
|
||||
- [jerry_api_create_object](#jerry_api_create_object)
|
||||
|
||||
|
||||
# jerry_api_get_global
|
||||
|
||||
**Summary**
|
||||
|
||||
Get the Global object.
|
||||
|
||||
**Prototype**
|
||||
@ -1666,9 +1724,11 @@ Received pointer should be released with [jerry_api_release_object](#jerry_api_r
|
||||
- [jerry_api_get_object_field_value](#jerry_api_get_object_field_value)
|
||||
- [jerry_api_set_object_field_value](#jerry_api_set_object_field_value)
|
||||
|
||||
|
||||
# jerry_api_add_object_field
|
||||
|
||||
**Summary**
|
||||
|
||||
Create field (named data property) in an object
|
||||
|
||||
**Prototype**
|
||||
@ -1705,14 +1765,15 @@ jerry_api_add_object_field (jerry_api_object_t *object_p,
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerry_api_create_object](#jerry_api_create_object)
|
||||
|
||||
|
||||
# jerry_api_delete_object_field
|
||||
|
||||
**Summary**
|
||||
|
||||
Delete field (property) in the specified object
|
||||
|
||||
**Prototype**
|
||||
@ -1743,9 +1804,11 @@ jerry_api_delete_object_field (jerry_api_object_t *object_p,
|
||||
|
||||
- [jerry_api_create_object](#jerry_api_create_object)
|
||||
|
||||
|
||||
# jerry_api_get_object_field_value
|
||||
|
||||
**Summary**
|
||||
|
||||
Get value of field (property) in the specified object, i.e. perform [[Get]] operation.
|
||||
|
||||
**Prototype**
|
||||
@ -1806,6 +1869,7 @@ jerry_api_get_object_field_value_sz (jerry_api_object_t *object_p,
|
||||
jerry_api_size_t field_name_size,
|
||||
jerry_api_value_t *field_value_p);
|
||||
```
|
||||
|
||||
- `object_p` - object
|
||||
- `field_name_p` - name of the field
|
||||
- `field_name_size` - size of field name in bytes
|
||||
@ -1815,41 +1879,43 @@ jerry_api_get_object_field_value_sz (jerry_api_object_t *object_p,
|
||||
- false, otherwise
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
|
||||
jerry_api_char_t field_name[] = "field";
|
||||
jerry_api_value_t field_value = jerry_api_create_number_value(3.14);
|
||||
jerry_api_value_t field_value = jerry_api_create_number_value (3.14);
|
||||
|
||||
jerry_api_object_t* object_p = jerry_api_create_object();
|
||||
jerry_api_object_t* object_p = jerry_api_create_object ();
|
||||
jerry_api_add_object_field (object_p,
|
||||
field_name,
|
||||
lit_zt_utf8_string_size (field_name),
|
||||
&field_value, true);
|
||||
|
||||
jerry_api_value_t retrieved_field_value = jerry_api_create_undefined_value();
|
||||
jerry_api_value_t retrieved_field_value = jerry_api_create_undefined_value ();
|
||||
bool is_get_ok = jerry_api_get_object_field_value_sz (object_p,
|
||||
field_name,
|
||||
lit_zt_utf8_string_size (field_name),
|
||||
&retrieved_field_value);
|
||||
if (is_get_ok) {
|
||||
if (is_get_ok)
|
||||
{
|
||||
... // usage of the retrieved field
|
||||
}
|
||||
|
||||
jerry_api_release_object(object_p);
|
||||
jerry_api_release_object (object_p);
|
||||
}
|
||||
```
|
||||
|
||||
**See also**
|
||||
|
||||
[jerry_init](#jerry_init)
|
||||
[jerry_api_create_object](#jerry_api_create_object)
|
||||
[jerry_api_release_object](#jerry_api_release_object)
|
||||
[jerry_api_add_object_field](#jerry_api_add_object_field)
|
||||
[jerry_api_get_object_field_value](#jerry_api_get_object_field_value)
|
||||
[jerry_api_set_object_field_value](#jerry_api_set_object_field_value)
|
||||
[jerry_api_set_object_field_value_sz](#jerry_api_set_object_field_value_sz)
|
||||
- [jerry_init](#jerry_init)
|
||||
- [jerry_api_create_object](#jerry_api_create_object)
|
||||
- [jerry_api_release_object](#jerry_api_release_object)
|
||||
- [jerry_api_add_object_field](#jerry_api_add_object_field)
|
||||
- [jerry_api_get_object_field_value](#jerry_api_get_object_field_value)
|
||||
- [jerry_api_set_object_field_value](#jerry_api_set_object_field_value)
|
||||
- [jerry_api_set_object_field_value_sz](#jerry_api_set_object_field_value_sz)
|
||||
|
||||
|
||||
# jerry_api_set_object_field_value
|
||||
@ -2033,6 +2099,7 @@ jerry_api_set_object_native_handle (jerry_api_object_t *object_p,
|
||||
# jerry_api_is_function
|
||||
|
||||
**Summary**
|
||||
|
||||
Check whether the specified object is a function object.
|
||||
|
||||
**Prototype**
|
||||
@ -2068,9 +2135,11 @@ jerry_api_is_function (const jerry_api_object_t *object_p);
|
||||
- [jerry_api_is_constructor](#jerry_api_is_constructor)
|
||||
- [jerry_api_call_function](#jerry_api_call_function)
|
||||
|
||||
|
||||
# jerry_api_is_constructor
|
||||
|
||||
**Summary**
|
||||
|
||||
Check whether the specified object is a constructor function object.
|
||||
|
||||
**Prototype**
|
||||
@ -2106,9 +2175,11 @@ jerry_api_is_constructor (const jerry_api_object_t *object_p);
|
||||
- [jerry_api_is_function](#jerry_api_is_function)
|
||||
- [jerry_api_construct_object](#jerry_api_construct_object)
|
||||
|
||||
|
||||
# jerry_api_call_function
|
||||
|
||||
**Summary**
|
||||
|
||||
Call function object.
|
||||
|
||||
**Prototype**
|
||||
@ -2167,9 +2238,11 @@ jerry_api_call_function (jerry_api_object_t *function_object_p,
|
||||
- [jerry_api_is_function](#jerry_api_is_function)
|
||||
- [jerry_api_create_external_function](#jerry_api_create_external_function)
|
||||
|
||||
|
||||
# jerry_api_construct_object
|
||||
|
||||
**Summary**
|
||||
|
||||
Construct object invoking specified function object as constructor.
|
||||
|
||||
**Prototype**
|
||||
@ -2224,6 +2297,7 @@ If call was performed successfully, returned value should be freed with [jerry_a
|
||||
|
||||
- [jerry_api_is_constructor](#jerry_api_is_constructor)
|
||||
|
||||
|
||||
# jerry_external_handler_t
|
||||
|
||||
**Summary**
|
||||
@ -2244,9 +2318,11 @@ typedef bool (* jerry_external_handler_t) (const jerry_api_object_t *function_ob
|
||||
|
||||
- [jerry_api_create_external_function](#jerry_api_create_external_function)
|
||||
|
||||
|
||||
# jerry_api_create_external_function
|
||||
|
||||
**Summary**
|
||||
|
||||
Create an external function object.
|
||||
|
||||
**Prototype**
|
||||
@ -2300,9 +2376,11 @@ handler (const jerry_api_object_t *function_obj_p,
|
||||
- [jerry_api_call_function](#jerry_api_call_function)
|
||||
- [jerry_api_release_object](#jerry_api_release_object)
|
||||
|
||||
|
||||
# jerry_api_create_array_object
|
||||
|
||||
**Summary**
|
||||
|
||||
Create new JavaScript array object.
|
||||
|
||||
Upon the JavaScript array object becomes unused, all pointers to it should be released using [jerry_api_release_object](#jerry_api_release_object).
|
||||
@ -2342,9 +2420,11 @@ jerry_api_create_array_object (jerry_api_size_t array_size);
|
||||
- [jerry_api_get_object_native_handle](#jerry_api_get_object_native_handle)
|
||||
- [jerry_api_set_object_native_handle](#jerry_api_set_object_native_handle)
|
||||
|
||||
|
||||
# jerry_api_set_array_index_value
|
||||
|
||||
**Summary**
|
||||
|
||||
Set value of an indexed element in the specified array object.
|
||||
|
||||
**Prototype**
|
||||
@ -2380,9 +2460,11 @@ jerry_api_set_array_index_value (jerry_api_object_t *array_object_p,
|
||||
|
||||
- [jerry_api_create_array_object](#jerry_api_create_array_object)
|
||||
|
||||
|
||||
# jerry_api_get_array_index_value
|
||||
|
||||
**Summary**
|
||||
|
||||
Get value of an indexed element in the specified array object.
|
||||
|
||||
**Prototype**
|
||||
@ -2423,6 +2505,7 @@ jerry_api_get_array_index_value (jerry_api_object_t *array_object_p,
|
||||
# jerry_api_create_error
|
||||
|
||||
**Summary**
|
||||
|
||||
Create new JavaScript error object.
|
||||
it should be throwed inside of handle attached to external function object.
|
||||
|
||||
@ -2478,6 +2561,7 @@ handler (const jerry_api_object_t *function_obj_p,
|
||||
```
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerry_external_handler_t](#jerry_external_handler_t)
|
||||
- [jerry_api_is_function](#jerry_api_is_function)
|
||||
- [jerry_api_call_function](#jerry_api_call_function)
|
||||
@ -2488,9 +2572,11 @@ handler (const jerry_api_object_t *function_obj_p,
|
||||
# jerry_register_external_magic_strings
|
||||
|
||||
**Summary**
|
||||
|
||||
Registers an external magic string array.
|
||||
|
||||
**Prototype**
|
||||
|
||||
```c
|
||||
void
|
||||
jerry_register_external_magic_strings (const jerry_api_char_ptr_t *ex_str_items,
|
||||
@ -2503,6 +2589,7 @@ jerry_register_external_magic_strings (const jerry_api_char_ptr_t *ex_str_items
|
||||
- `str_lengths` - lengths of the strings
|
||||
|
||||
**Example**
|
||||
|
||||
```c
|
||||
{
|
||||
jerry_init (JERRY_FLAG_EMPTY);
|
||||
@ -2514,9 +2601,9 @@ jerry_register_external_magic_strings (const jerry_api_char_ptr_t *ex_str_items
|
||||
};
|
||||
uint32_t num_magic_string_items = (uint32_t) (sizeof (magic_string_items) / sizeof (jerry_api_char_ptr_t));
|
||||
const jerry_api_length_t magic_string_lengths[] = {
|
||||
(jerry_api_length_t)strlen(magic_string_items[0]),
|
||||
(jerry_api_length_t)strlen(magic_string_items[1]),
|
||||
(jerry_api_length_t)strlen(magic_string_items[2])
|
||||
(jerry_api_length_t)strlen (magic_string_items[0]),
|
||||
(jerry_api_length_t)strlen (magic_string_items[1]),
|
||||
(jerry_api_length_t)strlen (magic_string_items[2])
|
||||
};
|
||||
jerry_register_external_magic_strings (magic_string_items,
|
||||
num_magic_string_items,
|
||||
@ -2525,6 +2612,7 @@ jerry_register_external_magic_strings (const jerry_api_char_ptr_t *ex_str_items
|
||||
```
|
||||
|
||||
**See also**
|
||||
|
||||
- [jerry_init](#jerry_init)
|
||||
|
||||
|
||||
@ -2552,7 +2640,7 @@ jerry_api_value_to_string (const jerry_api_value_t *in_value_p);
|
||||
|
||||
... // receive or construct value
|
||||
|
||||
jerry_api_string_t *string_value = jerry_api_value_to_string(&value);
|
||||
jerry_api_string_t *string_value = jerry_api_value_to_string (&value);
|
||||
}
|
||||
```
|
||||
|
||||
@ -2570,6 +2658,7 @@ typedef bool (*jerry_object_field_foreach_t) (const jerry_api_string_t *field_na
|
||||
const jerry_api_value_t *field_value_p,
|
||||
void *user_data_p);
|
||||
```
|
||||
|
||||
- `field_name_p` - name of the field
|
||||
- `field_value_p` - value of the field
|
||||
- `user_data_p` - user data
|
||||
@ -2596,6 +2685,7 @@ jerry_api_foreach_object_field (jerry_api_object_t *object_p,
|
||||
jerry_object_field_foreach_t foreach_p,
|
||||
void *user_data_p);
|
||||
```
|
||||
|
||||
- `object_p` - object
|
||||
- `foreach_p` - foreach function, that will be apllied for each fields
|
||||
- `user_data_p` - user data for foreach function
|
||||
@ -2625,7 +2715,7 @@ bool foreach_function (const jerry_api_string_t *field_name_p,
|
||||
|
||||
double data = 3.14; // example data
|
||||
|
||||
jerry_api_foreach_object_field(object_p, foreach_function, &data);
|
||||
jerry_api_foreach_object_field (object_p, foreach_function, &data);
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
@ -44,7 +44,7 @@ This section describes the compact byte-code (CBC) byte-code representation. The
|
||||
|
||||
CBC is a CISC like instruction set which assigns shorter instructions for frequent operations. Many instructions represent multiple atomic tasks which reduces the byte code size. This technique is basically a data compression method.
|
||||
|
||||
## Compiled code format
|
||||
## Compiled Code Format
|
||||
|
||||
The memory layout of the compiled byte code is the following.
|
||||
|
||||
@ -222,7 +222,7 @@ ECMA component of the engine is responsible for the following notions:
|
||||
* Runtime representation
|
||||
* Garbage collection (GC)
|
||||
|
||||
## Data representation
|
||||
## Data Representation
|
||||
|
||||
The major structure for data representation is `ECMA_value`. The lower two bits of this structure encode value tag, which determines the type of the value:
|
||||
|
||||
@ -290,7 +290,7 @@ A property is 7 bit long and its type field is 2 bit long which consumes 9 bit w
|
||||
|
||||
#### Property Hashmap
|
||||
|
||||
If the number of property pairs reach a limit (currently this limit is defined to 16), a hash map (called [property hashmap](#Property Hashmap)) is inserted at the first position of the property pair list, in order to find a property using it, instead of finding it by iterating linearly over the property pairs.
|
||||
If the number of property pairs reach a limit (currently this limit is defined to 16), a hash map (called [Property Hashmap](#Property Hashmap)) is inserted at the first position of the property pair list, in order to find a property using it, instead of finding it by iterating linearly over the property pairs.
|
||||
|
||||
Property hashmap contains 2<sup>n</sup> elements, where 2<sup>n</sup> is larger than the number of properties of the object. Each element can have tree types of value:
|
||||
|
||||
@ -326,7 +326,7 @@ Collections are array-like data structures, which are optimized to save memory.
|
||||
|
||||
### Exception Handling
|
||||
|
||||
In order to implement a sense of exception handling, the return values of JerryScript functions are able to indicate their faulty or "exceptional" operation. The return values are actually ECMA values (see section [Data representation](#data representation)) in which the error bit is set if an erroneous operation is occurred.
|
||||
In order to implement a sense of exception handling, the return values of JerryScript functions are able to indicate their faulty or "exceptional" operation. The return values are actually ECMA values (see section [Data Representation](#data-representation)) in which the error bit is set if an erroneous operation is occurred.
|
||||
|
||||
### Value Management and Ownership
|
||||
|
||||
|
||||
10
css/img.css
10
css/img.css
@ -32,3 +32,13 @@ img[alt="Compressed Pointer"] {
|
||||
max-width: 25%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
img[alt="Object properties"] {
|
||||
max-width: 60%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
img[alt="Object/Lexicat environment structures"] {
|
||||
max-width: 50%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user