Add info to external pointer free callback. (#4642)
Furthermore reduce memory consumption when only one external pointer is assigned to an object. JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
@@ -190,9 +190,9 @@ jerry_value_t jerry_create_string_sz_from_utf8 (const jerry_char_t *str_p, jerry
|
||||
jerry_value_t jerry_create_string (const jerry_char_t *str_p);
|
||||
jerry_value_t jerry_create_string_sz (const jerry_char_t *str_p, jerry_size_t str_size);
|
||||
jerry_value_t jerry_create_external_string (const jerry_char_t *str_p,
|
||||
jerry_object_native_free_callback_t free_cb);
|
||||
jerry_value_free_callback_t free_cb);
|
||||
jerry_value_t jerry_create_external_string_sz (const jerry_char_t *str_p, jerry_size_t str_size,
|
||||
jerry_object_native_free_callback_t free_cb);
|
||||
jerry_value_free_callback_t free_cb);
|
||||
jerry_value_t jerry_create_symbol (const jerry_value_t value);
|
||||
jerry_value_t jerry_create_bigint (const uint64_t *digits_p, uint32_t size, bool sign);
|
||||
jerry_value_t jerry_create_undefined (void);
|
||||
@@ -351,7 +351,7 @@ bool jerry_value_is_arraybuffer (const jerry_value_t value);
|
||||
jerry_value_t jerry_create_arraybuffer (const jerry_length_t size);
|
||||
jerry_value_t jerry_create_arraybuffer_external (const jerry_length_t size,
|
||||
uint8_t *buffer_p,
|
||||
jerry_object_native_free_callback_t free_cb);
|
||||
jerry_value_free_callback_t free_cb);
|
||||
jerry_length_t jerry_arraybuffer_write (const jerry_value_t value,
|
||||
jerry_length_t offset,
|
||||
const uint8_t *buf_p,
|
||||
|
||||
@@ -277,10 +277,20 @@ typedef jerry_value_t (*jerry_external_handler_t) (const jerry_call_info_t *call
|
||||
const jerry_value_t args_p[],
|
||||
const jerry_length_t args_count);
|
||||
|
||||
/**
|
||||
* Native free callback of generic value types.
|
||||
*/
|
||||
typedef void (*jerry_value_free_callback_t) (void *native_p);
|
||||
|
||||
/**
|
||||
* Forward definition of jerry_object_native_info_t.
|
||||
*/
|
||||
struct jerry_object_native_info_t;
|
||||
|
||||
/**
|
||||
* Native free callback of an object.
|
||||
*/
|
||||
typedef void (*jerry_object_native_free_callback_t) (void *native_p);
|
||||
typedef void (*jerry_object_native_free_callback_t) (void *native_p, struct jerry_object_native_info_t *info_p);
|
||||
|
||||
/**
|
||||
* Decorator callback for Error objects. The decorator can create
|
||||
@@ -374,7 +384,7 @@ typedef void *(*jerry_context_alloc_t) (size_t size, void *cb_data_p);
|
||||
/**
|
||||
* Type information of a native pointer.
|
||||
*/
|
||||
typedef struct
|
||||
typedef struct jerry_object_native_info_t
|
||||
{
|
||||
jerry_object_native_free_callback_t free_cb; /**< the free callback of the native pointer */
|
||||
} jerry_object_native_info_t;
|
||||
|
||||
Reference in New Issue
Block a user