Matt Mastracci
736b91edd0
perf(cli): use new deno_core timers ( #22569 )
...
Improves #19100
Fixes #20356
Replaces #20428
Changes made in deno_core to support this:
- [x] Errors must be handled in setTimeout callbacks
- [x] Microtask ordering is not-quite-right
- [x] Timer cancellation must be checked right before dispatch
- [x] Timer sanitizer
- [x] Move high-res timer to deno_core
- [x] Timers need opcall tracing
2024-03-01 11:15:18 -07:00
Matt Mastracci
f705906256
chore(ext/web): refactor timer ops before landing op sanitizer ( #22435 )
...
Splitting the sleep and interval ops allows us to detect an interval
timer. We also remove the use of the `op_async_void_deferred` call.
A future PR will be able to split the op sanitizer messages for timers
and intervals.
2024-02-16 15:35:51 +00:00
David Sherret
7e72f3af61
chore: update copyright to 2024 ( #21753 )
2024-01-01 19:58:21 +00:00
Bartek Iwańczuk
96ce9cdb17
refactor: op_sleep uses op2 macro ( #20908 )
...
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-10-26 14:16:41 -06:00
Bartek Iwańczuk
093b3eee58
chore: update deno_core and port all remaining ops to op2
( #20954 )
...
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-10-25 13:43:38 +02:00
Bartek Iwańczuk
2167a52d69
refactor: remove TimersPermissions::check_unstable ( #20831 )
...
This is dead code that was not used in any way.
Ref https://github.com/denoland/deno/pull/20797
2023-10-09 02:08:10 +02:00
Bartek Iwańczuk
5d98a544b4
refactor: rewrite several extension ops to op2 ( #20457 )
...
Rewrites following extensions:
- `ext/web`
- `ext/url`
- `ext/webstorage`
- `ext/io`
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-10-05 14:34:38 +02:00
Bartek Iwańczuk
9e243d22f4
Revert "refactor: rewrite ops that use 'deferred' to use 'op2(async(lazy))' ( #20303 ) ( #20370 )
...
This reverts commit
83426be6ee
.
Includes a regression test.
2023-09-04 17:05:06 -04:00
Bartek Iwańczuk
83426be6ee
refactor: rewrite ops that use 'deferred' to use 'op2(async(lazy))' ( #20303 )
...
Rewrites 3 ops that used "op(deferred)" to use "op2(async(lazy))"
instead.
This will allow us to remove codepath for handling "deferred" ops in
"deno_core".
2023-09-02 08:48:21 +02:00
Martin Fischer
801b9ec62d
chore: fix typos ( #19572 )
2023-06-26 09:10:27 -04:00
Matt Mastracci
ad22336245
feat(ext/web): Request higher-resolution timer on Windows if user requests setTimeout w/short delay ( #19149 )
...
If a timer is requested with <=100ms resolution, request the high-res
timer. Since the default Windows timer period is 15ms, this means a
100ms timer could fire at 115ms (15% late). We assume that timers longer
than 100ms are a reasonable cutoff here.
The high-res timers on Windows are still limited. Unfortuntely this
means that our shortest duration 4ms timers can still be 25% late, but
without a more complex timer system or spinning on the clock itself,
we're somewhat bounded by the OS' scheduler itself.
2023-05-17 13:59:55 -06:00
David Sherret
10e4b2e140
chore: update copyright year to 2023 ( #17247 )
...
Yearly tradition of creating extra noise in git.
2023-01-02 21:00:42 +00:00
linbingquan
f46df3e359
chore: update to Rust 1.66.0 ( #17078 )
2022-12-17 23:20:15 +01:00
Divy Srivastava
4c9dd33e27
perf(ext/web): optimize timer cancellation ( #16316 )
...
Towards #16315
It created a bunch of Error objects and rejected the promise. This patch
changes `op_sleep` to resolve with `true` if it was cancelled.
2022-10-17 16:59:16 +05:30
Divy Srivastava
027d4d433d
perf(ops): inline &[u8] arguments and enable fast API ( #15731 )
2022-09-07 16:21:47 +05:30
Divy Srivastava
d2a408f452
perf(runtime): short-circuit queue_async_op
for Poll::Ready ( #15773 )
2022-09-06 23:08:37 +05:30
Divy Srivastava
d8396225c4
perf: use fast api for op_now ( #15643 )
2022-08-28 12:21:49 +05:30
Ryan Dahl
0b70c81f97
perf: improve performance.now ( #15481 )
2022-08-16 21:00:16 +05:30
Aapo Alasuutari
b4b4e5980b
chore(ops): Remove unused arguments from ops ( #15315 )
2022-07-26 19:34:08 +02:00
Divy Srivastava
4db650ddd5
Revert "feat(ops): V8 Fast Calls ( #15122 )" ( #15276 )
...
This reverts commit 03dc3b8972
.
2022-07-22 19:06:32 +05:30
Divy Srivastava
03dc3b8972
feat(ops): V8 Fast Calls ( #15122 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-07-22 17:54:22 +05:30
Ryan Dahl
21dfeea3c4
Remove unstable Deno.sleepSync ( #14719 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-13 21:28:00 +02:00
Andreu Botella
3e7afb8918
chore(runtime): Make some ops in ext and runtime infallible. ( #14589 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-05-13 10:36:31 +02:00
Aaron O'Mullan
88d0f01948
feat(ops): custom arity ( #13949 )
...
Also cleanup & drop ignored wildcard op-args
2022-03-14 23:38:53 +01:00
Divy Srivastava
b4e42953e1
feat(core): codegen ops ( #13861 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-14 18:44:15 +01:00
Andreu Botella
760f4c9e24
chore(ext/timers): move ext/timers to ext/web ( #13665 )
2022-02-15 12:17:30 +01:00