Commits on Jun 26, 2013
  1. NodeConf 2013: exercize

    isaacs committed Jun 26, 2013
  2. NodeConf 2013: example 2

    isaacs committed Jun 26, 2013
  3. NodeConf 2013: example 1

    isaacs committed Jun 26, 2013
  4. uv: Upgrade to v0.11.5

    isaacs committed Jun 26, 2013
  5. crypto: do not move half-filled write head

    Might cause write head running over read head, when there were no
    allocation and `Commit()` was called. Source of at least one test
    failure on windows (`simple/test-https-drain.js`).
    indutny committed Jun 25, 2013
Commits on Jun 25, 2013
  1. Merge remote-tracking branch 'ry/v0.10' into master

    isaacs committed Jun 25, 2013
Commits on Jun 24, 2013
  1. doc: fs: synchronize watchFile/unwatchFile warning

    One said "if available", the other "if possible". Now they both say
    "if possible."
    bnoordhuis committed Jun 24, 2013
Commits on Jun 20, 2013
  1. child_process: emit 'disconnect' asynchronously

    Deferring I/O-triggered events to the next event loop tick is not just
    a good idea, IT'S THE LAW!
    bnoordhuis committed Jun 20, 2013
  2. buffer: fix gcc 4.2 build breakage

    gcc 4.2 on OS X gets confused about the call to node::Buffer::Data().
    Fully qualify the function name to help it along.
    Fixes the following build error:
        ../../deps/v8/include/v8.h: In function ‘char*
        ../../deps/v8/include/v8.h:900: error: ‘class v8::Data’
        is not a function,
        ../../src/node_buffer.h:38: error:
        conflict with ‘char* node::Buffer::Data(v8::Handle<v8::Object>)’
        ../../src/ error:
        in call to ‘Data’
    bnoordhuis committed Jun 20, 2013
Commits on Jun 19, 2013
  1. buffer: write strings directly from call

    Buffer(<String>) used to pass the string to js where it would then be
    passed back to cpp for processing. Now only the buffer object
    instantiation is done in js and the string is processed in cpp.
    Also added a Buffer api that also accepts the encoding.
    trevnorris committed Jun 19, 2013
  2. crypto: change assertion to condition in bio

    Read head can be the same as write head, even if there's some data to
    indutny committed Jun 19, 2013
