1. 02 5月, 2019 4 次提交
    • R
      core: express op as enum (#2255) · c171813e
      Ryan Dahl 提交于
      c171813e
    • A
      Async iterator for listener (#2263) · 2f4fefd0
      andy finch 提交于
      2f4fefd0
    • B
      Refactor zero-copy buffers for performance and to prevent memory leaks · 41c7e96f
      Bert Belder 提交于
      * 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.
      41c7e96f
    • B
      core: remove unused function StrBufNullAllocPtr() · abdb98a2
      Bert Belder 提交于
      abdb98a2
  2. 01 5月, 2019 6 次提交
  3. 30 4月, 2019 4 次提交
  4. 29 4月, 2019 4 次提交
  5. 28 4月, 2019 5 次提交
  6. 26 4月, 2019 5 次提交
  7. 25 4月, 2019 5 次提交
  8. 24 4月, 2019 3 次提交
  9. 23 4月, 2019 1 次提交
  10. 22 4月, 2019 3 次提交