Commit Graph

6679 Commits (202df30aabc78fa571cf77ad93146b3c4d99fc6e)

Author SHA1 Message Date
Ben Noordhuis 202df30aab build: disable unsafe optimizations
Compile at -O2 and disable optimizations that trigger gcc bugs.

Some people still reported mksnapshot crashes after commit b40f813 ("build: fix
spurious mksnapshot crashes for good" - so much for that).

Average performance of the -O2 binary is on par with the -O3 binary. Variance
on the http_simple bytes/8 benchmark appears to be slightly greater but small
enough that the possibly of it being noise cannot be excluded.

The new binary very slightly but consistently outperforms the -O3 binary (by
about 0.5%) on the mostly CPU-bound bytes/102400 benchmark. That could be an
artifact of the system I benchmarked it on, a Core 2 Duo with a puny 32 kB of
L1 instruction cache. The smaller binary seems to play nicer with the cache.
2012-07-12 16:17:25 +02:00
Bert Belder d2e40f66cc Merge branch 'v0.6' into v0.8 2012-07-12 03:30:04 +02:00
isaacs b6e916db58 Now working on 0.6.21 2012-07-11 10:15:03 -07:00
Philipp Hagemeister 1d99441d37 tools: fix shebang in tools/doc/generate.js 2012-07-11 14:36:43 +02:00
Ben Noordhuis b40f813bab build: fix spurious mksnapshot crashes for good
A variety of gcc bugs made mksnapshot crash with either a segmentation fault
or a 'pure virtual method callled' run-time error.

After much wailing and gnashing of teeth I managed to deduce that the bugs
show up when:

  1. gcc 4.5.2 for i386-pc-solaris2.11 is used and -fstrict-aliasing is
     enabled, or

  2. gcc version 4.4.6 for x86_64-redhat-linux is used and
     -ffunction-sections -finline-functions at -O2 or higher is enabled

Therefore, disable -ffunction-sections and -fdata-sections unconditionally
and disable -fstrict-aliasing only on Solaris.

The -ffunction-sections and -fdata-sections switches were nonsense anyway
because we don't link with -Wl,--gc-sections.
2012-07-11 03:52:13 +02:00
isaacs bf561c52a5 Blog post for v0.6.20 2012-07-10 17:05:54 -07:00
isaacs 952e513379 2012.07.10 Version 0.6.20 (maintenance)
* npm: Upgrade to 1.1.37 (isaacs)

* benchmark: Backport improvements made in master (isaacs)

* build: always link with -lz (Trent Mick)

* core: use proper #include directives (Ben Noordhuis)

* cluster: don't silently drop messages when the write queue gets big (Bert Belder)

* windows: don't print error when GetConsoleTitleW returns an empty string (Bert Belder)
2012-07-10 16:25:12 -07:00
isaacs 17061d981e .gitignore: Don't ignore node_modules (breaks npm) 2012-07-10 16:16:43 -07:00
isaacs ae5a209b11 npm: Upgrade to 1.1.37 2012-07-10 16:16:25 -07:00
isaacs fecebe1dbf build: Regenerate docs for tarball and releases
Related: https://twitter.com/kapeli/status/222477400880070658
2012-07-10 08:02:30 -07:00
Ivan Torres 8146f2e607 doc: clarify fs.symlink and fs.symlinkSync parameters 2012-07-10 16:36:08 +02:00
isaacs 71078f91ed Now working on 0.8.3 2012-07-09 10:25:17 -07:00
isaacs a4da6300c8 v0.8.2 blog post 2012-07-09 10:24:34 -07:00
isaacs 9547ee90db Merge branch 'v0.8.2-release' into v0.8
Conflicts:
	AUTHORS
2012-07-09 10:23:49 -07:00
Toshihiro Nakamura 6530310ed5 domain: Remove first arg from intercepted fn
Fix to remove the first-arg, in case arguments length is more than 2
Add domain.intercept() test about first-arg removal
2012-07-09 09:37:46 -07:00
Bert Belder 2a8380ce57 Update AUTHORS 2012-07-09 17:28:30 +02:00
Bert Belder f4369d76c8 Add a .mailmap file, and clean up AUTHORS somewhat
* A mailmap makes it easier to keep track of contributors.
* Changes to the AUTHORS file:
  - fix misspellings
  - add missing/incomplete names
  - remove duplicate mentions
* No names were added to or removed from the AUTHORS list.
2012-07-09 16:55:09 +02:00
Justin Plock fba1e48fae doc: cluster: worker.pid is now worker.process.pid 2012-07-09 15:57:44 +02:00
Ben Noordhuis 63c2391984 test: make test-fs-watch-file write to tmp dir
Write temp files to test/tmp, not test/fixtures.
2012-07-09 15:48:43 +02:00
Ben Noordhuis 5b5362aa8d fs: make unwatchFile() remove a specific listener
Before this commit, `fs.unwatchFile(path)` removed *all* listeners for `path`.

The function is overloaded now: `fs.unwatchFile(path)` still removes all
listeners, but `fs.unwatchFile(path, cb)` lets you remove a specific listener.

Fixes #3660.
2012-07-09 15:48:43 +02:00
isaacs bf539f9bfd zlib: Call inflateEnd for UNZIP. Fixes memory leak.
Fix #2595
2012-07-08 22:22:01 -07:00
Nathan Rajlich d3d83d7b90 process: throw a TypeError when anything but an Array is passed to hrtime()
Fixes #3664.
2012-07-08 20:53:19 -07:00
Ben Noordhuis 26f1bc8e8c crypto: fix DecipherUpdate() memory leak
Fix a memory leak in the the code path that deals with partial hex strings.
2012-07-08 14:45:55 +02:00
isaacs cc6084b9ac 2012.07.09, Version 0.8.2 (Stable)
* npm: Upgrade to 1.1.36

* readline: don't use Function#call() (Nathan Rajlich)

* Code cleanup to pass 'use strict' (Jonas Westerlund)

* module: add filename to require() json errors (TJ Holowaychuk)

* readline: fix for unicode prompts (Tim Macfarlane)

* timers: fix handling of large timeouts (Ben Noordhuis)

* repl: fix passing an empty line inserting "undefined" into the buffer (Nathan Rajlich)

* repl: fix crashes when buffering command (Maciej Małecki)

* build: rename strict_aliasing to node_no_strict_aliasing (Ben Noordhuis)

* build: disable -fstrict-aliasing for any gcc < 4.6.0 (Ben Noordhuis)

* build: detect cc version with -dumpversion (Ben Noordhuis)

* build: handle output of localized gcc or clang (Ben Noordhuis)

* unix: fix memory corruption in freebsd.c (Ben Noordhuis)

* unix: fix 'zero handles, one request' busy loop (Ben Noordhuis)

* unix: fix busy loop on unexpected tcp message (Ben Noordhuis)

* unix: fix EINPROGRESS busy loop (Ben Noordhuis)
2012-07-07 15:15:17 -07:00
isaacs c4e9226bdb Fix test-require-json on Windows 2012-07-07 15:15:17 -07:00
Bert Belder 1c1ad9bcf4 v8: reapply floating patches 2012-07-07 23:45:02 +02:00
isaacs 5b5c8b6005 v8: Upgrade to 3.11.10.14 2012-07-07 23:45:00 +02:00
Bert Belder 3e5139fd2f Fix the Windows build 2012-07-07 23:40:12 +02:00
Bert Belder c6843f40c8 gitignore: ignore .svn directories 2012-07-07 23:19:12 +02:00
isaacs c49888bd84 Now working on 0.8.2 2012-07-07 13:42:25 -07:00
isaacs 59a40fc8ed npm: Upgrade to 1.1.36 2012-07-07 12:40:06 -07:00
isaacs 559a98f0d7 doc: Formatting and grammar on stream api doc 2012-07-07 09:53:33 -07:00
Dominic Tarr 7accaeb490 correct documentation of Stream#destroy 2012-07-07 09:51:00 -07:00
Nathan Rajlich 8a9e8d60d2 readline: don't use Function#call()
It wasn't necessary.
2012-07-06 19:41:01 -07:00
Jonas Westerlund 2297d638c1 Forgotten commit: add arguments to handleGroup 2012-07-06 19:28:35 -07:00
Jonas Westerlund a9b0bcfafe Assign to property of global, instead of implicit global variable
Fixes crash in strict mode.
2012-07-06 19:28:35 -07:00
Jonas Westerlund c7bc4cacde Use unicode escape sequences instead of octal
The latter is illegal in strict mode.
2012-07-06 19:28:35 -07:00
Jonas Westerlund 4cfdc57712 Inline timeout function, avoiding declaration in conditional
Moving it out would require an anonymous function, or bind(), anyway.
Luckily It's a tiny function. Fixes crash in strict mode.
2012-07-06 19:28:35 -07:00
Jonas Westerlund 7e7d5d38ea Move function declaration out of conditional
Also avoid using eval as identifier.
Fixes crashes in strict mode.
2012-07-06 19:28:35 -07:00
Jonas Westerlund 0b0b72c2fa Move function declaration to top-level
Gets rid of a strict mode error and a few levels of indentation.
2012-07-06 19:28:35 -07:00
Jonas Westerlund e5bb8391a8 Do not assign to properties that only have getters
It is an error in strict mode, and silent failure otherwise.
2012-07-06 19:28:35 -07:00
Jonas Westerlund 93d4259cf0 Avoid redeclaring variable
Capitalize the constructor to avoid redeclaration.
Fixes strict mode error.
2012-07-06 19:28:35 -07:00
Jonas Westerlund e11b6b8f75 Remove octal escape sequences and avoid reserved keyword
Both are errors in strict mode.
2012-07-06 19:28:35 -07:00
TJ Holowaychuk ed7fb149a2 module: add filename to require() json errors
Otherwise it can be quite difficult to figure out which file is busted.

Closes #3580.
2012-07-06 15:26:41 -07:00
Tim Macfarlane 0dba28b5c2 readline: fix for unicode prompts
prompt length is char length, not byte length
2012-07-06 02:14:47 +02:00
Ben Noordhuis 0c47219a72 timers: fix handling of large timeouts
Don't use the double-negate trick to coalesce the timeout argument into a
number, it produces the wrong result for very large timeouts.

Example:

    setTimeout(cb, 1e10); // doesn't work, ~~1e10 == 1410065408
2012-07-05 23:07:27 +02:00
Nathan Rajlich 9126dd2d90 repl: fix passing an empty line inserting "undefined" into the buffer
There was a possiblity of insering the string "undefined" into the repl's
command buffer, which would cause interesting results while evaluating.
2012-07-04 11:51:24 -07:00
Maciej Małecki 6a11f3edf4 repl: fix crashes when buffering command
Wrong order of operands was causing problems while trying to use command
buffering:

    > {
    ...   a: 3,
    ...

    repl.js:284
            if (cmd.trim().match(/^npm /) && !self.bufferedCommand) {
                    ^
    TypeError: Cannot call method 'trim' of undefined
        at finish (repl.js:284:17)
        at REPLServer.self.eval (repl.js:118:5)
        at rli.on.e (repl.js:260:20)
        at REPLServer.self.eval (repl.js:118:5)
        at Interface.<anonymous> (repl.js:250:12)
        at Interface.EventEmitter.emit (events.js:88:17)
        at Interface._onLine (readline.js:183:10)
        at Interface._line (readline.js:502:8)
        at Interface._ttyWrite (readline.js:720:14)
        at ReadStream.<anonymous> (readline.js:105:12)

Test included.

Closes #3515.
Closes #3517.
Closes #3621.
2012-07-04 11:22:10 -07:00
Ben Noordhuis 4fbe7a5fab deps: upgrade libuv to be09be7 2012-07-04 14:08:07 +02:00
Ben Noordhuis fc4e12b8f1 tools: update gyp to r1426 2012-07-03 20:56:35 +02:00