diff options
author | Divy Srivastava <dj.srivastava23@gmail.com> | 2022-07-22 17:54:22 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-22 17:54:22 +0530 |
commit | 03dc3b8972f460e40d0b75fc3207cae9fe4f60da (patch) | |
tree | 410bc92530e34ca2eee8a154f705be85ae9641b3 /ext | |
parent | 244c00d95b7ec8f30a5e81b743b4b618049b6c37 (diff) |
feat(ops): V8 Fast Calls (#15122)
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'ext')
-rw-r--r-- | ext/net/lib.rs | 4 | ||||
-rw-r--r-- | ext/web/02_timers.js | 4 | ||||
-rw-r--r-- | ext/web/timers.rs | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/ext/net/lib.rs b/ext/net/lib.rs index c95348020..249170060 100644 --- a/ext/net/lib.rs +++ b/ext/net/lib.rs @@ -81,6 +81,8 @@ pub fn init<P: NetPermissions + 'static>( unstable: bool, unsafely_ignore_certificate_errors: Option<Vec<String>>, ) -> Extension { + let mut ops = ops::init::<P>(); + ops.extend(ops_tls::init::<P>()); Extension::builder() .js(include_js_files!( prefix "deno:ext/net", @@ -88,7 +90,7 @@ pub fn init<P: NetPermissions + 'static>( "02_tls.js", "04_net_unstable.js", )) - .ops([&ops::init::<P>()[..], &ops_tls::init::<P>()[..]].concat()) + .ops(ops) .state(move |state| { state.put(DefaultTlsOptions { root_cert_store: root_cert_store.clone(), diff --git a/ext/web/02_timers.js b/ext/web/02_timers.js index a4ce33a18..1a456f9bb 100644 --- a/ext/web/02_timers.js +++ b/ext/web/02_timers.js @@ -23,9 +23,11 @@ const { webidl } = window.__bootstrap; const { reportException } = window.__bootstrap.event; const { assert } = window.__bootstrap.infra; + // deno-lint-ignore camelcase + const { op_now } = Deno.core.ops; function opNow() { - return core.opSync("op_now"); + return op_now.call(); } // --------------------------------------------------------------------------- diff --git a/ext/web/timers.rs b/ext/web/timers.rs index f57baa559..ebef717ba 100644 --- a/ext/web/timers.rs +++ b/ext/web/timers.rs @@ -28,7 +28,7 @@ pub type StartTime = Instant; // If the High precision flag is not set, the // nanoseconds are rounded on 2ms. #[op] -pub fn op_now<TP>(state: &mut OpState, _argument: ()) -> f64 +pub fn op_now<TP>(state: &mut OpState) -> f64 where TP: TimersPermission + 'static, { |