Commit Graph

7287 Commits (e2bcff9aa75e51b9ba071330fe712180abed03e0)

Author SHA1 Message Date
isaacs e2bcff9aa7 bench: Use hrtime in throughput benchmark 2012-11-11 10:02:33 -08:00
Ben Noordhuis b6e989759b repl: don't interpret floating point numbers
Don't interpret floating point numbers, e.g. ".1234", as REPL commands.

Fixes #4268.
2012-11-10 18:21:17 +01:00
Trevor Norris 13c5db9771 buffer: remove duplicate assertion tests
Many assertion tests are duplicated in buffer.js. These few could be easily
removed and still have all tests pass.
2012-11-10 02:11:04 +01:00
Nathan Rajlich 5e4e87ade5 os: add os.endianness() function 2012-11-08 12:31:45 -08:00
Nathan Rajlich 3c91a7ae10 readline: use a "string_decoder" to parse "keypress" events
While updating the readline test cases to test both "terimal: false" and
"terminal: true" mode, it turned out that the test case testing utf8 chars
being sent over multiple write() calls was failing. The solution is to use
a string_decoder instance when parsing the "keypress" events.
2012-11-06 16:28:30 -08:00
Nathan Rajlich e95e095289 readline: don't emit "line" events with a trailing '\n' char
Before this commit, readline was inconsistent in whether or not it would emit
"line" events with or without the trailing "\n" included. When "terminal"
mode was true, then there would be no "\n", when it was false, then the "\n"
would be present. However, the trailing "\n" doesn't add much, and most of the
time people just end up stripping it manually.

Part of #4243.
2012-11-06 16:28:24 -08:00
Joshua Erickson fb6377ebd0 net: More accurate IP address validation and IPv6 dotted notation.
* Added isIP method to make use of inet_pton to cares_wrap.cc
* Modified net.isIP() to make use of new C++ isIP method.
* Added new tests to test-net-isip.js.
2012-11-06 16:49:21 +01:00
Shigeki Ohtsu f36bfd1590 build: remove jslint test/ on Windows
See 605927fbd9
2012-11-06 00:25:21 +01:00
Timothy J Fontaine 02dffb063e build: enable DEAD_CODE_STRIPPING on OS X 2012-11-06 00:18:36 +01:00
Timothy J Fontaine 0f3ddad0fc build: let xcode pick proper compiler 2012-11-06 00:18:36 +01:00
Timothy J Fontaine ac047166f6 build: add configure option to generate xcode build files 2012-11-06 00:18:36 +01:00
Timothy J Fontaine d264b23077 build: add postmortem as a dependency if enabled 2012-11-06 00:18:36 +01:00
Stephen Gallagher 73ff653a8d build: allow linking against system c-ares 2012-11-06 00:18:35 +01:00
Stephen Gallagher bfd78b69fc build: allow linking against system http_parser 2012-11-06 00:18:35 +01:00
Anthony Pesch fddb5dc2d3 typed arrays: add slice() support to ArrayBuffer 2012-11-06 00:13:26 +01:00
Fedor Indutny 05882668f9 debugger: exit and kill child on SIGTERM or SIGHUP 2012-11-04 01:34:46 +01:00
Ben Noordhuis 83e5e20c2c build: remove _LARGEFILE_SOURCE, _FILE_OFFSET_BITS
Don't define the _LARGEFILE_SOURCE and _FILE_OFFSET_BITS flags, they're
inherited from libuv now.
2012-11-04 01:26:30 +01:00
Ben Noordhuis a7ac1a1d88 deps: upgrade libuv to 0ddf9d6 2012-11-04 01:25:06 +01:00
Ben Noordhuis a6fef475ce build: make debug build on os x compile at -O0
Set GCC_OPTIMIZATION_LEVEL explicitly, otherwise GYP defaults to -Os.
2012-11-02 15:58:21 +01:00
Shigeki Ohtsu 148f5e6512 build: fix default dtrace flag on Linux
DTrace on Linux should not be enabled by default because not all systems will
have the proper headers installed. Only enable when --with-dtrace is passed to
the configure script.
2012-11-01 22:20:21 +01:00
Girish Ramakrishnan 2f03eaf76f doc: tls: rejectUnauthorized defaults to true after 35607f3a 2012-11-01 16:16:27 +01:00
Scott Blomquist 66f64ae072 windows: generate ETW events to track v8 compiled code positions
Patch by Henry Rawas and Scott Blomquist.
2012-11-01 14:06:26 +01:00
Ben Noordhuis 2f5fa089e9 build: add --systemtap-includes configure switch 2012-11-01 01:36:46 +01:00
Jan Wynholds 06810b29fa tracing: add systemtap support 2012-11-01 01:25:22 +01:00
Ben Noordhuis ab1e66d93f deps: upgrade libuv to 97c527a 2012-11-01 01:22:16 +01:00
isaacs a12c42ca2f test: Use setImmediate for recursive deferral
This should have been with 21c741f, but didn't catch it then.
Taking our own advice.
2012-10-31 17:07:58 -07:00
isaacs 07d3b21f43 zlib: s/clear/close/ and match other close() semantics 2012-10-31 16:56:30 -07:00
Frederico Silva cfbfaaa87d build: let gyp choose msvs version 2012-10-31 23:17:45 +01:00
J. Lee Coltrane 54d293da56 url: make url.format escape delimiters in path and query
`url.format` should escape ? and # chars in pathname, and # chars in
search, because they change the semantics of the operation otherwise.
Don't escape % chars, or anything else. (see: #4082)
2012-10-30 09:16:13 -07:00
Brandon Philips 19b87bbda0 tls: delete useless removeListener call
onclose was never attached to 'end' so this call to remove this listener
is useless.  Delete it.
2012-10-30 16:58:07 +01:00
Ben Noordhuis a93424da4a zlib: pass object size hint to V8
Inform V8 that the zlib context object is tied to a large off-heap buffer.

