From c113df1bb8a0c7d0c560ad32c0291c918c7da7b4 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Thu, 6 Dec 2018 23:05:36 -0500 Subject: Process source maps in Rust instead of JS (#1280) - Improves speed and binary size significantly. - Makes deno_last_exception() output a JSON structure. - Isolate::execute and Isolate::event_loop now return structured, mapped JSError objects on errors. - Removes libdeno functions: libdeno.setGlobalErrorHandler() libdeno.setPromiseRejectHandler() libdeno.setPromiseErrorExaminer() In collaboration with Ryan Dahl. --- libdeno/internal.h | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'libdeno/internal.h') diff --git a/libdeno/internal.h b/libdeno/internal.h index 8a366d515..3dc4d8d0e 100644 --- a/libdeno/internal.h +++ b/libdeno/internal.h @@ -19,7 +19,6 @@ class DenoIsolate { current_args_(nullptr), snapshot_creator_(nullptr), global_import_buf_ptr_(nullptr), - pending_promise_events_(0), recv_cb_(config.recv_cb), next_req_id_(0), user_data_(nullptr) { @@ -47,13 +46,13 @@ class DenoIsolate { const v8::FunctionCallbackInfo* current_args_; v8::SnapshotCreator* snapshot_creator_; void* global_import_buf_ptr_; - int32_t pending_promise_events_; deno_recv_cb recv_cb_; int32_t next_req_id_; void* user_data_; v8::Persistent context_; std::map> async_data_map_; + std::map> pending_promise_map_; std::string last_exception_; v8::Persistent recv_; v8::Persistent global_error_handler_; @@ -91,26 +90,16 @@ void Recv(const v8::FunctionCallbackInfo& args); void Send(const v8::FunctionCallbackInfo& args); void Shared(v8::Local property, const v8::PropertyCallbackInfo& info); -void SetGlobalErrorHandler(const v8::FunctionCallbackInfo& args); -void SetPromiseRejectHandler(const v8::FunctionCallbackInfo& args); -void SetPromiseErrorExaminer(const v8::FunctionCallbackInfo& args); static intptr_t external_references[] = { - reinterpret_cast(Print), - reinterpret_cast(Recv), - reinterpret_cast(Send), - reinterpret_cast(Shared), - reinterpret_cast(SetGlobalErrorHandler), - reinterpret_cast(SetPromiseRejectHandler), - reinterpret_cast(SetPromiseErrorExaminer), - 0}; + reinterpret_cast(Print), reinterpret_cast(Recv), + reinterpret_cast(Send), reinterpret_cast(Shared), 0}; static const deno_buf empty_buf = {nullptr, 0, nullptr, 0}; Deno* NewFromSnapshot(void* user_data, deno_recv_cb cb); void InitializeContext(v8::Isolate* isolate, v8::Local context, - const char* js_filename, const char* js_source, - const char* source_map); + const char* js_filename, const char* js_source); void HandleException(v8::Local context, v8::Local exception); -- cgit v1.2.3