1. Oct 31, 2014
  2. Oct 28, 2014
  3. Oct 26, 2014
  4. Oct 21, 2014
  5. Oct 10, 2014
  6. Oct 09, 2014
  7. Oct 08, 2014
  8. Oct 07, 2014
  9. Oct 04, 2014
  10. Oct 03, 2014
    • Yazhong Liu's avatar
      buffer: add generic functions for (u)int ops · 83d7d9e6
      Yazhong Liu authored
      
      
      Add generic functions for (U)Int read/write operations on Buffers. These
      support up to and including 48 bit reads and writes.
      
      Include documentation and tests.
      
      Additional work done by Trevor Norris to include 40 and 48 bit write
      support. Because bitwise operations cannot be used on values greater
      than 32 bits, the operations have been replaced with mathematical
      calculations. Regardless, they are still faster than floating point
      operations.
      
      Reviewed-by: default avatarTrevor Norris <trev.norris@gmail.com>
      83d7d9e6
  11. Oct 02, 2014
    • Trevor Norris's avatar
      buffer: mv floating point read/write checks to JS · e9ca7b9d
      Trevor Norris authored
      
      
      Performance improvement by moving checks for floating point operations
      to JS and doing the operation on a protected internal function that
      assumes all arguments are correct. Still abort if the operation
      overflows memory. This can only be caused if the Buffer's length
      property isn't the same as the actual internal length.
      
      Signed-off-by: default avatarTrevor Norris <trev.norris@gmail.com>
      e9ca7b9d
    • Julien Gilli's avatar
      readline: should not require an output stream. · 862cc281
      Julien Gilli authored
      Passing null as the output stream to readline.Interface()'s constructor
      is now supported. Any output written by readline is just discarded. It
      makes it easier to use readline just as a line parser.
      
      Fixes: https://github.com/joyent/node/issues/4408
      
      
      Reviewed-by: default avatarTrevor Norris <trev.norris@gmail.com>
      862cc281
    • Vladimir Kurchatkin's avatar
      node: avoid automatic microtask runs · 8dc6be17
      Vladimir Kurchatkin authored
      
      
      Since we are taking control of the microtask queue it makes sense to
      disable autorun and only run microtasks when necessary. Just setting
      isolate->SetAutorunMicrotasks(false) would cause _tickCallback() not to
      be called.
      
      Automatically running the microtask queue will cause it to run:
      
      * After callback invocation
      * Inside _tickCallback()
      * After _tickCallback() invocation
      
      The third one is unnecessary as the microtask queue is guaranteed to be
      empty at this point. The first only needs to be run manually when
      _tickCallback() isn't going to be called by MakeCallback().
      
      Reviewed-by: default avatarTrevor Norris <trev.norris@gmail.com>
      8dc6be17
    • Gabriel Wicke's avatar
      url: make query() consistent · b705b73e
      Gabriel Wicke authored
      Match the behavior of the slow path by setting url.query to an empty
      object when the url contains no query, but query parsing is requested.
      
      Also add a test for this case, and update the documents to clearly
      reflect this behavior.
      
      Fixes: https://github.com/joyent/node/issues/8332
      
      
      Reviewed-by: default avatarTrevor Norris <trev.norris@gmail.com>
      b705b73e
    • Steven R. Loomis's avatar
      build, i18n: improve Intl build, add "--with-intl" · ac2857b1
      Steven R. Loomis authored
      The two main goals of this change are:
       - To make it easier to build the Intl option using ICU (particularly,
         using a newer ICU than v8/Chromium's version)
       - To enable a much smaller ICU build with only English support The goal
         here is to get node.js binaries built this way by default so that the
         Intl API can be used. Additional data can be added at execution time
         (see Readme and wiki)
      
      More details are at https://github.com/joyent/node/pull/7719
      
      In particular, this change adds the "--with-intl=" configure option to
      provide more ways of building "Intl":
       - "full-icu" picks up an ICU from deps/icu
       - "small-icu" is similar, but builds only English
       - "system-icu" uses pkg-config to find an installed ICU
       - "none" does nothing (no Intl)
      
      For Windows builds, the "full-icu" or "small-icu" options are added to
      vcbuild.bat.
      
      Note that the existing "--with-icu-path" option is not removed from
      configure, but may not be used alongside the new option.
      
      Wiki changes have already been made on
       https://github.com/joyent/node/wiki/Installation
      and a new page created at
       https://github.com/joyent/node/wiki/Intl
      (marked as provisional until this change lands.)
      
      Summary of changes:
      
      * README.md : doc updates
      
      * .gitignore : added "deps/icu" as this is the location where ICU is
        unpacked to.
      
      * Makefile : added the tools/icu/* files to cpplint, but excluded a
        problematic file.
      
      * configure : added the "--with-intl" option mentioned above.
        Calculate at config time the list of ICU source files to use and data
        packaging options.
      
      * node.gyp : add the new files src/node_i18n.cc/.h as well as ICU
        linkage.
      
      * src/node.cc : add call into
        node::i18n::InitializeICUDirectory(icu_data_dir) as well as new
        --icu-data-dir option and NODE_ICU_DATA env variable to configure ICU
        data loading. This loading is only relevant in the "small"
        configuration.
      
      * src/node_i18n.cc : new source file for the above Initialize..
        function, to setup ICU as needed.
      
      * tools/icu : new directory with some tools needed for this build.
      
      * tools/icu/icu-generic.gyp : new .gyp file that builds ICU in some new
        ways, both on unix/mac and windows.
      
      * tools/icu/icu-system.gyp : new .gyp file to build node against a
        pkg-config detected ICU.
      
      * tools/icu/icu_small.json : new config file for the "English-only" small
        build.
      
      * tools/icu/icutrim.py : new tool for trimming down ICU data. Reads the
        above .json file.
      
      * tools/icu/iculslocs.cc : new tool for repairing ICU data manifests
        after trim operation.
      
      * tools/icu/no-op.cc : dummy file to force .gyp into using a C++ linker.
      
      * vcbuild.bat : added small-icu and full-icu options, to call into
        configure.
      
      * Fixed toolset dependencies, see
        https://github.com/joyent/node/pull/7719#issuecomment-54641687
      
      
      
      Note that because of a bug in gyp {CC,CXX}_host must also be set.
      Otherwise gcc/g++ will be used by default for part of the build.
      
      Reviewed-by: default avatarTrevor Norris <trev.norris@gmail.com>
      Reviewed-by: default avatarFedor Indutny <fedor@indutny.com>
      ac2857b1
    • Julien Fontanet's avatar
  12. Oct 01, 2014