- Dec 15, 2014
-
-
Ben Noordhuis authored
I introduced this module over a year ago in a pull request as the v8 module but it was quickly subsumed by the tracing module. The tracing module was recently removed again and that is why this commit introduces the v8 module again, including the new features it picked up commits d23ac0ea and f8076c40. PR-URL: https://github.com/iojs/io.js/pull/131 Reviewed-By:
Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By:
Christian Tellnes <christian@tellnes.no> Reviewed-By:
Thorsten Lorenz <thlorenz@gmx.de> Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
- Dec 14, 2014
-
-
Ben Noordhuis authored
Move the big endian to little endian conversion logic for UCS2 input from src/string_bytes.cc to src/node_buffer.cc; StringSlice() is the only function that actually needs it and with this commit, a second copy is avoided on big endian architectures.
-
Ben Noordhuis authored
Introduce two-byte overloads of node::Encode() and StringBytes::Encode() that ensure that the input is suitably aligned. Revisits commit 535fec83 from yesterday.
-
Ben Noordhuis authored
Fix a regression that was introduced in commit a38b9178 by removing the bad check. Also rearrange the addon loading logic to ensure that the list of pending addons remains in a consistent state when the shared object fails to load; in particular, when an addon self-registers first, then hits a dynamic linker error in a later constructor. Fixes the following asserting when loading a .node shared object: node: ../src/node.cc:1944: void node::node_module_register(void*): Assertion `(modpending) != (nullptr)' failed. Fixes strongloop/strongops#233. PR-URL: https://github.com/iojs/io.js/pull/154 Reviewed-By:
Ryan Graham <ryan@strongloop.com>
-
- Dec 13, 2014
-
-
Nikolai Vavilov authored
They can't compile io.js anyway. PR-URL: https://github.com/iojs/io.js/pull/156 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Bert Belder <bertbelder@gmail.com>
-
Chris Dickinson authored
Per the TC meeting on 2014-12-10, domains will be "soft deprecated" until a suitable replacement API is available; at which time they will be fully deprecated. Full deprecation will include references to replacement API and the application of util.deprecate to the domain api. PR-URL: https://github.com/iojs/io.js/pull/141 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
- Dec 11, 2014
-
-
Mathias Bynens authored
Refs #118. PR-URL: https://github.com/iojs/io.js/pull/151 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
- Dec 12, 2014
-
-
Rod Vagg authored
PR-URL: https://github.com/iojs/io.js/pull/148 Reviewed-By:
Mikeal Rogers <mikeal.rogers@gmail.com>
-
micnic authored
Adds the feature to define arguments for the function called in domain.run(), this is supposed to be useful when a function is called from another context and some values from the current context are needed as arguments, it's similar to the callback from setTimeout or setInterval. PR-URL: https://github.com/iojs/io.js/pull/15 Reviewed-By:
Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Rod Vagg authored
closes #112 PR-URL: https://github.com/iojs/io.js/pull/144/ Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Trevor Norris <trev.norris@gmail.com> Reviewed-By:
Mikeal Rogers <mikeal.rogers@gmail.com>
-
- Dec 11, 2014
-
-
Evan Lucas authored
Fixes regression in require system that prevented loading relative packages via main property in package.json where the file is not index.{ext}. The regression was introduced in commit 36777d2a. PR-URL: https://github.com/iojs/io.js/pull/145 Reviewed-By:Ben Noordhuis <info@bnoordhuis.nl>
-
- Dec 12, 2014
-
-
Ben Noordhuis authored
Commit 691d55fe introduces a regression on OS X when dtrace is enabled (the default.) This commit rectifies that by removing the erroneous platform check. Fixes the following build error: CXX(target) /Users/bnoordhuis/src/iojs/out/Release/obj.target/node/src/node_dtrace.o ../src/node_dtrace.cc:27:10: fatal error: 'node_provider.h' file not found PR-URL: https://github.com/iojs/io.js/pull/150 Reviewed-By:
Miroslav Bajtoš <miro.bajtos@gmail.com>
-
- Dec 11, 2014
-
-
Mikeal Rogers authored
PR-URL: https://github.com/node-forward/node/pull/41 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> @rvagg: cherry-picked 2c7847b3 and e7dec60a from master to v0.12
-
Mikeal Rogers authored
Fixes https://github.com/node-forward/node/issues/4 PR-URL: https://github.com/node-forward/node/pull/9 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> @rvagg: cherry-picked 3cb5f3db from master to v0.12
-
Kevin O'Hara authored
Rewords project messaging in README to make the overall project messaging a bit clearer. More discussion to be found in iojs/io.js#24. PR-URL: https://github.com/iojs/io.js/pull/36 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
Steven R. Loomis authored
Previously, 'configure' would not return an exit status if gyp blows up. This can be tested via: date >> node.gyp ; ./configure && echo A-OK You will get "A-OK" even though gyp had failed. PR-URL: https://github.com/joyent/node/pull/8856 Reviewed-By:Ben Noordhuis <info@bnoordhuis.nl>
-
Fedor Indutny authored
In newly introduced `SafeX509ExtPrint` I forgot to insert separators between extensions, which lead to the "DNS:...DNS:..." thing for npm. Fix: iojs/io.js#105 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> PR-URL: https://github.com/iojs/io.js/pull/113.patch
-
- Dec 10, 2014
-
-
brian m. carlson authored
Some distributions disable SSLv3 due to POODLE. In such a case, disable the specific SSLv3 methods and throw an exception, much like the code already does for SSLv2. The SSLv23* code is retained because this is OpenSSL's terminology for "no version in particular". Reviewed-By:
Fedor Indutny <fedor@indutny.com> PR-URL: https://github.com/iojs/io.js/pull/101
-
Ben Noordhuis authored
Based on the ad-hoc benchmark from joyent/node#8638 plus an additional benchmark for user:pass auth URLs. PR-URL: https://github.com/iojs/io.js/pull/102 Reviewed-by:
Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Ben Noordhuis authored
Remove a speed bump from commit 36777d2a by reusing the result of the previous stat() system call. It's a code path that gets called many thousands of times at startup in most applications so shaving off an extra system call can have an appreciable impact on startup times. PR-URL: https://github.com/iojs/io.js/pull/130 Reviewed-by:
Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Ben Noordhuis authored
Seen with g++ 4.9.2 on x86_64 Linux: a SIGSEGV is generated when the input to v8::String::NewFromTwoByte() is not suitably aligned. g++ 4.9.2 emits SSE instructions for copy loops. That requires aligned input but that was something StringBytes::Encode() did not enforce until now. Make a properly aligned copy before handing off the input to V8. We could, as an optimization, check that the pointer is aligned on a two-byte boundary but that is technically still UB; pointers-to-char are allowed to alias other pointers but the reverse is not true: a pointer-to-uint16_t that aliases a pointer-to-char is in violation of the pointer aliasing rules. See https://code.google.com/p/v8/issues/detail?id=3694 Fixes segfaulting test simple/test-stream2-writable. PR-URL: https://github.com/iojs/io.js/pull/127 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Bert Belder authored
* The test no longer relies on being invoked from a particular working directory to function properly. * fs.symlink() and fs.symlinkSync() are both tested. * The test now cleans up after itself. This commit fixes https://github.com/iojs/io.js/issues/126 PR-URL: https://github.com/iojs/io.js/pull/129 Reviewed-By:Ben Noordhuis <info@bnoordhuis.nl>
-
cjihrig authored
PR-URL: https://github.com/joyent/node/pull/8845 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Juanjo authored
PR-URL: https://github.com/joyent/node/pull/8546 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Evan Torrie authored
The "dtrace" script version include in systemtap-sdt-devel-2.6-3 (part of Fedora 21) no longer ignores unknown command line arguments, but will instead error out and refuse to run. This patch adds a separate condition to node's gyp input so that on Linux it will run dtrace without the -xnolibs argument that trips it up on systemtap-std-devel-2.6-3. PR-URL: https://github.com/joyent/node/pull/8846 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Bert Belder authored
This merge is effectively a no-op because io.js has already cherry-picked all the patches from node it needs. The merge commit serves to establish a new merge base for future merges.
-
Bert Belder authored
PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Jackson Tian authored
Add documentation for the callback parameter of http.ClientRequest's and http.ServerResponse's write and end methods.
-
Trevor Norris authored
Call a user-defined callback at specific points in the lifetime of an asynchronous event. Which are on instantiation, just before/after the callback has been run. **If any of these callbacks throws an exception, there is no forgiveness or recovery. A message will be displayed and a core file dumped.** Currently these only tie into AsyncWrap, meaning no call to a hook callback will be made for timers or process.nextTick() events. Though those will be added in a future commit. Here are a few notes on how to make the hooks work: - The "this" of all event hook callbacks is the request object. - The zero field (kCallInitHook) of the flags object passed to setupHooks() must be set != 0 before the init callback will be called. - kCallInitHook only affects the calling of the init callback. If the request object has been run through the create callback it will always run the before/after callbacks. Regardless of kCallInitHook. - In the init callback the property "_asyncQueue" must be attached to the request object. e.g. function initHook() { this._asyncQueue = {}; } - DO NOT inspect the properties of the object in the init callback. Since the object is in the middle of being instantiated there are some cases when a getter is not complete, and doing so will cause Node to crash. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
When instantiating a new AsyncWrap allow the parent AsyncWrap to be passed. This is useful for cases like TCP incoming connections, so the connection can be tied to the server receiving the connection. Because the current architecture instantiates the *Wrap inside a v8::FunctionCallback, the parent pointer is currently wrapped inside a new v8::External every time and passed as an argument. This adds ~80ns to instantiation time. A future optimization would be to add the v8::External as the data field when creating the v8::FunctionTemplate, change the pointer just before making the call then NULL'ing it out afterwards. This adds enough code complexity that it will not be attempted until the current approach demonstrates it is a bottle neck. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
Expose basic hooks for AsyncWrap via the async_wrap binding. Right now only the PROVIDER types are exposed. This is a preliminary step before more functionality is added. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
The template class information is received via the type of the first argument. So there is no need to use Wrap<T>(handle). PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
Instead of simply creating a new v8::Object to contain the connection information, instantiate a new instance of a FunctionTemplate. This will allow future improvements for debugging and performance probes. Additionally, the "provider" argument in the ReqWrap constructor is no longer optional. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
An edge case could occur when the setImmediate() in _fatalException() would fire before the timers module had been loaded globally, causing Node to crash. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
C++ won't deoptimize like JS if specific conditional branches are sporadically met in the future. Combined with the amount of code duplication removal and simplified maintenance complexity, it makes more sense to merge MakeCallback and MakeDomainCallback. Additionally, type casting in V8 before verifying what that type is will cause V8 to abort in debug mode if that type isn't what was expected. Fix this by first checking the v8::Value before casting. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
MakeCallback is too large a function to be inlined. Likewise, only having header files will not allow for any part of AsyncWrap to be exposed cleanly via NODE_MODULE_CONTEXT_AWARE_BUILTIN(). PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Trevor Norris authored
Async Listener was the name of the user-facing JS API, and is being completely removed. Instead low level hooks directly into the mechanism that AL used will be introduced in a future commit. PR-URL: https://github.com/joyent/node/pull/8110 Signed-off-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Fedor Indutny <fedor@indutny.com> Reviewed-by:
Alexis Campailla <alexis@janeasystems.com> Reviewed-by:
Julien Gilli <julien.gilli@joyent.com>
-
Bert Belder authored
That test can trigger a bug on some older Linux kernels. PR-URL: https://github.com/iojs/io.js/pull/124 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Alexis Campailla authored
Adding --flaky-tests option, to allow regarding flaky tests failures as non-fatal. Currently only observed by the TapProgressIndicator, which will add a # TODO directive to tests classified as flaky. According to the TAP specification, the test harness is supposed to treat failures that have a # TODO directive as non-fatal.
-
Carlos Campderrós authored
0644 seems to be the desired mode for new files (as it is a very weird umask), and to achieve that the correct umask would be 0022. PR-URL: https://github.com/joyent/node/pull/8039 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-