Commit Graph

6236 Commits

Author SHA1 Message Date
Aaron O'Mullan
4f322da07c
perf(url): build with opt-level 3 (#11779)
A ~25% improvement: `~1950ns/call` => `~1500ns/call`
2021-08-19 19:11:27 +02:00
Aaron O'Mullan
91051047cc
perf(ext/url): use DOMString instead of USVString as webidl converter for URL parsing (#11775)
A 20% decrease in url parsing:
- before: `~2450ns/parse`
- after: `~1950ns/parse`
2021-08-19 17:36:14 +02:00
Aaron O'Mullan
bfc197f33e
cleanup(core): rename handleAsyncMsgFromRust() to opresolve() (#11774)
No user impact, but is simpler and aligns with `opcall()`
2021-08-19 17:19:00 +02:00
Aaron O'Mullan
37c983d1e8
perf(ext/url): optimize UrlParts op serialization (#11765) 2021-08-19 13:41:47 +02:00
Kitson Kelly
0d83afd939
fix(lsp): better handling of languageId (#11755)
Fixes #11521
Fixes #11742
2021-08-19 13:19:12 +10:00
Aaron O'Mullan
bf0bacbc0e
perf(ext/url): cleanup and optimize url parsing op args (#11763)
This splits the previous `op_url_parse` into:
- `op_url_parse`: parses a href with an optional base
- `op_url_reparse`: reparses a href with a modifier

This is a cleaner separation of concerns and it allows us to optimize & simplify args passed. Resulting in a 25% reduction in call overhead (~5000ns/call => ~3700ns/call in url_ops bench on my M1 Air)
2021-08-18 23:21:33 +02:00
Pankaj Patil
e55454613c
docs(lsp): change deno/registryStatus -> deno/registryState (#11760) 2021-08-18 12:17:52 -04:00
Casper Beyer
71e558c71c
test: re-enable test watch tests and mark as flaky (#11669) 2021-08-18 15:35:24 +02:00
Luca Casonato
a66218d457
fix(runtime): event loop panics in classic workers (#11756)
Classic worker scripts are now executed in the context of a Tokio
runtime. This does mean we can not spawn more tokio runtimes in
"op_worker_sync_fetch". We instead spawn a new thread there, that can
create a new Tokio runtime that we can use to block the worker thread.
2021-08-18 15:19:22 +02:00
David Sherret
480cfda8d5
chore(tests): delete the temporary deno dir when dropping the test lsp client (#11749) 2021-08-17 22:58:41 -04:00
Casper Beyer
4b800f5d26
refactor(cli): pass optional op_init to create_main_worker (#11707)
Replaces the testing flag in create_main_worker with a more 
general purpose hook to register additional ops.
2021-08-17 12:08:39 +02:00
Antoine du Hamel
7e5698fb2e
chore: add FinalizationRegistry and WeakRef to primordials (#11735)
Because it was possible to disable those with a runtime flag, they were
not available through primordials. The flag has since been removed
upstream.

Refs: d59db06bf5
2021-08-17 12:04:09 +02:00
David Sherret
5d24ddf9b2
chore: sort items in Releases.md for 1.13.1 release (#11734) 2021-08-17 12:03:33 +02:00
Divy Srivastava
af97535b7c
fix(ext/crypto): exportKey() for HMAC (#11737)
Fixes typings and innerKey processing (WPT doesn't test 
exportKey for HMAC so this wasn't caught earlier).
2021-08-17 11:29:32 +02:00
David Sherret
c67f6c13cd
1.13.1 2021-08-16 17:42:52 -04:00
David Sherret
a66a7bebbe
chore: release crates for 1.13.1 (#11729) 2021-08-16 16:49:14 -04:00
Ben Noordhuis
6ced7b0383 fix(ext/fetch): better error if no content-type
The streaming WASM support code inspects the Response object's
Content-Type header but if that was missing, it failed with a fairly
inscrutable "String.prototype.toLowerCase called on null or undefined"
exception. Now it raises a more legible "Invalid WebAssembly content
type" exception.
2021-08-16 19:45:37 +02:00
Ben Noordhuis
6ddabb7427 fix(ext/fetch): don't use global Deno object
Don't use `Deno.core`, it's not present in embedders that don't expose
the Deno global object.
2021-08-16 19:45:37 +02:00
Divy Srivastava
eea6f578fc
fix(ext/crypto): enable non-extractable keys (#11705) 2021-08-16 18:11:36 +02:00
Ben Noordhuis
245987b2a7
chore(cli/tests): disable flaky test on macos ci (#11726)
Refs #11580.
2021-08-16 16:15:00 +02:00
Andreu Botella
ddbb7b83f2
feat(runtime): support classic workers for internal testing (#11338)
This commit implements classic workers, but only when the `--enable-testing-features-do-not-use` flag is provided. This change is not user facing. Classic workers are used extensively in WPT tests. The classic workers do not support loading from disk, and do not support TypeScript.

Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-16 14:29:54 +02:00
Bartek Iwańczuk
d1d2388d7f
test(ext/http): add test for incomplete HTTP message and fix resource leak (#11717)
This commit adds a test case for "Http: connection closed before
message completed" error as well as fixing an edge with resource
leak when the error is raised.
2021-08-16 13:43:43 +02:00
Ryan Dahl
163f2ef571
fix: parse error when transpiling code with BOM (#11688)
Co-authored-by: David Sherret <dsherret@gmail.com>
2021-08-16 09:28:29 +02:00
Luca Casonato
02b23e0575
fix: don't statically type name on Deno.errors (#11715) 2021-08-15 15:17:07 +02:00
Casper Beyer
d1fe03d677
fix(test): dispatch load event before tests are run (#11708) 2021-08-15 13:54:44 +02:00
Aaron O'Mullan
2ca454b402
refactor(ops): return BadResource errors in ResourceTable calls (#11710)
* refactor(ops): return BadResource errors in ResourceTable calls

Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-08-15 13:29:19 +02:00
Aaron O'Mullan
18ff6bb053
perf(ext/http): faster req_url string assembly (#11711)
This stood out on a flamegraph, it took up ~1% of a profiled loadtest of `cli/bench/deno_http_native.js`
2021-08-15 12:25:16 +02:00
Divy Srivastava
2d578ea54a
fix(ext/crypto): fix copying buffersource (#11714) 2021-08-15 12:00:35 +02:00
Luca Casonato
4010b84675
perf: improve localStorage throughput (#11709)
This PR improves localStorage write throughput by around 150x by caching
the prepared statements for SQLite and adding some DB pragmas.

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2021-08-14 22:39:35 +02:00
Divy Srivastava
370c5013c5
chore: move importKey tests to webcrypto_unit.ts (#11706) 2021-08-14 16:23:11 +02:00
Yusuke Tanaka
a1c5fef67f
fix(cli/lint): don't use gray in diagnostics output for visibility (#11702) 2021-08-14 15:05:07 +02:00
Aaron O'Mullan
c87b13e745
cleanup(ext/http): simplify cookie header handling (#11704)
cleanup(ext/http): simplify cookie header handling

Use `Vec::join` instead of essentially reimplementing it. There should be no meaningful performance delta
2021-08-14 14:35:58 +02:00
Jheyson Saavedra
fb135dc3e4
build: rename kind to job in ci config (#11699)
Co-authored-by: Jheyson Saavedra <jheysondev@users.noreply.github.com>
2021-08-14 13:28:22 +02:00
Luca Casonato
47b7cd5a7e
chore: roll wpt (#11692)
This PR rolls WPT to 7eb7372a61
2021-08-14 13:27:09 +02:00
Aaron O'Mullan
8fa46a7b44
cleanup(ext/http): simplify op_http_request_next (#11691)
* cleanup(ext/http): simplify op_http_request_next

Keep op_http_request_next's high-level logic simple, factor out NextRequestResponse building to prepare_next_request() for improved readability & maintainability

* cleanup(ext/http): break prepare_next_request() into meaningful sub-funcs
2021-08-14 13:25:05 +02:00
Casper Beyer
f90231924d
fix(cli): explicitly scan for ignore attribute in inline tests (#11647)
This commits adds "ignore" as a known attribute for Markdown 
codeblock which drops a code block early whenever it is seen 
in documentation tests.
2021-08-14 12:33:58 +02:00
Aaron O'Mullan
1d1507384b
cleanup(ext/web/BlobStore): avoid redundant Arc<Box<T>> alloc (#11693) 2021-08-14 10:27:27 +02:00
Casper Beyer
b8cfc95470
fix(cli/tools/repl): dont highlight candidate when completion is list (#11697) 2021-08-14 10:19:30 +02:00
Casper Beyer
ed19e32d98
refactor: normalize is_supported_ check naming (#11698)
Normalizes the naming of the functions used to determine 
if a path is a suitable match for the test runner and placed 
them both in the the fs_util module.
2021-08-14 10:17:21 +02:00
Casper Beyer
605f6119e9
fix(cli): retain input order of remote specifiers (#11700)
Specifier collection partitions remote specifiers in their own 
group which is appended to the collected specifiers at the 
end of the routine meaning that the input order isn't respected 
for remote specifiers.
2021-08-14 10:16:24 +02:00
Divy Srivastava
71f79097c6
fix(ext/crypto): importKey() SecurityError on non-extractable keys (#11662)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-13 23:20:44 +02:00
Leo K
0c9d6cbb2a
fix(http/ws): support multiple options in connection header (#11675)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-13 20:52:13 +02:00
Divy Srivastava
c6e3f93ebb
fix(ext/crypto): handle idlValue not being present (#11685) 2021-08-13 19:34:24 +02:00
Luca Casonato
74d523e924
build: add devcontainer configuration (#11670)
This allows users to use Codespaces and VS Code Remote Containers
easily.
2021-08-13 14:24:38 +02:00
Bartek Iwańczuk
2937f02f00
fix(ext/http): remove unwrap() when HTTP conn errors (#11674) 2021-08-13 12:07:05 +02:00
Casper Beyer
ebb79b28a5
refactor(cli): generalize module specifier collection (#11679) 2021-08-13 12:06:49 +02:00
Casper Beyer
293eed0ef2
test(cli): add test for test filtering (#11672) 2021-08-13 11:33:18 +02:00
Divy Srivastava
c1f97056f4
fix(ext/crypto): take a copy of keyData bytes (#11666) 2021-08-13 11:27:56 +02:00
Divy Srivastava
8481377500
fix(ext/web): use Array primordials in MessagePort (#11680) 2021-08-13 10:13:46 +02:00
Divy Srivastava
5d6d6836bb
perf(wpt/crypto): optimize num-bigint-dig for debug builds (#11681) 2021-08-13 10:08:13 +02:00