This repository has been archived by the owner. It is now read-only.
Permalink
Switch branches/tags
Commits on Jan 18, 2013
  1. 2013.01.18, Version 0.9.7 (Unstable)

    isaacs committed Jan 18, 2013
    * V8: Upgrade to 3.15.11.7
    
    * npm: Upgrade to 1.2.2
    
    * punycode: Upgrade to 1.2.0 (Mathias Bynens)
    
    * repl: make built-in modules available by default (Felix Böhm)
    
    * windows: add support for '_Total' perf counters (Scott Blomquist)
    
    * cluster: make --prof work for workers (Ben Noordhuis)
    
    * child_process: do not keep list of sent sockets (Fedor Indutny)
    
    * tls: Follow RFC6125 more strictly (Fedor Indutny)
    
    * buffer: floating point read/write improvements (Trevor Norris)
    
    * TypedArrays: Improve dataview perf without endian param (Dean McNamee)
    
    * module: assert require() called with a non-empty string (Felix Böhm, James Campos)
    
    * stdio: Set readable/writable flags properly (isaacs)
    
    * stream: Properly handle large reads from push-streams (isaacs)
  2. doc: Remove mention of child.send 'track' option

    isaacs committed Jan 18, 2013
    Will be removed very soon.  No point making it public.
  3. npm: Upgrade to 1.2.2

    isaacs committed Jan 18, 2013
  4. cluster: make --prof work for workers

    bnoordhuis committed Jan 18, 2013
    Profiling in clustered environments doesn't work out of the box.
    
    By default, V8 writes the profile data of all processes to a single
    v8.log.
    
    Running that log file through a tick processor produces bogus numbers
    because many events won't match up with the recorded memory mappings
    and you end up with graphs where 80+% of ticks is unaccounted for.
    
    Fixing the tick processor to deal with multi-process output is not very
    useful because the processes may be running wildly disparate workloads.
    
    That's why we fix up the command line arguments to include
    a "--logfile=v8-%p.log" argument (where %p is expanded to the PID)
    unless it already contains a --logfile argument.
    
    Fixes #4617.
  5. v8: add %p option to --logfile, expands to pid

    bnoordhuis committed Jan 18, 2013
    Useful when you are profiling multiple instances of V8 concurrently.
    Submitted upstream: http://code.google.com/p/v8/issues/detail?id=2503
    
    Refs #4617.