This makes the GC run more often (in theory) and improves the accuracy of
--trace_external_memory.
2012-10-30 15:03:27 +01:00
Ben Noordhuis 570e4be932 zlib: reduce memory consumption, release early
In zlibBuffer(), don't wait for the garbage collector to reclaim the zlib memory
but release it manually. Reduces memory consumption by a factor of 10 or more
with some workloads.

Test case:

  function f() {
    require('zlib').deflate('xxx', g);
  }
  function g() {
    setTimeout(f, 5);
  }
  f();

Observe RSS memory usage with and without this commit. After 10,000 iterations,
RSS stabilizes at ~35 MB with this commit. Without, RSS is over 300 MB and keeps
growing.

Cause: whenever the JS object heap hits the high-water mark, the V8 GC sweeps
it clean, then tries to grow it in order to avoid more sweeps in the near
future. Rule of thumb: the bigger the JS heap, the lazier the GC can be.

A side effect of a bigger heap is that objects now live longer. This is harmless
in general but it affects zlib context objects because those are tied to large
buffers that live outside the JS heap, on the order of 16K per context object.

Ergo, don't wait for the GC to reclaim the memory - it may take a long time.

Fixes #4172.
2012-10-30 15:03:17 +01:00
isaacs 21c741f257 Print warning when maxTickDepth is reached 2012-10-29 10:53:39 -07:00
Scott Blomquist 953b049a89 windows: correct outputs list in "node_etw" gyp target
The gyp target node_etw didn't list its output dependencies. This
was causing virgin builds to fail with a "failed to open file for
write" error.

With this corrected outputs list, gyp reliably pre-creates
required output directories.
2012-10-29 14:27:30 +01:00
Ben Noordhuis 9b61f570d8 Merge remote-tracking branch 'origin/v0.8'
Conflicts:
	configure
	deps/v8/build/common.gypi
