Remove include jerryscript.h from jrt.h. (#1803)
Fixes #1791. JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
@@ -408,22 +408,20 @@ ecma_gc_free_native_pointer (ecma_property_t *property_p, /**< property */
|
||||
|
||||
if (id == LIT_INTERNAL_MAGIC_STRING_NATIVE_HANDLE)
|
||||
{
|
||||
if (native_pointer_p->info_p != NULL)
|
||||
if (native_pointer_p->u.callback_p != NULL)
|
||||
{
|
||||
ecma_external_pointer_t freecb_p = (ecma_external_pointer_t) native_pointer_p->info_p;
|
||||
((jerry_object_free_callback_t) freecb_p) ((uintptr_t) native_pointer_p->data_p);
|
||||
native_pointer_p->u.callback_p ((uintptr_t) native_pointer_p->data_p);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (native_pointer_p->info_p != NULL)
|
||||
if (native_pointer_p->u.info_p != NULL)
|
||||
{
|
||||
jerry_object_free_callback_t free_cb;
|
||||
free_cb = (jerry_object_free_callback_t) ((const jerry_object_native_info_t *) native_pointer_p->info_p)->free_cb;
|
||||
ecma_object_native_free_callback_t free_cb = native_pointer_p->u.info_p->free_cb;
|
||||
|
||||
if (free_cb != NULL)
|
||||
{
|
||||
free_cb ((uintptr_t) native_pointer_p->data_p);
|
||||
free_cb (native_pointer_p->data_p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +53,19 @@
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* JerryScript init flags.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
ECMA_INIT_EMPTY = (0u), /**< empty flag set */
|
||||
ECMA_INIT_SHOW_OPCODES = (1u << 0), /**< dump byte-code to log after parse */
|
||||
ECMA_INIT_SHOW_REGEXP_OPCODES = (1u << 1), /**< dump regexp byte-code to log after compilation */
|
||||
ECMA_INIT_MEM_STATS = (1u << 2), /**< dump memory statistics */
|
||||
ECMA_INIT_MEM_STATS_SEPARATE = (1u << 3), /**< dump memory statistics and reset peak values after parse */
|
||||
ECMA_INIT_DEBUGGER = (1u << 4), /**< enable all features required by debugging */
|
||||
} ecma_init_flag_t;
|
||||
|
||||
/**
|
||||
* Type of ecma value
|
||||
*/
|
||||
@@ -195,13 +208,53 @@ typedef int32_t ecma_integer_value_t;
|
||||
*/
|
||||
typedef uintptr_t ecma_external_pointer_t;
|
||||
|
||||
/**
|
||||
* Callback which tells whether the ECMAScript execution should be stopped.
|
||||
*/
|
||||
typedef ecma_value_t (*ecma_vm_exec_stop_callback_t) (void *user_p);
|
||||
|
||||
/**
|
||||
* Function type for user context deallocation
|
||||
*/
|
||||
typedef void (*ecma_user_context_deinit_t) (void *user_context_p);
|
||||
|
||||
/**
|
||||
* Type of an external function handler.
|
||||
*/
|
||||
typedef ecma_value_t (*ecma_external_handler_t) (const ecma_value_t function_obj,
|
||||
const ecma_value_t this_val,
|
||||
const ecma_value_t args_p[],
|
||||
const ecma_length_t args_count);
|
||||
|
||||
/**
|
||||
* Native free callback of an object (deprecated).
|
||||
*/
|
||||
typedef void (*ecma_object_free_callback_t) (const uintptr_t native_p);
|
||||
|
||||
/**
|
||||
* Native free callback of an object.
|
||||
*/
|
||||
typedef void (*ecma_object_native_free_callback_t) (void *native_p);
|
||||
|
||||
/**
|
||||
* Type information of a native pointer.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
ecma_object_native_free_callback_t free_cb; /**< the free callback of the native pointer */
|
||||
} ecma_object_native_info_t;
|
||||
|
||||
/**
|
||||
* Representation for native pointer data.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
void *data_p; /**< points to the data of the object */
|
||||
void *info_p; /**< free info or callback */
|
||||
union
|
||||
{
|
||||
ecma_object_free_callback_t callback_p; /**< callback */
|
||||
ecma_object_native_info_t *info_p; /**< native info */
|
||||
} u;
|
||||
} ecma_native_pointer_t;
|
||||
|
||||
/**
|
||||
@@ -720,7 +773,7 @@ typedef struct
|
||||
ecma_length_t args_length; /**< length of arguments */
|
||||
} bound_function;
|
||||
|
||||
ecma_external_pointer_t external_function; /**< external function */
|
||||
ecma_external_handler_t external_handler_cb; /**< external function */
|
||||
} u;
|
||||
} ecma_extended_object_t;
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ ecma_create_native_property (ecma_object_t *obj_p, /**< object to create propert
|
||||
JERRY_ASSERT (ECMA_STRING_IS_REF_EQUALS_TO_ONE (&name));
|
||||
|
||||
native_pointer_p->data_p = data_p;
|
||||
native_pointer_p->info_p = info_p;
|
||||
native_pointer_p->u.info_p = info_p;
|
||||
|
||||
return is_new;
|
||||
} /* ecma_create_native_property */
|
||||
|
||||
@@ -496,7 +496,7 @@ ecma_builtin_promise_do_all (ecma_value_t array, /**< the array for all */
|
||||
|
||||
/* k. */
|
||||
ecma_object_t *res_ele_p;
|
||||
res_ele_p = ecma_op_create_external_function_object ((ecma_external_pointer_t) ecma_builtin_promise_all_handler);
|
||||
res_ele_p = ecma_op_create_external_function_object (ecma_builtin_promise_all_handler);
|
||||
/* l. */
|
||||
ecma_op_object_put (res_ele_p,
|
||||
str_already_called,
|
||||
|
||||
@@ -310,7 +310,7 @@ ecma_op_function_try_lazy_instantiate_property (ecma_object_t *object_p, /**< th
|
||||
* @return pointer to newly created external function object
|
||||
*/
|
||||
ecma_object_t *
|
||||
ecma_op_create_external_function_object (ecma_external_pointer_t code_p) /**< pointer to external native handler */
|
||||
ecma_op_create_external_function_object (ecma_external_handler_t handler_cb) /**< pointer to external native handler */
|
||||
{
|
||||
ecma_object_t *prototype_obj_p = ecma_builtin_get (ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE);
|
||||
|
||||
@@ -328,7 +328,7 @@ ecma_op_create_external_function_object (ecma_external_pointer_t code_p) /**< po
|
||||
*/
|
||||
|
||||
ecma_extended_object_t *ext_func_obj_p = (ecma_extended_object_t *) function_obj_p;
|
||||
ext_func_obj_p->u.external_function = code_p;
|
||||
ext_func_obj_p->u.external_handler_cb = handler_cb;
|
||||
|
||||
ecma_string_t *magic_string_prototype_p = ecma_get_magic_string (LIT_MAGIC_STRING_PROTOTYPE);
|
||||
ecma_builtin_helper_def_prop (function_obj_p,
|
||||
@@ -536,12 +536,11 @@ ecma_op_function_call (ecma_object_t *func_obj_p, /**< Function object */
|
||||
else if (ecma_get_object_type (func_obj_p) == ECMA_OBJECT_TYPE_EXTERNAL_FUNCTION)
|
||||
{
|
||||
ecma_extended_object_t *ext_func_obj_p = (ecma_extended_object_t *) func_obj_p;
|
||||
jerry_external_handler_t handler_p = (jerry_external_handler_t) ext_func_obj_p->u.external_function;
|
||||
|
||||
ret_value = handler_p (ecma_make_object_value (func_obj_p),
|
||||
this_arg_value,
|
||||
arguments_list_p,
|
||||
arguments_list_len);
|
||||
ret_value = ext_func_obj_p->u.external_handler_cb (ecma_make_object_value (func_obj_p),
|
||||
this_arg_value,
|
||||
arguments_list_p,
|
||||
arguments_list_len);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -42,7 +42,7 @@ ecma_property_t *
|
||||
ecma_op_function_try_lazy_instantiate_property (ecma_object_t *object_p, ecma_string_t *property_name_p);
|
||||
|
||||
ecma_object_t *
|
||||
ecma_op_create_external_function_object (ecma_external_pointer_t code_p);
|
||||
ecma_op_create_external_function_object (ecma_external_handler_t handler_cb);
|
||||
|
||||
ecma_value_t
|
||||
ecma_op_function_call (ecma_object_t *func_obj_p, ecma_value_t this_arg_value,
|
||||
|
||||
@@ -416,7 +416,7 @@ ecma_promise_create_resolving_functions (ecma_object_t *object_p) /**< the promi
|
||||
ecma_init_ecma_magic_string (&str_already_resolved, LIT_INTERNAL_MAGIC_STRING_ALREADY_RESOLVED);
|
||||
/* 2. */
|
||||
ecma_object_t *resolve_p;
|
||||
resolve_p = ecma_op_create_external_function_object ((ecma_external_pointer_t) ecma_promise_resolve_handler);
|
||||
resolve_p = ecma_op_create_external_function_object (ecma_promise_resolve_handler);
|
||||
|
||||
/* 3. */
|
||||
ecma_op_object_put (resolve_p,
|
||||
@@ -430,7 +430,7 @@ ecma_promise_create_resolving_functions (ecma_object_t *object_p) /**< the promi
|
||||
false);
|
||||
/* 5. */
|
||||
ecma_object_t *reject_p;
|
||||
reject_p = ecma_op_create_external_function_object ((ecma_external_pointer_t) ecma_promise_reject_handler);
|
||||
reject_p = ecma_op_create_external_function_object (ecma_promise_reject_handler);
|
||||
/* 6. */
|
||||
ecma_op_object_put (reject_p,
|
||||
&str_promise,
|
||||
|
||||
Reference in New Issue
Block a user