Move the job queue from the ports into jerry-core (#1804)

* Move the job queue from the ports into jerry-core

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu

* Remove port notification and keep `jerry_run_all_enqueued_jobs` API only

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
This commit is contained in:
Akos Kiss
2017-05-18 11:30:50 +02:00
committed by yichoi
parent 0806c16902
commit 23068bdf99
12 changed files with 155 additions and 175 deletions
@@ -25,9 +25,28 @@
* @{
*/
/**
* Jerry job handler function type
*/
typedef ecma_value_t (*ecma_job_handler_t) (void *job_p);
/**
* Description of the job queue item.
*/
typedef struct ecma_job_queueitem_t
{
struct ecma_job_queueitem_t *next_p; /**< points to next item */
ecma_job_handler_t handler; /**< the handler for the job*/
void *job_p; /**< points to the job */
} ecma_job_queueitem_t;
void ecma_job_queue_init (void);
void ecma_enqueue_promise_reaction_job (ecma_value_t reaction, ecma_value_t argument);
void ecma_enqueue_promise_resolve_thenable_job (ecma_value_t promise, ecma_value_t thenable, ecma_value_t then);
ecma_value_t ecma_process_all_enqueued_jobs (void);
/**
* @}
* @}