Commit graph

1684 commits

Author SHA1 Message Date
andy finch 2f4fefd0f6 Async iterator for listener (#2263) 2019-05-01 16:58:09 -04:00
Bert Belder 41c7e96f1a
Refactor zero-copy buffers for performance and to prevent memory leaks
* In order to prevent ArrayBuffers from getting garbage collected by V8,
  we used to store a v8::Persistent<ArrayBuffer> in a map. This patch
  introduces a custom ArrayBuffer allocator which doesn't use Persistent
  handles, but instead stores a pointer to the actual ArrayBuffer data
  alongside with a reference count. Since creating Persistent handles
  has quite a bit of overhead, this change significantly increases
  performance. Various HTTP server benchmarks report about 5-10% more
  requests per second than before.

* Previously the Persistent handle that prevented garbage collection had
  to be released manually, and this wasn't always done, which was
  causing memory leaks. This has been resolved by introducing a new
  `PinnedBuf` type in both Rust and C++ that automatically re-enables
  garbage collection when it goes out of scope.

* Zero-copy buffers are now correctly wrapped in an Option if there is a
  possibility that they're not present. This clears up a correctness
  issue where we were creating zero-length slices from a null pointer,
  which is against the rules.
2019-05-01 21:11:09 +02:00
Bert Belder abdb98a251
core: remove unused function StrBufNullAllocPtr() 2019-05-01 19:47:15 +02:00
Bartek Iwańczuk 8978870808 Rename test targets (#2262) 2019-05-01 09:48:56 -04:00
Kevin (Kun) "Kassimo" Qian 7237e9d34a fs: add Deno.utime/Deno.utimeSync (#2241) 2019-05-01 05:08:11 -04:00
andy finch c36b5dd01c Make error in ast_util more informative. (#2252) 2019-04-30 12:15:03 -07:00
迷渡 bbeb30fc5e Make atob follow the spec (#2242) 2019-04-30 11:25:37 -07:00
Ryan Dahl a217e55fec
Fix another flaky assert (#2246) 2019-04-30 10:43:00 -07:00
Ryan Dahl 474d47e841
Fix max_latency benchmark on zero value (#2247) 2019-04-30 10:42:36 -07:00
Ryan Dahl 200bed9277 Upgrade V8 to 7.6.53 2019-04-29 19:56:16 -07:00
Ryan Dahl 6c137342d7
flags: fix merge error (#2244) 2019-04-29 18:35:25 -07:00
迷渡 4dcdd88155 removes ? from URL when deleting all params (#2217) 2019-04-29 16:45:20 -07:00
Bartek Iwańczuk 636827a1d5 Rewrite flags.rs::parse_flags (#2237) 2019-04-29 16:43:06 -07:00
Kitson Kelly 1a0f53a807 Add support for custom tsconfig.json (#2089)
Use `--config`
2019-04-29 07:58:31 -07:00
Ryan Dahl 73be183864
Disable flaky assert in killSuccess (#2230) 2019-04-28 14:16:37 -07:00
Ryan Dahl 1af02b405e
Revert "recover: #1517 Kill all pending accepts when TCP listener is closed (#2224)" (#2239)
Crashes while running wrk against
js/deps/https/deno.land/std/http/http_bench.ts

This reverts commit 972ac03858.
2019-04-28 14:15:15 -07:00
迷渡 a4551c853e fix test description for atob (#2232) 2019-04-28 09:14:57 -07:00
Yusuke Sakurai 972ac03858 recover: #1517 Kill all pending accepts when TCP listener is closed (#2224) 2019-04-27 11:33:24 -07:00
Bartek Iwańczuk 02596c08bd disable --version flag from deno version (#2226) 2019-04-27 11:19:50 -07:00
Ryan Dahl 78bce41c14
Use alt logos on benchmarks and manual page (#2211) 2019-04-27 10:48:15 -07:00
迷渡 6c9e0530f5 URLSearchParams init with itself (#2218) 2019-04-27 10:16:28 -07:00
Greg Altman 1d4b14e306 core: add Deps::to_json() (#2223) 2019-04-27 10:04:09 -07:00
Ryan Dahl 40d8ef1ec9 v0.3.10 2019-04-25 13:59:18 -06:00
Bartek Iwańczuk aa85a4d288 Rename CLI flags to subcommands (#2212) 2019-04-25 12:59:49 -06:00
Ryan Dahl b426ecce80
compile lib.deno_runtime.d.ts into executable (#2209) 2019-04-25 12:27:30 -06:00
Bartek Iwańczuk b7d8a0c6f6 Rename deno prefetch to deno fetch (#2210) 2019-04-25 13:47:33 -04:00
David Stone 098d6fffab Fix anchor links and add spinner to the benchmarks page (#2205) 2019-04-25 13:20:10 -04:00
Ryan Dahl e725b26b28 v0.3.9 2019-04-25 17:44:34 +02:00
迷渡 8578ed4e7f URLSearchParams deleting appended multiple (#2201) 2019-04-25 09:29:50 -04:00
Ryan Dahl 7fc9d7d62a
core: Add test for snapshotting from Rust (#2197) 2019-04-24 21:43:06 -04:00
Ryan Dahl f694823507
Fix symlinkSyncNotImplemented (#2198) 2019-04-24 20:34:33 -04:00
Ryan Dahl 6bece270b2
Upgrade CI to Node v12 (#2193) 2019-04-24 20:33:53 -04:00
Ryan Dahl d68b44b6b2
core: make Isolate concrete, remove Dispatch trait (#2183)
Op dispatch is now dynamically dispatched, so slightly less efficient.
The immeasurable perf hit is a reasonable trade for the API simplicity
that is gained here.
2019-04-23 18:58:00 -04:00
Ryan Dahl 675919e915
Use tokio_threadpool's new panic_handler (#2188) 2019-04-23 16:27:44 -04:00
Bert Belder 6caf865507
third_party: upgrade rust crates 2019-04-23 18:01:57 +02:00
Yingbo (Max) Wang da64fba046 symlink: Ignore type parameter on non-Windows platforms (#2185)
Fixes #2169
2019-04-23 09:47:29 -04:00
Tomislav Fabeta d940801754 Simplify logic in URLSearchParams, Buffer, Console (#2174) 2019-04-22 10:37:49 -04:00
Kevin (Kun) "Kassimo" Qian 1d4b92ac85 Add Deno.kill(pid, signo) and process.kill(signo) (Unix only) (#2177) 2019-04-21 21:26:56 -04:00
Ryan Dahl 9dfebbc949
Fix eslint warnings (#2151)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: LE GOFF Vincent <g_n_s@hotmail.fr>
2019-04-21 16:40:10 -04:00
Tomislav Fabeta 6cded14bdf Issue/2170 (#2175)
* Consistency using requiredArguments method

Replaced tuple length check in Headers class with requiredArguments
method.

* Consistency using requiredArguments method

Replaced tuple length check in UrlSearchParams class with
requiredArguments method.

* fmt
2019-04-21 15:40:15 -04:00
Ryan Dahl f77b112797
Remove dead code js/compiler_test.ts (#2160) 2019-04-21 15:39:27 -04:00
Ryan Dahl 8ba6e4fa13
Fix flaky tests (#2164) 2019-04-21 14:06:57 -04:00
Ryan Dahl 961f87e1c5
Fixes #2033, shared queue push bug (#2158) 2019-04-21 12:16:55 -04:00
Bartek Iwańczuk cd19da62d9 Refactor CLI entry point (#2157)
Changes "deno --types" to "deno types"
and "deno --prefetch" to "deno prefetch"
2019-04-21 11:34:18 -04:00
Matt Harrison c08075053f Fix link to http_bench example in core README (#2167) 2019-04-21 10:40:44 -04:00
Daniel Schildt df8fb60709 docs: improve clarity of the text (#2165) 2019-04-20 22:48:48 -04:00
Jonathon Orsi 648d2f3ba8 fix typo in permissions explanation (#2162) 2019-04-20 15:12:00 -04:00
Maxim Mazurok 8dc8f22760 Exclude .png files from git auto-EOL (#2161)
Fix #1995 for users with the old git version
2019-04-20 15:11:16 -04:00
Kevin (Kun) "Kassimo" Qian c8db224efe Make Deno/Deno.core not deletable/writable (#2153) 2019-04-19 20:39:54 -04:00
Ryan Dahl 0796a8f2f7 v0.3.8 2019-04-19 11:41:13 -04:00