diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2021-01-05 22:10:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-05 22:10:50 +0100 |
commit | 46c0cab763380a1ecbdf93e309257de4e37a7341 (patch) | |
tree | 232992fc9a79bb312144e2426759c41b0afd15c6 /core/ops.rs | |
parent | 0d41e21b0e9b46cc179eff42c215439fb672964b (diff) |
refactor(core): simplify Deno.core initialisation, remove stale TODO (#8847)
This commit rewrites initialisation of the "shared queue" and
in effect prevents from double execution of "core/core.js" and
"core/error.js".
Previously both of these files were executed every time a "JsRuntime"
was created. That lead to a situation where one copy of each script
was included in the snapshot and then another copy would be
executed after loading the snapshot.
Effectively "JsRuntime::shared_init" was removed; instead execution
of those scripts and actual initialisation of shared queue
was split into two helper functions: "JsRuntime::js_init" and
"JsRuntime::share_queue_init".
Additionally stale TODO comments were removed.
Diffstat (limited to 'core/ops.rs')
-rw-r--r-- | core/ops.rs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/core/ops.rs b/core/ops.rs index 2907d2552..d29159e9c 100644 --- a/core/ops.rs +++ b/core/ops.rs @@ -41,11 +41,8 @@ pub struct OpState { gotham_state: GothamState, } -impl Default for OpState { - // TODO(ry) Only deno_core should be able to construct an OpState. But I don't - // know how to make default private. Maybe rename to - // pub(crate) fn new() -> OpState - fn default() -> OpState { +impl OpState { + pub(crate) fn new() -> OpState { OpState { resource_table: Default::default(), op_table: OpTable::default(), @@ -119,7 +116,7 @@ impl Default for OpTable { #[test] fn op_table() { - let state = Rc::new(RefCell::new(OpState::default())); + let state = Rc::new(RefCell::new(OpState::new())); let foo_id; let bar_id; |