| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this commit the EventEmitter methods were anonymous functions.
V8 tries to infer names for anonymous functions based on the execution
context but it frequently gets it wrong and when that happens, the
stack trace is usually confusing and unhelpful. This commit names all
methods so V8 can fall back to the method.name property.
The above gotcha applies to all anonymous functions but is exacerbated
for EventEmitter methods because those are invoked with a plenitude of
different receivers.
Signed-off-by: Trevor Norris <trev.norris@gmail.com>
|
|
|
|
|
|
|
|
| |
Previously if you cached process.nextTick and then require('domain')
subsequent nextTick() calls would not be caught because enqueued
functions were taking the wrong path. This keeps nextTick to a single
function reference and changes the implementation details after domain
has been required.
|
|
|
|
|
|
|
| |
It's cleaner to only load domain ticker logic when the domains are being
used. This makes execution slightly quicker in both cases, and simpler
from the spinner since there is no need to check if the latest callback
requires use of domains.
|
|
|
|
|
|
|
|
|
|
|
| |
Not necessary, since we can handle the error properly on the first tick
now, even if there are event listeners, etc.
Additionally, this removes the unnecessary "_needTickCallback" from
startup, since Module.loadMain() will kick off a nextTick callback right
after it runs the main module.
Fix #4856
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Callbacks from spinner now calls its own function, separate from the
tickCallback logic
* MakeCallback will call a domain specific function if a domain is
detected
* _tickCallback assumes no domains, until nextTick receives a callback
with a domain. After that _tickCallback is overridden with the domain
specific implementation.
* _needTickCallback runs in startup() instead of nextTick (isaacs)
* Fix bug in _fatalException where exit would be called twice (isaacs)
* Process.domain has a default value of null
* Manually track nextTickQueue.length (will be useful later)
* Update tests to reflect internal api changes
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 0109a9f90acdfdb287436676f2384f7b072fbb6a.
Also included: Port all the changes to process._makeCallback into the
C++ version. Immediate nextTick, etc.
This yields a slight boost in several benchmarks. V8 is optimizing and
deoptimizing process._makeCallback repeatedly.
|
| |
|
|
|
|
| |
Fix #3555
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
1. The net changes add a stack frame to stdin errors.
2. The error line numbers were overly strict in many places.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fix for joyent/node#3280
|
|
|
|
|
|
|
| |
This reverts commit f8519e10b823f576ddd0efa76ab425f0598b1223.
Recent update to V8 fixes the problem where it incorrectly reports the
line number as 0 for thrown RangeErrors.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
lib/zlib.js
src/node.cc
src/node.js
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
So instead of:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
You will now see:
path/to/foo.js:1
throw new Error('bar');
^
This is a sub-set of isaacs patch here:
https://github.com/joyent/node/issues/3235
The difference is that this patch purely adresses the exception output,
but does not try to make any behavior changes / improvements.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch now reports the proper throw call site for exceptions
triggered within process.nextTick. So instead of this:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
You will now see:
mydir/myscript.js:15
throw new Error('My Error');
^
From my testing this patch causes no performance regressions, but does
greatly simplify processing the nextTickQueue.
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
after 4d4900f, stack trace was changed.
|
|
|
|
| |
Fixes #1831
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
V8 3.4.12.1 changed exception log format.
3.14.10:
node.js:189
throw e; // process.nextTick error, or 'error' event on first tick
^
3.4.12.1:
node.js:189
throw e; // process.nextTick error, or 'error' event on first tick
^
The caret was moved.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
lib/tls.js
lib/url.js
src/node_version.h
test/simple/test-buffer.js
test/simple/test-url.js
|
| |
| |
| |
| | |
Also, tests for the same.
|
|/
|
|
| |
Broke after 75db199.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
so `node foo`
will load one of:
./foo.js
./foo.node
./foo/index.js
./foo/index.node
Test cases added.
Ensured no conflict with native names.
|
|
|
|
|
| |
This patch introduces a logical structure and sequence for the
bootstrap code found src/node.js.
|
| |
|
|
|
|
|
| |
This de-couples NativeModule from the module system and completes the
main objective of this refactoring.
|
|
|
|
|
|
| |
test/simple/test-url.js:31:(0110) Line too long (82 characters).
test/simple/test-url.js:39:(0110) Line too long (85 characters).
test/simple/test-url.js:40:(0110) Line too long (92 characters).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Mostly just upgraded tools/test.py to the latest one that's in V8. But also
fixing the before and after hooks to preserve the test/tmp directory so that
running tests manually usually works.
|