Aapo Alasuutari
2164f6b1eb
perf(ops): Monomorphic sync op calls ( #15337 )
...
Welcome to better optimised op calls! Currently opSync is called with parameters of every type and count. This most definitely makes the call megamorphic. Additionally, it seems that spread params leads to V8 not being able to optimise the calls quite as well (apparently Fast Calls cannot be used with spread params).
Monomorphising op calls should lead to some improved performance. Now that unwrapping of sync ops results is done on Rust side, this is pretty simple:
```
opSync("op_foo", param1, param2);
// -> turns to
ops.op_foo(param1, param2);
```
This means sync op calls are now just directly calling the native binding function. When V8 Fast API Calls are enabled, this will enable those to be called on the optimised path.
Monomorphising async ops likely requires using callbacks and is left as an exercise to the reader.
2022-08-11 15:56:56 +02:00
Yongwook Choi
2138b68c24
fix: Update Object.prototype.__proto__
related comments ( #15394 )
2022-08-04 08:39:16 +05:30
David Sherret
0c87dd1e98
perf: use emit from swc instead of tsc ( #15118 )
2022-07-12 18:58:39 -04:00
Kitson Kelly
5db16d1229
fix(lsp): enable auto imports ( #15145 )
...
Fixes: #15111
2022-07-12 09:35:18 +10:00
Rafael Ávila de Espíndola
2d15e926f9
fix: update to TypeScript 4.7.4 ( #15022 )
2022-07-04 15:13:50 +10:00
Bartek Iwańczuk
681bb49d0d
fix(lsp): restart TS language service when caching dependencies ( #14979 )
2022-06-27 19:43:43 +02:00
Nayeem Rahman
ef7bc5e0a6
fix(check): ignore TS2306 ( #14940 )
...
Fixes a regression where this type checking error was being surfaced in certain scenarios.
2022-06-23 12:18:32 -04:00
Nayeem Rahman
845d4754c6
fix(check): use "moduleDetection": "force" ( #14875 )
2022-06-15 12:26:43 -04:00
Kitson Kelly
5692132755
fix(lsp): handle get diagnostic errors better ( #14776 )
2022-06-03 22:23:33 +10:00
Kitson Kelly
7eee521199
feat: update to TypeScript 4.7 ( #14242 )
2022-06-01 10:19:18 +10:00
Bartek Iwańczuk
d76acfdc17
fix: base64 encoding of source maps with emojis ( #14607 )
...
This commit fixes source maps for files that contain emojis.
This is done by updating "deno_ast" to "0.14.1" for the case
of "--no-check" flag (ie using SWC emit) and by overriding
TSC's default base64 encoder (which turned out to be buggy)
for the type checking case.
2022-05-17 16:59:35 +02:00
David Sherret
eb5ffab1cb
fix(lsp): correct positions in some scenarios ( #14359 )
2022-05-15 14:41:37 -04:00
Kitson Kelly
ef26a267ae
fix(cli): add dom.extras lib ( #14430 )
...
Closes: #12558
Fixes: #14344
2022-04-29 13:47:58 +10:00
David Sherret
c0e3b6096d
refactor(lsp): store all the assets in Rust when initializing ( #14367 )
2022-04-25 11:23:24 -04: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
Kitson Kelly
7fc5bfe51b
feat(cli): update to TypeScript 4.6.2 ( #13474 )
2022-03-02 07:44:43 +11:00
David Sherret
37aba8f754
perf(lsp): cancellable TS diagnostics ( #13565 )
2022-02-02 09:25:22 -05:00
Yoshiya Hinosawa
4c1053ad33
chore: update copyright year ( #13434 )
2022-01-20 16:10:16 +09:00
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Kitson Kelly
345f0fbe5c
feat(cli): update to TypeScript 4.5 ( #12410 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-12-10 09:12:21 +11:00
Kitson Kelly
210300d049
feat(lsp): add type definition provider ( #12789 )
2021-11-23 11:09:19 +11:00
Kitson Kelly
bf5657cd59
feat(lsp): add workspace symbol provider ( #12787 )
2021-11-23 11:08:56 +11:00
Kitson Kelly
99de9eb4c2
fix(cli): don't ignore diagnostics about for await ( #12116 )
...
Fixes #12115
2021-09-17 16:54:52 +10:00
Kitson Kelly
935133f53a
feat(cli): Update to TypeScript 4.4 ( #11678 )
2021-08-27 10:12:59 +10:00
David Sherret
15a763152f
chore: move test files to testdata directory ( #11601 )
2021-08-11 10:20:47 -04:00
Kitson Kelly
465cf9a6fe
feat: add new esnext types ( #11627 )
2021-08-10 10:33:08 +02:00
Jean Pierre
728d205d9d
feat(lsp): implement refactoring code actions ( #11555 )
...
Closes: denoland/vscode_deno#433
2021-08-06 11:46:32 +10:00
Kitson Kelly
c6f4e41529
refactor(lsp): minor improvements to handling closed documents ( #11518 )
...
Ref #10897
2021-07-27 07:40:12 +10:00
Kitson Kelly
07eb44e483
fix(tsc): add .at() types manually to tsc ( #11443 )
...
Fixes: #11441
2021-07-19 11:56:14 +10:00
Kitson Kelly
281c4cd8fc
feat(cli): support "types" when type checking ( #10999 )
...
Fixes #10677
2021-06-22 07:18:32 +10:00
Kitson Kelly
59237d195f
feat(cli): upgrade to TypeScript 4.3 ( #9960 )
2021-05-28 09:33:11 +10:00
Yusuke Tanaka
cda09c166f
chore: update deno_lint binary used in CI to v0.5.0 ( #10652 )
2021-05-18 17:24:01 +02:00
Satya Rohith
8ffeabc678
fix(lsp): ignore type definition not found diagnostic ( #10610 )
...
Fixes #10575
2021-05-18 14:09:33 +10:00
Kitson Kelly
3318c495f6
refactor(lsp): memoize script versions per tsc request ( #10601 )
2021-05-18 08:51:35 +10:00
Aaron O'Mullan
ea917384fe
refactor(core): convert core.print() to a builtin op ( #10436 )
2021-05-02 19:30:03 -04:00
Aaron O'Mullan
83bece56b0
refactor(core): move op cache sync responsibility to rust space ( #10340 )
...
Even if bootstrapping the JS runtime is low level, it's an abstraction leak of
core to require users to call `Deno.core.ops()` in JS space.
So instead we're introducing a `JsRuntime::sync_ops_cache()` method,
once we have runtime extensions a new runtime will ensure the ops
cache is setup (for the provided extensions) and then loading/unloading
plugins should be the only operations that require op cache syncs
2021-04-25 22:00:05 +02:00
Aaron O'Mullan
ff9ff4a377
refactor(core): simplify error handling ( #10297 )
...
- register builtin v8 errors in core.js so consumers don't have to
- remove complexity of error args handling (consumers must provide a
constructor with custom args, core simply provides msg arg)
2021-04-21 20:50:50 -04:00
Jean Pierre
6d404ec54b
feat(lsp): Implement textDocument/semanticTokens/full ( #10233 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-04-20 11:26:36 +10:00
Jean Pierre
65a2a04d3b
feat(lsp): implement textDocument/prepareCallHierarchy ( #10061 )
2021-04-19 15:11:26 +10:00
Aaron O'Mullan
46b1c653c0
refactor(deno): remove concept of bin & json ops ( #10145 )
2021-04-12 15:55:05 -04:00
Jean Pierre
035f7b0ca0
feat(lsp): implement textDocument/foldingRange ( #9900 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-04-02 17:21:07 +11:00
Kitson Kelly
881e1e8164
fix(cli): re-add dom.asynciterable lib ( #9888 )
...
Fixes: #9881
2021-03-25 22:09:03 +11:00
Jean Pierre
77cfadf532
feat(lsp): implement textDocument/selectionRange ( #9845 )
...
Ref: #8643
2021-03-24 10:33:25 +11:00
Kitson Kelly
506b321d47
refactor(lsp): refactor completions and add tests ( #9789 )
2021-03-16 09:01:41 +11:00
Luca Casonato
975705a649
chore(core): optional args for registerErrorClass ( #9602 )
2021-02-25 20:06:06 +01:00
Kitson Kelly
d7837c8eb5
feat(cli): update to TypeScript 4.2 ( #9341 )
2021-02-25 15:16:19 +11:00
Yuki Tanaka
ccd6ee5c23
feat(lsp): Implement textDocument/signatureHelp
( #9330 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-02-16 13:34:09 +11:00
Trivikram Kamat
ffe12aa92d
chore: bump TypeScript to 4.1.4 ( #9459 )
2021-02-09 23:27:38 +01:00
Kitson Kelly
b77fcbc518
feat(lsp): add TS quick fix code actions ( #9396 )
2021-02-05 05:53:02 +11:00
Yoshiya Hinosawa
23281be33a
fix(cli): fix handling of non-normalized specifier ( #9357 )
2021-02-01 17:02:02 +09:00