Commits on Jan 17, 2013
  1. child_process: do not keep list of sent sockets

    indutny committed Jan 14, 2013
    Keeping list of all sockets that were sent to child process causes memory
    leak and thus unacceptable (see #4587). However `server.close()` should
    still work properly.
    
    This commit introduces two options:
    
    * child.send(socket, { track: true }) - will send socket and track its status.
      You should use it when you want to receive `close` event on sent sockets.
    * child.send(socket) - will send socket without tracking it status. This
      performs much better, because of smaller number of RTT between master and
      child.
    
    With both of these options `server.close()` will wait for all sent
    sockets to get closed.
  2. Revert "child_process: do not keep list of sent sockets"

    indutny committed Jan 17, 2013
    This reverts commit db5ee0b.
  3. child_process: do not keep list of sent sockets

    indutny authored and isaacs committed Jan 14, 2013
    Keeping list of all sockets that were sent to child process causes memory
    leak and thus unacceptable (see #4587). However `server.close()` should
    still work properly.
    
    This commit introduces two options:
    
    * child.send(socket, { track: true }) - will send socket and track its status.
      You should use it when you want `server.connections` to be a reliable
      number, and receive `close` event on sent sockets.
    * child.send(socket) - will send socket without tracking it status. This
      performs much better, because of smaller number of RTT between master and
      child.
    
    With both of these options `server.close()` will wait for all sent
    sockets to get closed.
  4. Revert "events: Don't crash on events named __proto__"

    isaacs committed Jan 17, 2013
    Unfortunately, it's just too slow to do this in events.js.  Users will
    just have to live with not having events named __proto__ or toString.
    
    This reverts commit b48e303.
  5. stdio: Set readable/writable flags properly

    isaacs committed Jan 17, 2013
    Set the readable/writable flags properly in net streams that have
    a handle passed in (such as TTY streams).
    
    Fix #4606
  6. events: Don't crash on events named __proto__

    isaacs committed Jan 16, 2013
    This prefixes all event names internally with 'ev'.
  7. doc: modify documentation style about 'Stability: 5'

    tricknotes authored and bnoordhuis committed Jan 17, 2013
    'Stability: 5' is described as 'Locked' not as 'API Locked'
    in other documents.
    
    For example:
    - `/doc/api/assert.markdown`
    - `/doc/api/util.markdown`
    
    This word was injected in 192192a.
Commits on Jan 16, 2013
  1. module: assert that require() is called with a string

    fb55 authored and isaacs committed Jan 16, 2013
    as requested in #4577
  2. repl: fix how to module requiring in code comment

    tricknotes authored and isaacs committed Dec 11, 2012
    This module requiring style is old.
    This API has been changed in Node 0.1.16 726865a.
  3. TypedArrays: Improve dataview perf without endian param

    deanm authored and isaacs committed Jan 15, 2013
    V8 seems to be particularly slow converting an undefined value to false
    in BooleanValue.
    
    Revert this when we upgrade to V8 3.17, or whenever the fix discussed
    in http://code.google.com/p/v8/issues/detail?id=2487 lands in V8.
  4. assert that require() has a truthy path

    aeosynth authored and isaacs committed Jan 9, 2013
  5. stream: Properly handle large reads from push-streams

    isaacs committed Jan 16, 2013
    Problem 1: If stream.push() triggers a 'readable' event, and the user
    calls `read(n)` with some n > the highWaterMark, then the push() will
    return false (indicating that they should not push any more), but no
    future 'readable' event is coming (because we're above the
    highWaterMark).
    
    Solution: return true from push() when needReadable is set.
    
    Problem 2: A read(n) for n != 0, after the stream had encountered an
    EOF, would not trigger the 'end' event if the EOF was pushed in
    synchronously by the _read() function.
    
    Solution: Check for ended in stream.read() and schedule an end event if
    the length now equals 0.
    
    Fix #4585
  6. buffer: improve read/write speed with assert

    trevnorris authored and isaacs committed Jan 11, 2013
    Improved assert check order of execution and added additional checks on
    parameters to ensure no bad values make it through (e.g. negative offset
    values).
  7. buffer: floating point read/write improvements

    trevnorris authored and isaacs committed Dec 22, 2012
    Improvements:
    * floating point operations are approx 4x's faster
    * Now write quiet NaN's
    * all read/write on floating point now done in C, so no more need for
      lib/buffer_ieee754.js
    * float values have more accurate min/max value checks
    * add additional benchmarks for buffers read/write
    * created benchmark/_bench_timer.js which is a simple library that
      can be included into any benchmark and provides an intelligent tracker
      for sync and async tests
    * add benchmarks for DataView set methods
    * add checks and tests to make sure offset is greater than 0
  8. http: fix duplicate var initialization

    FZambia authored and bnoordhuis committed Jan 10, 2013
    IncomingMessage function contained duplicate initialization
    of this._pendings. Line with one of those expressions has been
    removed.
  9. punycode: update to v1.2.0

    mathiasbynens authored and bnoordhuis committed Jan 11, 2013
    This update adds support for RFC 3490 separators for improved
    compatibility with web browsers.
Commits on Jan 15, 2013
  1. v8: work around String::WriteAscii segfault

    bnoordhuis committed Jan 15, 2013
    See http://code.google.com/p/v8/issues/detail?id=2493 for details.
    Once the patch lands in upstream V8, this commit can be reverted.
  2. tls: follow RFC6125 more stricly

    indutny authored and isaacs committed Jan 14, 2013
    * Allow wildcards only in left-most part of hostname identifier.
    * Do not match CN if altnames are present
  3. streams2: Do not allow hwm < lwm

    isaacs committed Jan 15, 2013
    There was previously an assert() in there, but this part of the code is
    so high-volume that the added cost made a measurable dent in http_simple.
    
    Just checking inline is fine, though, and prevents a lot of potential
    hazards.
Commits on Jan 14, 2013
  1. stream: Do not call endReadable on a non-empty stream

    isaacs committed Jan 14, 2013
    Say that a stream's current read queue has 101 bytes in it, and the
    underlying resource has ended (ie, reached EOF).
    
    If you do something like this:
    
        stream.read(100); // leave a byte behind
        stream.read(0); // read(0) for some reason
    
    then the read(0) will get 0 from the howMuchToRead function.  Since the
    stream was ended, this was incorrectly treating the 0 as a "there is no
    more in the buffer", and emitting 'end' before that last byte was read.
    
    Why have the read(0) in the first place?  We do this in some cases to
    trigger the last few bytes of a net socket (such as a child process's
    stdio pipes).  This was causing issues when piping a `git archive` job
    to a file: the resulting tarball was incomplete, because it occasionally
    was not getting the last chunk.
  2. tls: allow wildcards in common name

    indutny committed Jan 14, 2013
    see #4592
Commits on Jan 13, 2013
  1. v8: Hardfloat does not imply VFPv3, only VFPv2.

    hashseed authored and bnoordhuis committed Dec 18, 2012
    Raspberry Pi is an example.
    
    BUG=v8:2393
    
    Review URL: https://chromiumcodereview.appspot.com/11570061
    Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    
    This is a backport of v8/v8@44419ad.