1. Jun 17, 2013
  2. Jun 16, 2013
  3. Jun 14, 2013
  4. Jun 13, 2013
    • Trevor Norris's avatar
      string_bytes: write strings using new API · e92f4879
      Trevor Norris authored
      StringBytes::Write now uses new v8 API and also does preliminary check
      if the string is external, then will use external memory instead.
      e92f4879
    • Trevor Norris's avatar
      string_bytes: use external for large strings · 642ea2b6
      Trevor Norris authored
      When large strings are used they cause v8's GC to spend a lot more time
      cleaning up. In these cases it's much faster to use external string
      resources.
      
      UTF8 strings do not use external string resources because only one and
      two byte external strings are supported.
      
      EXTERN_APEX is the value at which v8's GC overtakes performance.
      
      The following table has the type and buffer size that use to encode the
      strings as rough estimates of the percentage of performance gain from
      this patch (UTF8 is missing because they cannot be externalized).
      
      encoding  128KB    1MB    5MB
      -----------------------------
      ASCII       58%   208%   250%
      HEX         15%    74%    86%
      BASE64      11%    74%    71%
      UCS2         2%   225%   398%
      BINARY    2234%  1728%  2305%
      
      BINARY is so much faster across the board because of using the new v8
      WriteOneByte API.
      642ea2b6
  5. Jun 12, 2013
  6. Jun 08, 2013
    • Fedor Indutny's avatar
      crypto: free excessive memory in NodeBIO · 9ae1d182
      Fedor Indutny authored
      Before this commit NodeBIO never shrank, possibly consuming a lot of
      memory (depending on reader's haste).
      
      All buffers between write_head's child and read_head should be
      deallocated on read, leaving only space left in write_head and in the
      next buffer.
      9ae1d182
  7. Jun 07, 2013
    • Ben Noordhuis's avatar
      src: unexport node_isolate · 4bb4f734
      Ben Noordhuis authored
      Commit 0bba5902 accidentally (or maybe erroneously) added node_isolate
      to src/node.h and src/node_object_wrap.h.
      
      Undo that, said variable is not for public consumption. Add-on authors
      should use v8::Isolate::GetCurrent() instead.
      
      I missed that while reviewing. Mea culpa.
      
      Fixes #5639.
      4bb4f734
  8. Jun 06, 2013
    • isaacs's avatar
      Merge remote-tracking branch 'ry/v0.10' · 0882a750
      isaacs authored
      Conflicts:
      	ChangeLog
      	deps/uv/AUTHORS
      	deps/uv/ChangeLog
      	deps/uv/src/unix/linux-core.c
      	deps/uv/src/version.c
      	deps/uv/src/win/timer.c
      	lib/url.js
      	src/node_version.h
      	test/simple/test-url.js
      0882a750
  9. Jun 05, 2013
  10. Jun 04, 2013
    • Ben Noordhuis's avatar
      src: replace ngx-queue.h with queue.h · a7820a15
      Ben Noordhuis authored
      No functional changes, just one less entry in the LICENSE file.
      a7820a15
    • Nick Desaulniers's avatar
      src: wrap macros in `do {...} while (0)` · 72b92e92
      Nick Desaulniers authored
      Wrapped two macros in do {...} while (0) blocks and lined up
      backslashes.  Uses up semicolon in contexts where a dangling semicolon
      is erroneous.
      72b92e92
    • isaacs's avatar
      url: Set href to null by default · 5dd91b01
      isaacs authored
      5dd91b01
    • isaacs's avatar
      url: Properly parse certain oddly formed urls · 5dc51d4e
      isaacs authored
      In cases where there are multiple @-chars in a url, Node currently
      parses the hostname and auth sections differently than web browsers.
      
      This part of the bug is serious, and should be landed in v0.10, and
      also ported to v0.8, and releases made as soon as possible.
      
      The less serious issue is that there are many other sorts of malformed
      urls which Node either accepts when it should reject, or interprets
      differently than web browsers.  For example, `http://a.com*foo` is
      interpreted by Node like `http://a.com/*foo` when web browsers treat
      this as `http://a.com%3Bfoo/`.
      
      In general, *only* the `hostEndingChars` should be the characters that
      delimit the host portion of the URL.  Most of the current `nonHostChars`
      that appear in the hostname should be escaped, but some of them (such as
      `;` and `%` when it does not introduce a hex pair) should raise an
      error.
      
      We need to have a broader discussion about whether it's best to throw in
      these cases, and potentially break extant programs, or return an object
      that has every field set to `null` so that any attempt to read the
      hostname/auth/etc. will appear to be empty.
      5dc51d4e