1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00
Commit graph

6451 commits

Author SHA1 Message Date
Bartek Iwańczuk
1b7d6809f6
v1.14.3 2021-10-05 00:03:28 +02:00
Bartek Iwańczuk
617b5ab73f
chore: Release crates for v1.14.3 (#12319) 2021-10-04 20:53:29 +02:00
Aaron O'Mullan
7618546be2
feat(core): implement Deno.core.isProxy() (#12288) 2021-10-04 18:40:08 +02:00
Aaron O'Mullan
2304a695f5 perf(webidl): optimize createRecordConverter() (#12286)
Cuts self-time by ~6x, 172ns/iter => 22ns/iter benched on 1M Response builds / HeadersInit calls
2021-10-04 11:57:51 -04:00
Aaron O'Mullan
7260b29a45 refactor(core): split opcall into sync/async (#12312) 2021-10-04 11:57:46 -04:00
Aaron O'Mullan
7edc935021 fix(core/runtime): sync_ops_cache if nuked Deno ns (#12302)
Decouple JsRuntime::sync_ops_cache() from the availability of the Deno.* namespace in the global scope

This avoids crashes when calling sync_ops_cache() on a bootstrapped WebWorker who has dropped its Deno.* namespace

It's also just cleaner and more robust ...
2021-10-04 11:57:40 -04:00
Aaron O'Mullan
c932ecb0a8 perf(core): use opcall() directly (#12310)
Instead of the wrapper dispatch() func, also now forbids passing opIds to opSync()/opAsync() callers must always pass names
2021-10-04 11:57:32 -04:00
Divy Srivastava
aeab471bea fix(ext/crypto): missing Aes key typings (#12307) 2021-10-04 11:57:11 -04:00
Ahab
c9b0aaa8f0 fix(ext/net): should not panic when listening to unix abstract address (#12300) 2021-10-04 11:55:46 -04:00
Divy Srivastava
c11ad5dba9 fix(ext/crypto): use NotSupportedError for importKey() (#12289) 2021-10-04 11:55:37 -04:00
Aaron O'Mullan
774302b9bb perf(fetch): optimize fillHeaders() key iteration (#12287)
Reduces self-time by ~70x (~70ms => ~1ms on 1M iters)

for...in filtered by hasOwnProperty yields the same set of keys as Object.keys()
2021-10-04 11:55:32 -04:00
Nayeem Rahman
2f2302ed70 fix(runtime/js/workers): throw errors instead of using an op (#12249) 2021-10-04 11:55:23 -04:00
Divy Srivastava
586d869d9a fix(ext/crypto): decode id-RSASSA-PSS with default params (#12147) 2021-10-04 11:55:18 -04:00
Aaron O'Mullan
864bf630ff perf(web): optimize byteLowerCase() (#12282) 2021-10-04 11:55:13 -04:00
Aaron O'Mullan
871dbb9f30 tools(bench): rebootstrap (#12281)
Enable deno devs to bench/profile/test JS code changes without doing a full --release rebuild.

Incremental release builds take ~4mn on M1s, often more on other machines ...
2021-10-04 11:55:06 -04:00
Casper Beyer
96530df7fb fix(runtime/testing): format aggregate errors (#12183) 2021-10-04 11:54:58 -04:00
David Sherret
b20a779f7b fix: worker environment permissions should accept an array (#12250) 2021-10-04 11:54:53 -04:00
David Sherret
83169dc314 chore: ensure first process in shared flock test does not enter and exit lock before second enters (#12255) 2021-10-04 11:54:48 -04:00
Aaron O'Mullan
fec0f1c8bb perf(webidl): optimize createDictionaryConverter() (#12279)
On a benchmark constructing Responses with headers this shaves off 25%
2021-10-04 11:54:39 -04:00
Andreu Botella
c79fd8f419 fix: Don't panic when a worker is closed in the reactions to a wasm operation. (#12270) 2021-10-04 11:54:28 -04:00
Aaron O'Mullan
b1eeaf71ff perf(web): ~400x faster http header trimming (#12277)
Use a regex substring match with a first/last char fastpath instead of 2 regex replaces. Roughly ~400x faster (423ms vs 0.7ms in profiled runs)
2021-10-04 11:54:22 -04:00
Yoshiya Hinosawa
df94139aa8 fix(repl): avoid panic when assigned to globalThis (#12273) 2021-10-04 11:54:15 -04:00
mynane
dbf2f5ff10 fix(ext/http): merge identical if/else branches (#12269) 2021-10-04 11:54:06 -04:00
Aaron O'Mullan
91f9931bb5 perf(web/Event): move last class field to constructor (#12265) 2021-10-04 11:54:01 -04:00
Ahab
55cbd98e1b fix(ext/fetch): avoid panic when header is invalid (#12244) 2021-10-04 11:53:52 -04:00
Aaron O'Mullan
37a2377d08 perf(webidl/DOMString): don't wrap string primitives (#12266) 2021-10-04 11:53:45 -04:00
Aaron O'Mullan
09efe92957 bench(cli): add deno_http_native_headers.js (#12267) 2021-10-04 11:53:40 -04:00
Aaron O'Mullan
3ab682918a
1.14.2 (#12254) 2021-09-28 14:00:26 +02:00
Aaron O'Mullan
e8901281da
chore: bump crate versions for 1.14.2 (#12253) 2021-09-28 12:19:03 +02:00
Aaron O'Mullan
9167f0c6bd
perf(fetch): optimize newInnerRequest blob url check (#12245)
Avoid "blob:" prefix check on requests built in the http module since those can never be blob objects

Reduces cost of `newInnerRequest()` from 20ms to 0.1ms in my profiled run on ~2.5M reqs
2021-09-27 13:19:24 +02:00
Luca Casonato
ff3a17b72d
fix: subprocess kill support on windows (#12134) 2021-09-27 12:18:02 +02:00
Aaron O'Mullan
0964685486
refactor(fetch/Request): inline defaultInnerRequest (#12241)
Similar to #12235
2021-09-27 11:13:27 +02:00
Aaron O'Mullan
8aba521e18
perf(fetch/Response): avoid class fields (#12237) 2021-09-27 10:51:32 +02:00
Aaron O'Mullan
34a15545c9
refactor(fetch/response): inline defaultInnerResponse (#12235)
Not useful to have the defaults externally defined when they're only used in `newInnerResponse()`. Also match order in `newInnerResponse()` and `cloneInnerResponse`
2021-09-26 23:46:56 +02:00
Aaron O'Mullan
5788f2e082
perf(web): optimize Event constructor (#12231)
Assign in constructor instead of using class initializers which are currently ~10x slower
2021-09-26 20:41:05 +02:00
Aaron O'Mullan
1749e79f97
perf(webidl/ByteString): 3x faster ASCII check (#12230) 2021-09-26 20:40:37 +02:00
Aaron O'Mullan
7f2976b3e6
perf(fetch): optimize InnerBody constructor (#12232)
Avoid initializers due to overhead
2021-09-26 20:40:16 +02:00
Ben Noordhuis
2b6f8d0187
fix(ext/http): include port number in h2 urls (#12181) 2021-09-26 20:26:16 +02:00
Aaron O'Mullan
6c007aa5ab
perf(fetch/headers): optimize appendHeader (#12234)
Use a single regex to check for `\0`, `\n`, `\r` instead of 3 `String.includes(...)` calls
2021-09-26 20:19:02 +02:00
Luis Malheiro
b095157c1d
perf(ext/fetch): Use the WebIDL conversion to DOMString rather than USVString for Response constructor (#12201) 2021-09-25 15:30:31 +02:00
Dan Rose
09f2cdbc72
fix(ext/web): FileReader error messages (#12218) 2021-09-25 15:28:17 +02:00
Andreu Botella
1380defb80
chore: update wpt (#12206) 2021-09-25 15:27:34 +02:00
Aaron O'Mullan
3c88dffd32
fix(http): panic when responding to a closed conn (#12216)
Our oneshot receiver in `HyperService::call` would unwrap and panic, the `.await` on the oneshot receiver happens when the sender is dropped.

The sender is dropped in `op_http_response` because:
1. We take `ResponseSenderResource`
2. Then get `ConnResource` and early exit on failure (conn already closed)
3. The taken sender then gets dropped in this early exit before any response is sent over the channel

Fallbacking to returning a dummy response to hyper seems to be a fine quickfix
2021-09-25 13:22:19 +02:00
Ben Noordhuis
16ea39ee48
fix(ext/http): fortify "is websocket?" check (#12179)
Check for expected headers more rigorously and check that it's a
HTTP/1.1 GET request. The logic mirrors what Deno Deploy and the
tungstenite crate do.

The presence of "Sec-Websocket-Version: 13" is now also enforced.
I don't expect that to break anything: conforming clients already
send it and tungstenite can't talk to older clients anyway.

The new code is more efficient due to heap-allocating less and aligns
more closely with the checks in ext/http/01_http.js now.
2021-09-25 10:02:26 +02:00
Andreu Botella
1a6249c971
chore(workers): Test that closing a worker closes any child workers (#12215)
Before #12156, closing a worker which had children would cause a panic
(https://github.com/denoland/deno/issues/11342#issuecomment-918327693).

After that PR, closing a worker will also close any child workers.
2021-09-24 19:26:57 -07:00
Aaron O'Mullan
4e2b59f9df
cleanup(runtime): flatten op_kill's args (#12214) 2021-09-25 01:33:15 +02:00
Ryan Dahl
683a38e47c
refactor: Remove unused code (#12210) 2021-09-25 00:35:35 +02:00
Aaron O'Mullan
d0e14ae82c
chore(runtime): minor comment improvement (#12191) 2021-09-24 22:25:45 +02:00
李瑞丰
46245b830a
fix(ext/webidl): correctly apply [SymbolToStringTag] to interfaces (#11851)
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2021-09-25 02:07:22 +09:00
Ryan Dahl
9705efd419
refactor: Remove op_state parameter (#12202) 2021-09-24 11:11:16 -04:00