Commits on Jun 18, 2013
  1. buffer: proper API export for Windows

    So that Windows users can properly include smalloc and node_buffer,
    NODE_EXTERN was added to the headers that export this functionality.
    trevnorris committed Jun 7, 2013
  2. buffer: implement new fill behavior

    Old fill would take the char code of the first character and wrap around
    the int to fit in the 127 range. Now fill will duplicate whatever string
    is given through the entirety of the buffer.
    Note: There is one bug around ending on a partial fill of any character
    outside the ASCII range.
    trevnorris committed May 24, 2013
  3. buffer: deprecate legacy code

    Several things are now no longer necessary. These have been deprecated,
    and will be removed in v0.13.
    trevnorris committed Apr 26, 2013
  4. buffer: expose class methods alloc and dispose

    Expose the ability for users to allocate and manually dispose data on
    any object. These are user-safe versions of internal smalloc functions.
    trevnorris committed May 15, 2013
  5. buffer: reimplement Buffer pools

    While the new Buffer implementation is much faster we still have the
    necessity of using Buffer pools. This is undesirable because it may
    still lead to unwanted memory retention, but for the time being this is
    the best solution.
    Because of this re-introduction, and since there is no more SlowBuffer
    type, the SlowBuffer method has been re-purposed to return a non-pooled
    Buffer instance. This will be helpful for developers to store data for
    indeterminate lengths of time without introducing a memory leak.
    Another change to Buffer pools was that they are only allocated if the
    requested chunk is < poolSize / 2. This was done because allocations are
    much quicker now, and it's a better use of the pool.
    trevnorris committed Apr 17, 2013
  6. buffer: use smalloc as backing data store

    Memory allocations are now done through smalloc. The Buffer cc class has
    been removed completely, but for backwards compatibility have left the
    namespace as Buffer.
    The .parent attribute is only set if the Buffer is a slice of an
    allocation. Which is then set to the alloc object (not a Buffer).
    The .offset attribute is now a ReadOnly set to 0, for backwards
    compatibility. I'd like to remove it in the future (pre v1.0).
    A few alterations have been made to how arguments are either coerced or
    thrown. All primitives will now be coerced to their respective values,
    and (most) all out of range index requests will throw.
    The indexes that are coerced were left for backwards compatibility. For
    example: Buffer slice operates more like Array slice, and coerces
    instead of throwing out of range indexes. This may change in the future.
    The reason for wanting to throw for out of range indexes is because
    giving js access to raw memory has high potential risk. To mitigate that
    it's easier to make sure the developer is always quickly alerted to the
    fact that their code is attempting to access beyond memory bounds.
    Because SlowBuffer will be deprecated, and simply returns a new Buffer
    instance, all tests on SlowBuffer have been removed.
    Heapdumps will now show usage under "smalloc" instead of "Buffer".
    ParseArrayIndex was added to node_internals to support proper uint
    argument checking/coercion for external array data indexes.
    SlabAllocator had to be updated since handle_ no longer exists.
    trevnorris committed Apr 17, 2013
  7. smalloc: add api to manually dispose Persistent

    If the user knows the allocation is no longer needed then the memory can
    be manually released.
    Currently this will not ClearWeak the Persistent, so the callback will
    still run.
    If the user passed a ClearWeak callback, and then disposed the object,
    the buffer callback argument will == NULL.
    trevnorris committed May 14, 2013
  8. smalloc: initial implementation

    smalloc is a simple utility for quickly allocating external memory onto
    js objects. This will be used to centralize how memory is managed in
    node, and will become the backer for Buffers. So in the future crypto's
    SlabBuffer, stream's SlabAllocator will be removed.
    Note on the js API: because no arguments are optional the order of
    arguments have been placed to match their cc counterparts as closely as
    trevnorris committed Apr 17, 2013
  9. doc: call console module 'console' not 'stdio'

    The console module has always been called 'stdio' in the
    table-of-contents, but nowhere else, since its name is
    'console'. This makes it difficult to find.
    This is a back-port of commit 226a20d from the master branch.
    sam-github committed with bnoordhuis Jun 11, 2013
  10. blog: Release 0.10.12

    isaacs committed Jun 18, 2013
  11. Now working on 0.10.13

    isaacs committed Jun 18, 2013
  12. 2013.06.18, Version 0.10.12 (Stable)

    * npm: Upgrade to 1.2.32
    * readline: make `ctrl + L` clear the screen (Yuan Chuan)
    * v8: add setVariableValue debugger command (Ben Noordhuis)
    * net: Do not destroy socket mid-write (isaacs)
    * v8: fix build for mips32r2 architecture (Andrei Sedoi)
    * configure: fix cross-compilation host_arch_cc() (Andrei Sedoi)
    isaacs committed Jun 18, 2013
  13. npm: Upgrade to 1.2.32

    isaacs committed Jun 18, 2013
  14. doc: cleanup addons code, fix isolate positioning

    isolate declaration global and above `using namespace v8`
    removed BUILDING_NODE_EXTENSION and tidied up code
    rvagg committed with bnoordhuis Jun 16, 2013
Commits on Jun 17, 2013
  1. stream_wrap: remove bogus assert

    Libuv may provide a NULL buffer to the uv_read callback in case of an
    error, so with this assert we'd be using the api incorrectly. None of
    the current DoRead implementations rely on this constraint, either.
    piscisaureus committed Jun 17, 2013
  2. src: clean up `using` directives

    Remove the unused ones and alphabetically sort the ones that remain.
    bnoordhuis committed Jun 17, 2013
  3. doc: call console module 'console' not 'stdio'

    The console module has always been called 'stdio' in the
    table-of-contents, but nowhere else, since its name is
    'console'. This makes it difficult to find.
    sam-github committed with bnoordhuis Jun 11, 2013