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:
Zoltan Herczeg
2017-05-11 12:42:47 +02:00
committed by GitHub
parent 7d133e55e4
commit 838e74df0f
15 changed files with 97 additions and 40 deletions
+5 -7
View File
@@ -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);
}
}
}
+55 -2
View File
@@ -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 */