2012-10-25 16:08:58 +02:00
Ben Noordhuis 4b8629db37 v8: remove optimization switches
Remove compiler switches from $(TOPLEVEL)/deps/v8/build/common.gypi, we set
them globally in $(TOPLEVEL)/common.gypi.

Commit 29d12c73 accidentally reintroduced the switches again. In particular,
the 'cflags!': ['-O2','-Os'] section forced building V8 without any
optimizations, resulting in a steep (~66%) performance drop on some benchmarks.

Fixes #4191.
2012-10-25 01:06:00 +02:00
Ben Noordhuis 28e6403a56 build: add --unsafe-optimizations configure switch
Turns on -O3 and other optimizations that may produce buggy code with some
toolchains. Use at your own risk.
2012-10-25 01:06:00 +02:00
Ben Noordhuis de0303d3ad url: parse hostnames that start with - or _
Allow hostnames like '-lovemonsterz.tumblr.com' and '_jabber._tcp.google.com'.

Fixes #4177.
2012-10-25 01:06:00 +02:00
Bert Belder fa94f0fe83 v8: don't show performance warnings when compiling with msvc
Patch sent upstream: http://codereview.chromium.org/10829109/
2012-10-24 21:29:46 +02:00
isaacs 78dbb15858 Now working on v0.9.4 2012-10-24 10:10:57 -07:00
isaacs 9b3f63503e Merge branch 'v0.9.3-release' 2012-10-24 10:10:30 -07:00
isaacs 82a72e9591 blog: Post for v0.9.3 release 2012-10-24 10:08:58 -07:00
isaacs 1ed4c6776e 2012.10.24, Version 0.9.3 (Unstable)
* V8: Upgrade to 3.13.7.4

* crypto: Default to buffers instead of binary strings (isaacs, Fedor Indutny)

* crypto: add getHashes() and getCiphers() (Ben Noordhuis)

* unix: add custom thread pool, remove libeio (Ben Noordhuis)

* util: make `inspect()` accept an "options" argument (Nathan Rajlich)

* https: fix renegotation attack protection (Ben Noordhuis)

* cluster: make 'listening' handler see actual port (Aaditya Bhatia)

* windows: use USERPROFILE to get the user's home dir (Bert Belder)

* path: add platform specific path delimiter (Paul Serby)

* http: add response.headersSent property (Pavel Lang)

* child_process: make .fork()'d child auto-exit (Ben Noordhuis)

* events: add 'removeListener' event (Ben Noordhuis)

* string_decoder: Add 'end' method, do base64 properly (isaacs)

* buffer: include encoding value in exception when invalid (Ricky Ng-Adam)

* http: make http.ServerResponse no longer emit 'end' (isaacs)

* streams: fix pipe is destructed by 'end' from destination (koichik)
2012-10-24 09:21:44 -07:00
isaacs abf37c1e66 V8 build: 'echo -n' considered harmful 2012-10-24 09:21:44 -07:00
Ben Noordhuis 8ac017eba7 test: fix pummel/test-crypto-dh, pummel/test-dh-regr
Forgotten in the switch to buffers as the default output in 3570f20.

Fixes #4188.
2012-10-24 15:37:34 +02:00
Bert Belder f34f1e30a6 repl: call resume() after setRawMode()
Solves #4178, but does not fix the underlying issue
2012-10-24 02:52:18 +02:00
Bert Belder 6822488c93 repl: call resume() after setRawMode()
Solves #4178, but does not fix the underlying issue
2012-10-24 02:42:57 +02:00
Olivier Lalonde 626db18635 doc: child_process: document uid and gid spawn() options 2012-10-24 01:24:00 +02:00
isaacs c3ca783525 Merge remote-tracking branch 'ry/v0.8'
Conflicts:
	deps/v8/src/arm/code-stubs-arm.cc
	deps/v8/src/version.cc
2012-10-23 11:59:19 -07:00
isaacs a0ee291566 V8: Reapply patches 2012-10-23 11:50:46 -07:00