Created
July 29, 2014 19:58
-
-
Save springmeyer/d84023e69e2e2af921e2 to your computer and use it in GitHub Desktop.
diff -d -r -u node-v0.11.13 node-v0.11.13_atom
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Only in node-v0.11.13: .gitattributes | |
Only in node-v0.11.13: .gitignore | |
Only in node-v0.11.13: .mailmap | |
Only in node-v0.11.13: AUTHORS | |
Only in node-v0.11.13: BSDmakefile | |
Only in node-v0.11.13: CONTRIBUTING.md | |
Only in node-v0.11.13: ChangeLog | |
Only in node-v0.11.13: LICENSE | |
Only in node-v0.11.13: Makefile | |
Only in node-v0.11.13: README.md | |
Only in node-v0.11.13: android-configure | |
Only in node-v0.11.13: benchmark | |
diff -d -r -u node-v0.11.13/common.gypi node-v0.11.13_atom/common.gypi | |
--- node-v0.11.13/common.gypi 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/common.gypi 2014-07-21 08:42:01.000000000 -0700 | |
@@ -196,6 +196,7 @@ | |
'defines': ['_DARWIN_USE_64_BIT_INODE=1'], | |
'xcode_settings': { | |
'ALWAYS_SEARCH_USER_PATHS': 'NO', | |
+ 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', | |
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks | |
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic | |
# (Equivalent to -fPIC) | |
Only in node-v0.11.13_atom: config.gypi | |
Only in node-v0.11.13: configure | |
Only in node-v0.11.13/deps: cares | |
Only in node-v0.11.13/deps/http_parser: .gitignore | |
Only in node-v0.11.13/deps/http_parser: .mailmap | |
Only in node-v0.11.13/deps/http_parser: .travis.yml | |
Only in node-v0.11.13/deps/http_parser: AUTHORS | |
Only in node-v0.11.13/deps/http_parser: CONTRIBUTIONS | |
Only in node-v0.11.13/deps/http_parser: LICENSE-MIT | |
Only in node-v0.11.13/deps/http_parser: Makefile | |
Only in node-v0.11.13/deps/http_parser: README.md | |
Only in node-v0.11.13/deps/http_parser: contrib | |
Only in node-v0.11.13/deps/http_parser: http_parser.c | |
Only in node-v0.11.13/deps/http_parser: http_parser.gyp | |
Only in node-v0.11.13/deps/http_parser: test.c | |
Only in node-v0.11.13/deps/mdb_v8: mdb_v8.c | |
Only in node-v0.11.13/deps/mdb_v8: mdb_v8.gyp | |
Only in node-v0.11.13/deps/mdb_v8: mdb_v8_cfg.c | |
Only in node-v0.11.13/deps/npm: .npmignore | |
Only in node-v0.11.13/deps/npm: .tern-project | |
Only in node-v0.11.13/deps/npm: .travis.yml | |
Only in node-v0.11.13/deps/npm: AUTHORS | |
Only in node-v0.11.13/deps/npm: CONTRIBUTING.md | |
Only in node-v0.11.13/deps/npm: LICENSE | |
Only in node-v0.11.13/deps/npm: Makefile | |
Only in node-v0.11.13/deps/npm: README.md | |
Only in node-v0.11.13/deps/npm: bin | |
Only in node-v0.11.13/deps/npm: cli.js | |
Only in node-v0.11.13/deps/npm: configure | |
Only in node-v0.11.13/deps/npm: doc | |
Only in node-v0.11.13/deps/npm: html | |
Only in node-v0.11.13/deps/npm: lib | |
Only in node-v0.11.13/deps/npm: make.bat | |
Only in node-v0.11.13/deps/npm: man | |
Only in node-v0.11.13/deps/npm/node_modules: abbrev | |
Only in node-v0.11.13/deps/npm/node_modules: ansi | |
Only in node-v0.11.13/deps/npm/node_modules: ansicolors | |
Only in node-v0.11.13/deps/npm/node_modules: ansistyles | |
Only in node-v0.11.13/deps/npm/node_modules: archy | |
Only in node-v0.11.13/deps/npm/node_modules: block-stream | |
Only in node-v0.11.13/deps/npm/node_modules: child-process-close | |
Only in node-v0.11.13/deps/npm/node_modules: chmodr | |
Only in node-v0.11.13/deps/npm/node_modules: chownr | |
Only in node-v0.11.13/deps/npm/node_modules: cmd-shim | |
Only in node-v0.11.13/deps/npm/node_modules: columnify | |
Only in node-v0.11.13/deps/npm/node_modules: editor | |
Only in node-v0.11.13/deps/npm/node_modules: fstream | |
Only in node-v0.11.13/deps/npm/node_modules: fstream-npm | |
Only in node-v0.11.13/deps/npm/node_modules: github-url-from-git | |
Only in node-v0.11.13/deps/npm/node_modules: github-url-from-username-repo | |
Only in node-v0.11.13/deps/npm/node_modules: glob | |
Only in node-v0.11.13/deps/npm/node_modules: graceful-fs | |
Only in node-v0.11.13/deps/npm/node_modules: inherits | |
Only in node-v0.11.13/deps/npm/node_modules: ini | |
Only in node-v0.11.13/deps/npm/node_modules: init-package-json | |
Only in node-v0.11.13/deps/npm/node_modules: lockfile | |
Only in node-v0.11.13/deps/npm/node_modules: lru-cache | |
Only in node-v0.11.13/deps/npm/node_modules: minimatch | |
Only in node-v0.11.13/deps/npm/node_modules: mkdirp | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: .jshintrc | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: .npmignore | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: LICENSE | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: README.md | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: bin | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: gyp | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: lib | |
Only in node-v0.11.13/deps/npm/node_modules/node-gyp: package.json | |
Only in node-v0.11.13/deps/npm/node_modules: nopt | |
Only in node-v0.11.13/deps/npm/node_modules: npm-install-checks | |
Only in node-v0.11.13/deps/npm/node_modules: npm-registry-client | |
Only in node-v0.11.13/deps/npm/node_modules: npm-user-validate | |
Only in node-v0.11.13/deps/npm/node_modules: npmconf | |
Only in node-v0.11.13/deps/npm/node_modules: npmlog | |
Only in node-v0.11.13/deps/npm/node_modules: once | |
Only in node-v0.11.13/deps/npm/node_modules: opener | |
Only in node-v0.11.13/deps/npm/node_modules: osenv | |
Only in node-v0.11.13/deps/npm/node_modules: path-is-inside | |
Only in node-v0.11.13/deps/npm/node_modules: read | |
Only in node-v0.11.13/deps/npm/node_modules: read-installed | |
Only in node-v0.11.13/deps/npm/node_modules: read-package-json | |
Only in node-v0.11.13/deps/npm/node_modules: request | |
Only in node-v0.11.13/deps/npm/node_modules: retry | |
Only in node-v0.11.13/deps/npm/node_modules: rimraf | |
Only in node-v0.11.13/deps/npm/node_modules: semver | |
Only in node-v0.11.13/deps/npm/node_modules: sha | |
Only in node-v0.11.13/deps/npm/node_modules: slide | |
Only in node-v0.11.13/deps/npm/node_modules: sorted-object | |
Only in node-v0.11.13/deps/npm/node_modules: tar | |
Only in node-v0.11.13/deps/npm/node_modules: text-table | |
Only in node-v0.11.13/deps/npm/node_modules: uid-number | |
Only in node-v0.11.13/deps/npm/node_modules: which | |
Only in node-v0.11.13/deps/npm: package.json | |
Only in node-v0.11.13/deps/npm: scripts | |
Only in node-v0.11.13/deps/npm: test | |
Only in node-v0.11.13/deps/npm: wercker.yml | |
Only in node-v0.11.13/deps: openssl | |
Only in node-v0.11.13/deps/uv: .gitignore | |
Only in node-v0.11.13/deps/uv: .mailmap | |
Only in node-v0.11.13/deps/uv: AUTHORS | |
Only in node-v0.11.13/deps/uv: CONTRIBUTING.md | |
Only in node-v0.11.13/deps/uv: ChangeLog | |
Only in node-v0.11.13/deps/uv: LICENSE | |
Only in node-v0.11.13/deps/uv: Makefile.am | |
Only in node-v0.11.13/deps/uv: Makefile.mingw | |
Only in node-v0.11.13/deps/uv: README.md | |
Only in node-v0.11.13/deps/uv: android-configure | |
Only in node-v0.11.13/deps/uv: autogen.sh | |
Only in node-v0.11.13/deps/uv: checksparse.sh | |
Only in node-v0.11.13/deps/uv: configure.ac | |
Only in node-v0.11.13/deps/uv: gyp_uv.py | |
diff -d -r -u node-v0.11.13/deps/uv/include/uv.h node-v0.11.13_atom/deps/uv/include/uv.h | |
--- node-v0.11.13/deps/uv/include/uv.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/uv/include/uv.h 2014-07-21 08:42:02.000000000 -0700 | |
@@ -2224,6 +2224,8 @@ | |
struct uv_loop_s { | |
/* User data - use this for whatever. */ | |
void* data; | |
+ /* Callback when loop's watcher queue updates */ | |
+ void (*on_watcher_queue_updated)(uv_loop_t*); | |
/* Loop reference counting */ | |
unsigned int active_handles; | |
void* handle_queue[2]; | |
Only in node-v0.11.13/deps/uv: libuv.pc.in | |
Only in node-v0.11.13/deps/uv: m4 | |
Only in node-v0.11.13/deps/uv/samples: .gitignore | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: .gitignore | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: LICENSE | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: build.gyp | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: client.c | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: getopt.c | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: main.c | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: s5.c | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: server.c | |
Only in node-v0.11.13/deps/uv/samples/socks5-proxy: util.c | |
Only in node-v0.11.13/deps/uv/src: fs-poll.c | |
Only in node-v0.11.13/deps/uv/src: inet.c | |
Only in node-v0.11.13/deps/uv/src/unix: aix.c | |
Only in node-v0.11.13/deps/uv/src/unix: android-ifaddrs.c | |
Only in node-v0.11.13/deps/uv/src/unix: async.c | |
Only in node-v0.11.13/deps/uv/src/unix: core.c | |
Only in node-v0.11.13/deps/uv/src/unix: darwin-proctitle.c | |
Only in node-v0.11.13/deps/uv/src/unix: darwin.c | |
Only in node-v0.11.13/deps/uv/src/unix: dl.c | |
Only in node-v0.11.13/deps/uv/src/unix: freebsd.c | |
Only in node-v0.11.13/deps/uv/src/unix: fs.c | |
Only in node-v0.11.13/deps/uv/src/unix: fsevents.c | |
Only in node-v0.11.13/deps/uv/src/unix: getaddrinfo.c | |
Only in node-v0.11.13/deps/uv/src/unix: kqueue.c | |
Only in node-v0.11.13/deps/uv/src/unix: linux-core.c | |
Only in node-v0.11.13/deps/uv/src/unix: linux-inotify.c | |
Only in node-v0.11.13/deps/uv/src/unix: linux-syscalls.c | |
Only in node-v0.11.13/deps/uv/src/unix: loop-watcher.c | |
Only in node-v0.11.13/deps/uv/src/unix: loop.c | |
Only in node-v0.11.13/deps/uv/src/unix: netbsd.c | |
Only in node-v0.11.13/deps/uv/src/unix: openbsd.c | |
Only in node-v0.11.13/deps/uv/src/unix: pipe.c | |
Only in node-v0.11.13/deps/uv/src/unix: poll.c | |
Only in node-v0.11.13/deps/uv/src/unix: process.c | |
Only in node-v0.11.13/deps/uv/src/unix: proctitle.c | |
Only in node-v0.11.13/deps/uv/src/unix: pthread-fixes.c | |
Only in node-v0.11.13/deps/uv/src/unix: signal.c | |
Only in node-v0.11.13/deps/uv/src/unix: stream.c | |
Only in node-v0.11.13/deps/uv/src/unix: sunos.c | |
Only in node-v0.11.13/deps/uv/src/unix: tcp.c | |
Only in node-v0.11.13/deps/uv/src/unix: thread.c | |
Only in node-v0.11.13/deps/uv/src/unix: threadpool.c | |
Only in node-v0.11.13/deps/uv/src/unix: timer.c | |
Only in node-v0.11.13/deps/uv/src/unix: tty.c | |
Only in node-v0.11.13/deps/uv/src/unix: udp.c | |
Only in node-v0.11.13/deps/uv/src/unix: uv-dtrace.d | |
Only in node-v0.11.13/deps/uv/src: uv-common.c | |
Only in node-v0.11.13/deps/uv/src: version.c | |
Only in node-v0.11.13/deps/uv/src/win: async.c | |
Only in node-v0.11.13/deps/uv/src/win: core.c | |
Only in node-v0.11.13/deps/uv/src/win: dl.c | |
Only in node-v0.11.13/deps/uv/src/win: error.c | |
Only in node-v0.11.13/deps/uv/src/win: fs-event.c | |
Only in node-v0.11.13/deps/uv/src/win: fs.c | |
Only in node-v0.11.13/deps/uv/src/win: getaddrinfo.c | |
Only in node-v0.11.13/deps/uv/src/win: handle.c | |
Only in node-v0.11.13/deps/uv/src/win: loop-watcher.c | |
Only in node-v0.11.13/deps/uv/src/win: pipe.c | |
Only in node-v0.11.13/deps/uv/src/win: poll.c | |
Only in node-v0.11.13/deps/uv/src/win: process-stdio.c | |
Only in node-v0.11.13/deps/uv/src/win: process.c | |
Only in node-v0.11.13/deps/uv/src/win: req.c | |
Only in node-v0.11.13/deps/uv/src/win: signal.c | |
Only in node-v0.11.13/deps/uv/src/win: stream.c | |
Only in node-v0.11.13/deps/uv/src/win: tcp.c | |
Only in node-v0.11.13/deps/uv/src/win: thread.c | |
Only in node-v0.11.13/deps/uv/src/win: threadpool.c | |
Only in node-v0.11.13/deps/uv/src/win: timer.c | |
Only in node-v0.11.13/deps/uv/src/win: tty.c | |
Only in node-v0.11.13/deps/uv/src/win: udp.c | |
Only in node-v0.11.13/deps/uv/src/win: util.c | |
Only in node-v0.11.13/deps/uv/src/win: winapi.c | |
Only in node-v0.11.13/deps/uv/src/win: winsock.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-async-pummel.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-async.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-fs-stat.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-getaddrinfo.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-loop-count.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-million-async.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-million-timers.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-multi-accept.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-ping-pongs.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-pound.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-pump.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-sizes.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-spawn.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-tcp-write-batch.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-thread.c | |
Only in node-v0.11.13/deps/uv/test: benchmark-udp-pummel.c | |
Only in node-v0.11.13/deps/uv/test: blackhole-server.c | |
Only in node-v0.11.13/deps/uv/test: dns-server.c | |
Only in node-v0.11.13/deps/uv/test: echo-server.c | |
Only in node-v0.11.13/deps/uv/test: fixtures | |
Only in node-v0.11.13/deps/uv/test: run-benchmarks.c | |
Only in node-v0.11.13/deps/uv/test: run-tests.c | |
Only in node-v0.11.13/deps/uv/test: runner-unix.c | |
Only in node-v0.11.13/deps/uv/test: runner-win.c | |
Only in node-v0.11.13/deps/uv/test: runner.c | |
Only in node-v0.11.13/deps/uv/test: test-active.c | |
Only in node-v0.11.13/deps/uv/test: test-async-null-cb.c | |
Only in node-v0.11.13/deps/uv/test: test-async.c | |
Only in node-v0.11.13/deps/uv/test: test-barrier.c | |
Only in node-v0.11.13/deps/uv/test: test-callback-order.c | |
Only in node-v0.11.13/deps/uv/test: test-callback-stack.c | |
Only in node-v0.11.13/deps/uv/test: test-close-fd.c | |
Only in node-v0.11.13/deps/uv/test: test-close-order.c | |
Only in node-v0.11.13/deps/uv/test: test-condvar.c | |
Only in node-v0.11.13/deps/uv/test: test-connection-fail.c | |
Only in node-v0.11.13/deps/uv/test: test-cwd-and-chdir.c | |
Only in node-v0.11.13/deps/uv/test: test-delayed-accept.c | |
Only in node-v0.11.13/deps/uv/test: test-dlerror.c | |
Only in node-v0.11.13/deps/uv/test: test-embed.c | |
Only in node-v0.11.13/deps/uv/test: test-emfile.c | |
Only in node-v0.11.13/deps/uv/test: test-error.c | |
Only in node-v0.11.13/deps/uv/test: test-fail-always.c | |
Only in node-v0.11.13/deps/uv/test: test-fs-event.c | |
Only in node-v0.11.13/deps/uv/test: test-fs-poll.c | |
Only in node-v0.11.13/deps/uv/test: test-fs.c | |
Only in node-v0.11.13/deps/uv/test: test-get-currentexe.c | |
Only in node-v0.11.13/deps/uv/test: test-get-loadavg.c | |
Only in node-v0.11.13/deps/uv/test: test-get-memory.c | |
Only in node-v0.11.13/deps/uv/test: test-getaddrinfo.c | |
Only in node-v0.11.13/deps/uv/test: test-getsockname.c | |
Only in node-v0.11.13/deps/uv/test: test-hrtime.c | |
Only in node-v0.11.13/deps/uv/test: test-idle.c | |
Only in node-v0.11.13/deps/uv/test: test-ip4-addr.c | |
Only in node-v0.11.13/deps/uv/test: test-ip6-addr.c | |
Only in node-v0.11.13/deps/uv/test: test-ipc-send-recv.c | |
Only in node-v0.11.13/deps/uv/test: test-ipc.c | |
Only in node-v0.11.13/deps/uv/test: test-loop-alive.c | |
Only in node-v0.11.13/deps/uv/test: test-loop-close.c | |
Only in node-v0.11.13/deps/uv/test: test-loop-handles.c | |
Only in node-v0.11.13/deps/uv/test: test-loop-stop.c | |
Only in node-v0.11.13/deps/uv/test: test-loop-time.c | |
Only in node-v0.11.13/deps/uv/test: test-multiple-listen.c | |
Only in node-v0.11.13/deps/uv/test: test-mutexes.c | |
Only in node-v0.11.13/deps/uv/test: test-osx-select.c | |
Only in node-v0.11.13/deps/uv/test: test-pass-always.c | |
Only in node-v0.11.13/deps/uv/test: test-ping-pong.c | |
Only in node-v0.11.13/deps/uv/test: test-pipe-bind-error.c | |
Only in node-v0.11.13/deps/uv/test: test-pipe-connect-error.c | |
Only in node-v0.11.13/deps/uv/test: test-pipe-getsockname.c | |
Only in node-v0.11.13/deps/uv/test: test-pipe-sendmsg.c | |
Only in node-v0.11.13/deps/uv/test: test-pipe-server-close.c | |
Only in node-v0.11.13/deps/uv/test: test-platform-output.c | |
Only in node-v0.11.13/deps/uv/test: test-poll-close.c | |
Only in node-v0.11.13/deps/uv/test: test-poll.c | |
Only in node-v0.11.13/deps/uv/test: test-process-title.c | |
Only in node-v0.11.13/deps/uv/test: test-ref.c | |
Only in node-v0.11.13/deps/uv/test: test-run-nowait.c | |
Only in node-v0.11.13/deps/uv/test: test-run-once.c | |
Only in node-v0.11.13/deps/uv/test: test-semaphore.c | |
Only in node-v0.11.13/deps/uv/test: test-shutdown-close.c | |
Only in node-v0.11.13/deps/uv/test: test-shutdown-eof.c | |
Only in node-v0.11.13/deps/uv/test: test-shutdown-twice.c | |
Only in node-v0.11.13/deps/uv/test: test-signal-multiple-loops.c | |
Only in node-v0.11.13/deps/uv/test: test-signal.c | |
Only in node-v0.11.13/deps/uv/test: test-spawn.c | |
Only in node-v0.11.13/deps/uv/test: test-stdio-over-pipes.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-bind-error.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-bind6-error.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-close-accept.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-close-while-connecting.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-close.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-connect-error-after-write.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-connect-error.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-connect-timeout.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-connect6-error.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-flags.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-open.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-read-stop.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-shutdown-after-write.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-try-write.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-unexpected-read.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-write-to-half-open-connection.c | |
Only in node-v0.11.13/deps/uv/test: test-tcp-writealot.c | |
Only in node-v0.11.13/deps/uv/test: test-thread.c | |
Only in node-v0.11.13/deps/uv/test: test-threadpool-cancel.c | |
Only in node-v0.11.13/deps/uv/test: test-threadpool.c | |
Only in node-v0.11.13/deps/uv/test: test-timer-again.c | |
Only in node-v0.11.13/deps/uv/test: test-timer-from-check.c | |
Only in node-v0.11.13/deps/uv/test: test-timer.c | |
Only in node-v0.11.13/deps/uv/test: test-tty.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-bind.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-dgram-too-big.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-ipv6.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-multicast-interface.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-multicast-interface6.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-multicast-join.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-multicast-join6.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-multicast-ttl.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-open.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-options.c | |
Only in node-v0.11.13/deps/uv/test: test-udp-send-and-recv.c | |
Only in node-v0.11.13/deps/uv/test: test-walk-handles.c | |
Only in node-v0.11.13/deps/uv/test: test-watcher-cross-stop.c | |
Only in node-v0.11.13/deps/uv: uv.gyp | |
Only in node-v0.11.13/deps/uv: vcbuild.bat | |
Only in node-v0.11.13/deps/v8: .clang-format | |
Only in node-v0.11.13/deps/v8: .gitignore | |
Only in node-v0.11.13/deps/v8: AUTHORS | |
Only in node-v0.11.13/deps/v8: ChangeLog | |
Only in node-v0.11.13/deps/v8: DEPS | |
Only in node-v0.11.13/deps/v8: LICENSE | |
Only in node-v0.11.13/deps/v8: LICENSE.strongtalk | |
Only in node-v0.11.13/deps/v8: LICENSE.v8 | |
Only in node-v0.11.13/deps/v8: LICENSE.valgrind | |
Only in node-v0.11.13/deps/v8: Makefile | |
Only in node-v0.11.13/deps/v8: Makefile.android | |
Only in node-v0.11.13/deps/v8: Makefile.nacl | |
Only in node-v0.11.13/deps/v8: OWNERS | |
Only in node-v0.11.13/deps/v8: PRESUBMIT.py | |
Only in node-v0.11.13/deps/v8: WATCHLISTS | |
Only in node-v0.11.13/deps/v8: benchmarks | |
Only in node-v0.11.13/deps/v8: build | |
Only in node-v0.11.13/deps/v8: codereview.settings | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8-debug.h node-v0.11.13_atom/deps/v8/include/v8-debug.h | |
--- node-v0.11.13/deps/v8/include/v8-debug.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8-debug.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,29 +1,6 @@ | |
// Copyright 2008 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
#ifndef V8_V8_DEBUG_H_ | |
#define V8_V8_DEBUG_H_ | |
@@ -190,32 +167,28 @@ | |
Handle<Value> data = Handle<Value>()); | |
// Schedule a debugger break to happen when JavaScript code is run | |
- // in the given isolate. If no isolate is provided the default | |
- // isolate is used. | |
- static void DebugBreak(Isolate* isolate = NULL); | |
+ // in the given isolate. | |
+ static void DebugBreak(Isolate* isolate); | |
// Remove scheduled debugger break in given isolate if it has not | |
- // happened yet. If no isolate is provided the default isolate is | |
- // used. | |
- static void CancelDebugBreak(Isolate* isolate = NULL); | |
+ // happened yet. | |
+ static void CancelDebugBreak(Isolate* isolate); | |
// Break execution of JavaScript in the given isolate (this method | |
// can be invoked from a non-VM thread) for further client command | |
// execution on a VM thread. Client data is then passed in | |
// EventDetails to EventCallback2 at the moment when the VM actually | |
- // stops. If no isolate is provided the default isolate is used. | |
- static void DebugBreakForCommand(ClientData* data = NULL, | |
- Isolate* isolate = NULL); | |
+ // stops. | |
+ static void DebugBreakForCommand(Isolate* isolate, ClientData* data); | |
+ | |
+ // TODO(svenpanne) Remove this when Chrome is updated. | |
+ static void DebugBreakForCommand(ClientData* data, Isolate* isolate) { | |
+ DebugBreakForCommand(isolate, data); | |
+ } | |
// Message based interface. The message protocol is JSON. | |
static void SetMessageHandler2(MessageHandler2 handler); | |
- // If no isolate is provided the default isolate is | |
- // used. | |
- // TODO(dcarney): remove | |
- static void SendCommand(const uint16_t* command, int length, | |
- ClientData* client_data = NULL, | |
- Isolate* isolate = NULL); | |
static void SendCommand(Isolate* isolate, | |
const uint16_t* command, int length, | |
ClientData* client_data = NULL); | |
@@ -290,7 +263,7 @@ | |
* | |
* Generally when message arrives V8 may be in one of 3 states: | |
* 1. V8 is running script; V8 will automatically interrupt and process all | |
- * pending messages (however auto_break flag should be enabled); | |
+ * pending messages; | |
* 2. V8 is suspended on debug breakpoint; in this state V8 is dedicated | |
* to reading and processing debug messages; | |
* 3. V8 is not running at all or has called some long-working C++ function; | |
@@ -331,7 +304,12 @@ | |
* (default Isolate if not provided). V8 will abort if LiveEdit is | |
* unexpectedly used. LiveEdit is enabled by default. | |
*/ | |
- static void SetLiveEditEnabled(bool enable, Isolate* isolate = NULL); | |
+ static void SetLiveEditEnabled(Isolate* isolate, bool enable); | |
+ | |
+ // TODO(svenpanne) Remove this when Chrome is updated. | |
+ static void SetLiveEditEnabled(bool enable, Isolate* isolate) { | |
+ SetLiveEditEnabled(isolate, enable); | |
+ } | |
}; | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8-platform.h node-v0.11.13_atom/deps/v8/include/v8-platform.h | |
--- node-v0.11.13/deps/v8/include/v8-platform.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8-platform.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,29 +1,6 @@ | |
// Copyright 2013 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
#ifndef V8_V8_PLATFORM_H_ | |
#define V8_V8_PLATFORM_H_ | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8-profiler.h node-v0.11.13_atom/deps/v8/include/v8-profiler.h | |
--- node-v0.11.13/deps/v8/include/v8-profiler.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8-profiler.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,29 +1,6 @@ | |
// Copyright 2010 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
#ifndef V8_V8_PROFILER_H_ | |
#define V8_V8_PROFILER_H_ | |
@@ -106,27 +83,35 @@ | |
const CpuProfileNode* GetTopDownRoot() const; | |
/** | |
- * Returns number of samples recorded. The samples are not recorded unless | |
- * |record_samples| parameter of CpuProfiler::StartCpuProfiling is true. | |
- */ | |
+ * Returns number of samples recorded. The samples are not recorded unless | |
+ * |record_samples| parameter of CpuProfiler::StartCpuProfiling is true. | |
+ */ | |
int GetSamplesCount() const; | |
/** | |
- * Returns profile node corresponding to the top frame the sample at | |
- * the given index. | |
- */ | |
+ * Returns profile node corresponding to the top frame the sample at | |
+ * the given index. | |
+ */ | |
const CpuProfileNode* GetSample(int index) const; | |
/** | |
- * Returns time when the profile recording started (in microseconds | |
- * since the Epoch). | |
- */ | |
+ * Returns the timestamp of the sample. The timestamp is the number of | |
+ * microseconds since some unspecified starting point. | |
+ * The point is equal to the starting point used by GetStartTime. | |
+ */ | |
+ int64_t GetSampleTimestamp(int index) const; | |
+ | |
+ /** | |
+ * Returns time when the profile recording was started (in microseconds) | |
+ * since some unspecified starting point. | |
+ */ | |
int64_t GetStartTime() const; | |
/** | |
- * Returns time when the profile recording was stopped (in microseconds | |
- * since the Epoch). | |
- */ | |
+ * Returns time when the profile recording was stopped (in microseconds) | |
+ * since some unspecified starting point. | |
+ * The point is equal to the starting point used by GetStartTime. | |
+ */ | |
int64_t GetEndTime() const; | |
/** | |
@@ -164,7 +149,9 @@ | |
void StartProfiling(Handle<String> title, bool record_samples = false); | |
/** Deprecated. Use StartProfiling instead. */ | |
- void StartCpuProfiling(Handle<String> title, bool record_samples = false); | |
+ V8_DEPRECATED("Use StartProfiling", | |
+ void StartCpuProfiling(Handle<String> title, | |
+ bool record_samples = false)); | |
/** | |
* Stops collecting CPU profile with a given title and returns it. | |
@@ -173,7 +160,8 @@ | |
CpuProfile* StopProfiling(Handle<String> title); | |
/** Deprecated. Use StopProfiling instead. */ | |
- const CpuProfile* StopCpuProfiling(Handle<String> title); | |
+ V8_DEPRECATED("Use StopProfiling", | |
+ const CpuProfile* StopCpuProfiling(Handle<String> title)); | |
/** | |
* Tells the profiler whether the embedder is idle. | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8-testing.h node-v0.11.13_atom/deps/v8/include/v8-testing.h | |
--- node-v0.11.13/deps/v8/include/v8-testing.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8-testing.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,29 +1,6 @@ | |
// Copyright 2010 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
#ifndef V8_V8_TEST_H_ | |
#define V8_V8_TEST_H_ | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8-util.h node-v0.11.13_atom/deps/v8/include/v8-util.h | |
--- node-v0.11.13/deps/v8/include/v8-util.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8-util.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,35 +1,13 @@ | |
// Copyright 2014 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
#ifndef V8_UTIL_H_ | |
#define V8_UTIL_H_ | |
#include "v8.h" | |
#include <map> | |
+#include <vector> | |
/** | |
* Support for Persistent containers. | |
@@ -42,6 +20,10 @@ | |
typedef uintptr_t PersistentContainerValue; | |
static const uintptr_t kPersistentContainerNotFound = 0; | |
+enum PersistentContainerCallbackType { | |
+ kNotWeak, | |
+ kWeak | |
+}; | |
/** | |
@@ -92,38 +74,34 @@ | |
/** | |
* A default trait implementation for PersistentValueMap, which inherits | |
* a std:map backing map from StdMapTraits and holds non-weak persistent | |
- * objects. | |
+ * objects and has no special Dispose handling. | |
* | |
- * Users have to implement their own dispose trait. | |
+ * You should not derive from this class, since MapType depends on the | |
+ * surrounding class, and hence a subclass cannot simply inherit the methods. | |
*/ | |
template<typename K, typename V> | |
-class StrongMapTraits : public StdMapTraits<K, V> { | |
+class DefaultPersistentValueMapTraits : public StdMapTraits<K, V> { | |
public: | |
// Weak callback & friends: | |
- static const bool kIsWeak = false; | |
- typedef typename StdMapTraits<K, V>::Impl Impl; | |
+ static const PersistentContainerCallbackType kCallbackType = kNotWeak; | |
+ typedef PersistentValueMap<K, V, DefaultPersistentValueMapTraits<K, V> > | |
+ MapType; | |
typedef void WeakCallbackDataType; | |
+ | |
static WeakCallbackDataType* WeakCallbackParameter( | |
- Impl* impl, const K& key, Local<V> value); | |
- static Impl* ImplFromWeakCallbackData( | |
- const WeakCallbackData<V, WeakCallbackDataType>& data); | |
+ MapType* map, const K& key, Local<V> value) { | |
+ return NULL; | |
+ } | |
+ static MapType* MapFromWeakCallbackData( | |
+ const WeakCallbackData<V, WeakCallbackDataType>& data) { | |
+ return NULL; | |
+ } | |
static K KeyFromWeakCallbackData( | |
- const WeakCallbackData<V, WeakCallbackDataType>& data); | |
- static void DisposeCallbackData(WeakCallbackDataType* data); | |
-}; | |
- | |
- | |
-/** | |
- * A default trait implementation for PersistentValueMap, with a std::map | |
- * backing map, non-weak persistents as values, and no special dispose | |
- * handling. Can be used as-is. | |
- */ | |
-template<typename K, typename V> | |
-class DefaultPersistentValueMapTraits : public StrongMapTraits<K, V> { | |
- public: | |
- typedef typename StrongMapTraits<K, V>::Impl Impl; | |
- static void Dispose(Isolate* isolate, UniquePersistent<V> value, | |
- Impl* impl, K key) { } | |
+ const WeakCallbackData<V, WeakCallbackDataType>& data) { | |
+ return K(); | |
+ } | |
+ static void DisposeCallbackData(WeakCallbackDataType* data) { } | |
+ static void Dispose(Isolate* isolate, UniquePersistent<V> value, K key) { } | |
}; | |
@@ -140,55 +118,49 @@ | |
template<typename K, typename V, typename Traits> | |
class PersistentValueMap { | |
public: | |
- V8_INLINE explicit PersistentValueMap(Isolate* isolate) : isolate_(isolate) {} | |
+ explicit PersistentValueMap(Isolate* isolate) : isolate_(isolate) {} | |
- V8_INLINE ~PersistentValueMap() { Clear(); } | |
+ ~PersistentValueMap() { Clear(); } | |
- V8_INLINE Isolate* GetIsolate() { return isolate_; } | |
+ Isolate* GetIsolate() { return isolate_; } | |
/** | |
* Return size of the map. | |
*/ | |
- V8_INLINE size_t Size() { return Traits::Size(&impl_); } | |
+ size_t Size() { return Traits::Size(&impl_); } | |
/** | |
* Return whether the map holds weak persistents. | |
*/ | |
- V8_INLINE bool IsWeak() { return Traits::kIsWeak; } | |
+ bool IsWeak() { return Traits::kCallbackType != kNotWeak; } | |
/** | |
* Get value stored in map. | |
*/ | |
- V8_INLINE Local<V> Get(const K& key) { | |
+ Local<V> Get(const K& key) { | |
return Local<V>::New(isolate_, FromVal(Traits::Get(&impl_, key))); | |
} | |
/** | |
* Check whether a value is contained in the map. | |
*/ | |
- V8_INLINE bool Contains(const K& key) { | |
- return Traits::Get(&impl_, key) != 0; | |
+ bool Contains(const K& key) { | |
+ return Traits::Get(&impl_, key) != kPersistentContainerNotFound; | |
} | |
/** | |
* Get value stored in map and set it in returnValue. | |
* Return true if a value was found. | |
*/ | |
- V8_INLINE bool SetReturnValue(const K& key, | |
- ReturnValue<Value>& returnValue) { | |
- PersistentContainerValue value = Traits::Get(&impl_, key); | |
- bool hasValue = value != 0; | |
- if (hasValue) { | |
- returnValue.SetInternal( | |
- *reinterpret_cast<internal::Object**>(FromVal(value))); | |
- } | |
- return hasValue; | |
+ bool SetReturnValue(const K& key, | |
+ ReturnValue<Value> returnValue) { | |
+ return SetReturnValueFromVal(returnValue, Traits::Get(&impl_, key)); | |
} | |
/** | |
* Call Isolate::SetReference with the given parent and the map value. | |
*/ | |
- V8_INLINE void SetReference(const K& key, | |
+ void SetReference(const K& key, | |
const Persistent<Object>& parent) { | |
GetIsolate()->SetReference( | |
reinterpret_cast<internal::Object**>(parent.val_), | |
@@ -215,7 +187,7 @@ | |
/** | |
* Return value for key and remove it from the map. | |
*/ | |
- V8_INLINE UniquePersistent<V> Remove(const K& key) { | |
+ UniquePersistent<V> Remove(const K& key) { | |
return Release(Traits::Remove(&impl_, key)).Pass(); | |
} | |
@@ -231,12 +203,76 @@ | |
typename Traits::Impl impl; | |
Traits::Swap(impl_, impl); | |
for (It i = Traits::Begin(&impl); i != Traits::End(&impl); ++i) { | |
- Traits::Dispose(isolate_, Release(Traits::Value(i)).Pass(), &impl, | |
- Traits::Key(i)); | |
+ Traits::Dispose(isolate_, Release(Traits::Value(i)).Pass(), | |
+ Traits::Key(i)); | |
} | |
} | |
} | |
+ /** | |
+ * Helper class for GetReference/SetWithReference. Do not use outside | |
+ * that context. | |
+ */ | |
+ class PersistentValueReference { | |
+ public: | |
+ PersistentValueReference() : value_(kPersistentContainerNotFound) { } | |
+ PersistentValueReference(const PersistentValueReference& other) | |
+ : value_(other.value_) { } | |
+ | |
+ Local<V> NewLocal(Isolate* isolate) const { | |
+ return Local<V>::New(isolate, FromVal(value_)); | |
+ } | |
+ bool IsEmpty() const { | |
+ return value_ == kPersistentContainerNotFound; | |
+ } | |
+ template<typename T> | |
+ bool SetReturnValue(ReturnValue<T> returnValue) { | |
+ return SetReturnValueFromVal(returnValue, value_); | |
+ } | |
+ void Reset() { | |
+ value_ = kPersistentContainerNotFound; | |
+ } | |
+ void operator=(const PersistentValueReference& other) { | |
+ value_ = other.value_; | |
+ } | |
+ | |
+ private: | |
+ friend class PersistentValueMap; | |
+ | |
+ explicit PersistentValueReference(PersistentContainerValue value) | |
+ : value_(value) { } | |
+ | |
+ void operator=(PersistentContainerValue value) { | |
+ value_ = value; | |
+ } | |
+ | |
+ PersistentContainerValue value_; | |
+ }; | |
+ | |
+ /** | |
+ * Get a reference to a map value. This enables fast, repeated access | |
+ * to a value stored in the map while the map remains unchanged. | |
+ * | |
+ * Careful: This is potentially unsafe, so please use with care. | |
+ * The value will become invalid if the value for this key changes | |
+ * in the underlying map, as a result of Set or Remove for the same | |
+ * key; as a result of the weak callback for the same key; or as a | |
+ * result of calling Clear() or destruction of the map. | |
+ */ | |
+ PersistentValueReference GetReference(const K& key) { | |
+ return PersistentValueReference(Traits::Get(&impl_, key)); | |
+ } | |
+ | |
+ /** | |
+ * Put a value into the map and update the reference. | |
+ * Restrictions of GetReference apply here as well. | |
+ */ | |
+ UniquePersistent<V> Set(const K& key, UniquePersistent<V> value, | |
+ PersistentValueReference* reference) { | |
+ *reference = Leak(&value); | |
+ return SetUnique(key, &value); | |
+ } | |
+ | |
private: | |
PersistentValueMap(PersistentValueMap&); | |
void operator=(PersistentValueMap&); | |
@@ -246,10 +282,10 @@ | |
* by the Traits class. | |
*/ | |
UniquePersistent<V> SetUnique(const K& key, UniquePersistent<V>* persistent) { | |
- if (Traits::kIsWeak) { | |
+ if (Traits::kCallbackType != kNotWeak) { | |
Local<V> value(Local<V>::New(isolate_, *persistent)); | |
persistent->template SetWeak<typename Traits::WeakCallbackDataType>( | |
- Traits::WeakCallbackParameter(&impl_, key, value), WeakCallback); | |
+ Traits::WeakCallbackParameter(this, key, value), WeakCallback); | |
} | |
PersistentContainerValue old_value = | |
Traits::Set(&impl_, key, ClearAndLeak(persistent)); | |
@@ -258,34 +294,50 @@ | |
static void WeakCallback( | |
const WeakCallbackData<V, typename Traits::WeakCallbackDataType>& data) { | |
- if (Traits::kIsWeak) { | |
- typename Traits::Impl* impl = Traits::ImplFromWeakCallbackData(data); | |
+ if (Traits::kCallbackType != kNotWeak) { | |
+ PersistentValueMap<K, V, Traits>* persistentValueMap = | |
+ Traits::MapFromWeakCallbackData(data); | |
K key = Traits::KeyFromWeakCallbackData(data); | |
- PersistentContainerValue value = Traits::Remove(impl, key); | |
- Traits::Dispose(data.GetIsolate(), Release(value).Pass(), impl, key); | |
+ Traits::Dispose(data.GetIsolate(), | |
+ persistentValueMap->Remove(key).Pass(), key); | |
} | |
} | |
- V8_INLINE static V* FromVal(PersistentContainerValue v) { | |
+ static V* FromVal(PersistentContainerValue v) { | |
return reinterpret_cast<V*>(v); | |
} | |
- V8_INLINE static PersistentContainerValue ClearAndLeak( | |
+ static bool SetReturnValueFromVal( | |
+ ReturnValue<Value>& returnValue, PersistentContainerValue value) { | |
+ bool hasValue = value != kPersistentContainerNotFound; | |
+ if (hasValue) { | |
+ returnValue.SetInternal( | |
+ *reinterpret_cast<internal::Object**>(FromVal(value))); | |
+ } | |
+ return hasValue; | |
+ } | |
+ | |
+ static PersistentContainerValue ClearAndLeak( | |
UniquePersistent<V>* persistent) { | |
V* v = persistent->val_; | |
persistent->val_ = 0; | |
return reinterpret_cast<PersistentContainerValue>(v); | |
} | |
+ static PersistentContainerValue Leak( | |
+ UniquePersistent<V>* persistent) { | |
+ return reinterpret_cast<PersistentContainerValue>(persistent->val_); | |
+ } | |
+ | |
/** | |
* Return a container value as UniquePersistent and make sure the weak | |
* callback is properly disposed of. All remove functionality should go | |
* through this. | |
*/ | |
- V8_INLINE static UniquePersistent<V> Release(PersistentContainerValue v) { | |
+ static UniquePersistent<V> Release(PersistentContainerValue v) { | |
UniquePersistent<V> p; | |
p.val_ = FromVal(v); | |
- if (Traits::kIsWeak && !p.IsEmpty()) { | |
+ if (Traits::kCallbackType != kNotWeak && !p.IsEmpty()) { | |
Traits::DisposeCallbackData( | |
p.template ClearWeak<typename Traits::WeakCallbackDataType>()); | |
} | |
@@ -313,42 +365,121 @@ | |
}; | |
+class DefaultPersistentValueVectorTraits { | |
+ public: | |
+ typedef std::vector<PersistentContainerValue> Impl; | |
+ | |
+ static void Append(Impl* impl, PersistentContainerValue value) { | |
+ impl->push_back(value); | |
+ } | |
+ static bool IsEmpty(const Impl* impl) { | |
+ return impl->empty(); | |
+ } | |
+ static size_t Size(const Impl* impl) { | |
+ return impl->size(); | |
+ } | |
+ static PersistentContainerValue Get(const Impl* impl, size_t i) { | |
+ return (i < impl->size()) ? impl->at(i) : kPersistentContainerNotFound; | |
+ } | |
+ static void ReserveCapacity(Impl* impl, size_t capacity) { | |
+ impl->reserve(capacity); | |
+ } | |
+ static void Clear(Impl* impl) { | |
+ impl->clear(); | |
+ } | |
+}; | |
+ | |
+ | |
/** | |
- * Empty default implementations for StrongTraits methods. | |
- * | |
- * These should not be necessary, since they're only used in code that | |
- * is surrounded by if(Traits::kIsWeak), which for StrongMapTraits is | |
- * compile-time false. Most compilers can live without them; however | |
- * the compiler we use from 64-bit Win differs. | |
+ * A vector wrapper that safely stores UniquePersistent values. | |
+ * C++11 embedders don't need this class, as they can use UniquePersistent | |
+ * directly in std containers. | |
* | |
- * TODO(vogelheim): Remove these once they're no longer necessary. | |
+ * This class relies on a backing vector implementation, whose type and methods | |
+ * are described by the Traits class. The backing map will handle values of type | |
+ * PersistentContainerValue, with all conversion into and out of V8 | |
+ * handles being transparently handled by this class. | |
*/ | |
-template<typename K, typename V> | |
-typename StrongMapTraits<K, V>::WeakCallbackDataType* | |
- StrongMapTraits<K, V>::WeakCallbackParameter( | |
- Impl* impl, const K& key, Local<V> value) { | |
- return NULL; | |
-} | |
+template<typename V, typename Traits = DefaultPersistentValueVectorTraits> | |
+class PersistentValueVector { | |
+ public: | |
+ explicit PersistentValueVector(Isolate* isolate) : isolate_(isolate) { } | |
+ ~PersistentValueVector() { | |
+ Clear(); | |
+ } | |
-template<typename K, typename V> | |
-typename StrongMapTraits<K, V>::Impl* | |
- StrongMapTraits<K, V>::ImplFromWeakCallbackData( | |
- const WeakCallbackData<V, WeakCallbackDataType>& data) { | |
- return NULL; | |
-} | |
+ /** | |
+ * Append a value to the vector. | |
+ */ | |
+ void Append(Local<V> value) { | |
+ UniquePersistent<V> persistent(isolate_, value); | |
+ Traits::Append(&impl_, ClearAndLeak(&persistent)); | |
+ } | |
+ /** | |
+ * Append a persistent's value to the vector. | |
+ */ | |
+ void Append(UniquePersistent<V> persistent) { | |
+ Traits::Append(&impl_, ClearAndLeak(&persistent)); | |
+ }; | |
-template<typename K, typename V> | |
-K StrongMapTraits<K, V>::KeyFromWeakCallbackData( | |
- const WeakCallbackData<V, WeakCallbackDataType>& data) { | |
- return K(); | |
-} | |
+ /** | |
+ * Are there any values in the vector? | |
+ */ | |
+ bool IsEmpty() const { | |
+ return Traits::IsEmpty(&impl_); | |
+ } | |
+ /** | |
+ * How many elements are in the vector? | |
+ */ | |
+ size_t Size() const { | |
+ return Traits::Size(&impl_); | |
+ } | |
-template<typename K, typename V> | |
-void StrongMapTraits<K, V>::DisposeCallbackData(WeakCallbackDataType* data) { | |
-} | |
+ /** | |
+ * Retrieve the i-th value in the vector. | |
+ */ | |
+ Local<V> Get(size_t index) const { | |
+ return Local<V>::New(isolate_, FromVal(Traits::Get(&impl_, index))); | |
+ } | |
+ | |
+ /** | |
+ * Remove all elements from the vector. | |
+ */ | |
+ void Clear() { | |
+ size_t length = Traits::Size(&impl_); | |
+ for (size_t i = 0; i < length; i++) { | |
+ UniquePersistent<V> p; | |
+ p.val_ = FromVal(Traits::Get(&impl_, i)); | |
+ } | |
+ Traits::Clear(&impl_); | |
+ } | |
+ | |
+ /** | |
+ * Reserve capacity in the vector. | |
+ * (Efficiency gains depend on the backing implementation.) | |
+ */ | |
+ void ReserveCapacity(size_t capacity) { | |
+ Traits::ReserveCapacity(&impl_, capacity); | |
+ } | |
+ | |
+ private: | |
+ static PersistentContainerValue ClearAndLeak( | |
+ UniquePersistent<V>* persistent) { | |
+ V* v = persistent->val_; | |
+ persistent->val_ = 0; | |
+ return reinterpret_cast<PersistentContainerValue>(v); | |
+ } | |
+ | |
+ static V* FromVal(PersistentContainerValue v) { | |
+ return reinterpret_cast<V*>(v); | |
+ } | |
+ | |
+ Isolate* isolate_; | |
+ typename Traits::Impl impl_; | |
+}; | |
} // namespace v8 | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8.h node-v0.11.13_atom/deps/v8/include/v8.h | |
--- node-v0.11.13/deps/v8/include/v8.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,29 +1,6 @@ | |
// Copyright 2012 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
/** \mainpage V8 API Reference Guide | |
* | |
@@ -129,6 +106,7 @@ | |
class M = NonCopyablePersistentTraits<T> > class Persistent; | |
template<class T> class UniquePersistent; | |
template<class K, class V, class T> class PersistentValueMap; | |
+template<class V, class T> class PersistentValueVector; | |
template<class T, class P> class WeakCallbackObject; | |
class FunctionTemplate; | |
class ObjectTemplate; | |
@@ -315,15 +293,6 @@ | |
return New(isolate, that.val_); | |
} | |
-#ifndef V8_ALLOW_ACCESS_TO_RAW_HANDLE_CONSTRUCTOR | |
- | |
- private: | |
-#endif | |
- /** | |
- * Creates a new handle for the specified value. | |
- */ | |
- V8_INLINE explicit Handle(T* val) : val_(val) {} | |
- | |
private: | |
friend class Utils; | |
template<class F, class M> friend class Persistent; | |
@@ -342,6 +311,11 @@ | |
friend class Object; | |
friend class Private; | |
+ /** | |
+ * Creates a new handle for the specified value. | |
+ */ | |
+ V8_INLINE explicit Handle(T* val) : val_(val) {} | |
+ | |
V8_INLINE static Handle<T> New(Isolate* isolate, T* that); | |
T* val_; | |
@@ -395,12 +369,6 @@ | |
V8_INLINE static Local<T> New(Isolate* isolate, | |
const PersistentBase<T>& that); | |
-#ifndef V8_ALLOW_ACCESS_TO_RAW_HANDLE_CONSTRUCTOR | |
- | |
- private: | |
-#endif | |
- template <class S> V8_INLINE Local(S* that) : Handle<T>(that) { } | |
- | |
private: | |
friend class Utils; | |
template<class F> friend class Eternal; | |
@@ -417,7 +385,9 @@ | |
friend class HandleScope; | |
friend class EscapableHandleScope; | |
template<class F1, class F2, class F3> friend class PersistentValueMap; | |
+ template<class F1, class F2> friend class PersistentValueVector; | |
+ template <class S> V8_INLINE Local(S* that) : Handle<T>(that) { } | |
V8_INLINE static Local<T> New(Isolate* isolate, T* that); | |
}; | |
@@ -522,6 +492,13 @@ | |
return !operator==(that); | |
} | |
+ /** | |
+ * Install a finalization callback on this object. | |
+ * NOTE: There is no guarantee as to *when* or even *if* the callback is | |
+ * invoked. The invocation is performed solely on a best effort basis. | |
+ * As always, GC-based finalization should *not* be relied upon for any | |
+ * critical form of resource management! | |
+ */ | |
template<typename P> | |
V8_INLINE void SetWeak( | |
P* parameter, | |
@@ -586,6 +563,7 @@ | |
template<class F> friend class PersistentBase; | |
template<class F> friend class ReturnValue; | |
template<class F1, class F2, class F3> friend class PersistentValueMap; | |
+ template<class F1, class F2> friend class PersistentValueVector; | |
friend class Object; | |
explicit V8_INLINE PersistentBase(T* val) : val_(val) {} | |
@@ -719,15 +697,6 @@ | |
// This will be removed. | |
V8_INLINE T* ClearAndLeak(); | |
- // TODO(dcarney): remove | |
-#ifndef V8_ALLOW_ACCESS_TO_RAW_HANDLE_CONSTRUCTOR | |
- | |
- private: | |
-#endif | |
- template <class S> V8_INLINE Persistent(S* that) : PersistentBase<T>(that) { } | |
- | |
- V8_INLINE T* operator*() const { return this->val_; } | |
- | |
private: | |
friend class Isolate; | |
friend class Utils; | |
@@ -736,6 +705,8 @@ | |
template<class F1, class F2> friend class Persistent; | |
template<class F> friend class ReturnValue; | |
+ template <class S> V8_INLINE Persistent(S* that) : PersistentBase<T>(that) { } | |
+ V8_INLINE T* operator*() const { return this->val_; } | |
template<class S, class M2> | |
V8_INLINE void Copy(const Persistent<S, M2>& that); | |
}; | |
@@ -804,7 +775,7 @@ | |
/** | |
* Pass allows returning uniques from functions, etc. | |
*/ | |
- V8_INLINE UniquePersistent Pass() { return UniquePersistent(RValue(this)); } | |
+ UniquePersistent Pass() { return UniquePersistent(RValue(this)); } | |
private: | |
UniquePersistent(UniquePersistent&); | |
@@ -937,53 +908,6 @@ | |
/** | |
- * Pre-compilation data that can be associated with a script. This | |
- * data can be calculated for a script in advance of actually | |
- * compiling it, and can be stored between compilations. When script | |
- * data is given to the compile method compilation will be faster. | |
- */ | |
-class V8_EXPORT ScriptData { // NOLINT | |
- public: | |
- virtual ~ScriptData() { } | |
- | |
- /** | |
- * Pre-compiles the specified script (context-independent). | |
- * | |
- * NOTE: Pre-compilation using this method cannot happen on another thread | |
- * without using Lockers. | |
- * | |
- * \param source Script source code. | |
- */ | |
- static ScriptData* PreCompile(Handle<String> source); | |
- | |
- /** | |
- * Load previous pre-compilation data. | |
- * | |
- * \param data Pointer to data returned by a call to Data() of a previous | |
- * ScriptData. Ownership is not transferred. | |
- * \param length Length of data. | |
- */ | |
- static ScriptData* New(const char* data, int length); | |
- | |
- /** | |
- * Returns the length of Data(). | |
- */ | |
- virtual int Length() = 0; | |
- | |
- /** | |
- * Returns a serialized representation of this ScriptData that can later be | |
- * passed to New(). NOTE: Serialized data is platform-dependent. | |
- */ | |
- virtual const char* Data() = 0; | |
- | |
- /** | |
- * Returns true if the source code could not be parsed. | |
- */ | |
- virtual bool HasError() = 0; | |
-}; | |
- | |
- | |
-/** | |
* The origin, within a file, of a script. | |
*/ | |
class ScriptOrigin { | |
@@ -1040,12 +964,9 @@ | |
public: | |
/** | |
* A shorthand for ScriptCompiler::Compile(). | |
- * The ScriptData parameter will be deprecated; use ScriptCompiler::Compile if | |
- * you want to pass it. | |
*/ | |
static Local<Script> Compile(Handle<String> source, | |
- ScriptOrigin* origin = NULL, | |
- ScriptData* script_data = NULL); | |
+ ScriptOrigin* origin = NULL); | |
// To be decprecated, use the Compile above. | |
static Local<Script> Compile(Handle<String> source, | |
@@ -1210,12 +1131,6 @@ | |
Handle<Value> GetScriptResourceName() const; | |
/** | |
- * Returns the resource data for the script from where the function causing | |
- * the error originates. | |
- */ | |
- Handle<Value> GetScriptData() const; | |
- | |
- /** | |
* Exception stack trace. By default stack traces are not captured for | |
* uncaught exceptions. SetCaptureStackTraceForUncaughtExceptions allows | |
* to change this option. | |
@@ -2578,7 +2493,7 @@ | |
public: | |
V8_INLINE Isolate* GetIsolate() const; | |
V8_INLINE Local<Value> Data() const; | |
- V8_INLINE Local<Object> This() const; | |
+ V8_INLINE Local<Value> This() const; | |
V8_INLINE Local<Object> Holder() const; | |
V8_INLINE ReturnValue<T> GetReturnValue() const; | |
// This shouldn't be public, but the arm compiler needs it. | |
@@ -3941,14 +3856,17 @@ | |
* | |
* \param physical_memory The total amount of physical memory on the current | |
* device, in bytes. | |
+ * \param virtual_memory_limit The amount of virtual memory on the current | |
+ * device, in bytes, or zero, if there is no limit. | |
* \param number_of_processors The number of CPUs available on the current | |
* device. | |
*/ | |
void ConfigureDefaults(uint64_t physical_memory, | |
+ uint64_t virtual_memory_limit, | |
uint32_t number_of_processors); | |
- int max_young_space_size() const { return max_young_space_size_; } | |
- void set_max_young_space_size(int value) { max_young_space_size_ = value; } | |
+ int max_new_space_size() const { return max_new_space_size_; } | |
+ void set_max_new_space_size(int value) { max_new_space_size_ = value; } | |
int max_old_space_size() const { return max_old_space_size_; } | |
void set_max_old_space_size(int value) { max_old_space_size_ = value; } | |
int max_executable_size() const { return max_executable_size_; } | |
@@ -3961,13 +3879,18 @@ | |
void set_max_available_threads(int value) { | |
max_available_threads_ = value; | |
} | |
+ int code_range_size() const { return code_range_size_; } | |
+ void set_code_range_size(int value) { | |
+ code_range_size_ = value; | |
+ } | |
private: | |
- int max_young_space_size_; | |
+ int max_new_space_size_; | |
int max_old_space_size_; | |
int max_executable_size_; | |
uint32_t* stack_limit_; | |
int max_available_threads_; | |
+ int code_range_size_; | |
}; | |
@@ -4147,7 +4070,7 @@ | |
/** | |
* Assert that no Javascript code is invoked. | |
*/ | |
- class DisallowJavascriptExecutionScope { | |
+ class V8_EXPORT DisallowJavascriptExecutionScope { | |
public: | |
enum OnFailure { CRASH_ON_FAILURE, THROW_ON_FAILURE }; | |
@@ -4168,7 +4091,7 @@ | |
/** | |
* Introduce exception to DisallowJavascriptExecutionScope. | |
*/ | |
- class AllowJavascriptExecutionScope { | |
+ class V8_EXPORT AllowJavascriptExecutionScope { | |
public: | |
explicit AllowJavascriptExecutionScope(Isolate* isolate); | |
~AllowJavascriptExecutionScope(); | |
@@ -4184,6 +4107,24 @@ | |
}; | |
/** | |
+ * Do not run microtasks while this scope is active, even if microtasks are | |
+ * automatically executed otherwise. | |
+ */ | |
+ class V8_EXPORT SuppressMicrotaskExecutionScope { | |
+ public: | |
+ explicit SuppressMicrotaskExecutionScope(Isolate* isolate); | |
+ ~SuppressMicrotaskExecutionScope(); | |
+ | |
+ private: | |
+ internal::Isolate* isolate_; | |
+ | |
+ // Prevent copying of Scope objects. | |
+ SuppressMicrotaskExecutionScope(const SuppressMicrotaskExecutionScope&); | |
+ SuppressMicrotaskExecutionScope& operator=( | |
+ const SuppressMicrotaskExecutionScope&); | |
+ }; | |
+ | |
+ /** | |
* Types of garbage collections that can be requested via | |
* RequestGarbageCollectionForTesting. | |
*/ | |
@@ -4418,6 +4359,36 @@ | |
*/ | |
void SetEventLogger(LogEventCallback that); | |
+ /** | |
+ * Adds a callback to notify the host application when a script finished | |
+ * running. If a script re-enters the runtime during executing, the | |
+ * CallCompletedCallback is only invoked when the outer-most script | |
+ * execution ends. Executing scripts inside the callback do not trigger | |
+ * further callbacks. | |
+ */ | |
+ void AddCallCompletedCallback(CallCompletedCallback callback); | |
+ | |
+ /** | |
+ * Removes callback that was installed by AddCallCompletedCallback. | |
+ */ | |
+ void RemoveCallCompletedCallback(CallCompletedCallback callback); | |
+ | |
+ /** | |
+ * Experimental: Runs the Microtask Work Queue until empty | |
+ */ | |
+ void RunMicrotasks(); | |
+ | |
+ /** | |
+ * Experimental: Enqueues the callback to the Microtask Work Queue | |
+ */ | |
+ void EnqueueMicrotask(Handle<Function> microtask); | |
+ | |
+ /** | |
+ * Experimental: Controls whether the Microtask Work Queue is automatically | |
+ * run when the script call depth decrements to zero. | |
+ */ | |
+ void SetAutorunMicrotasks(bool autorun); | |
+ | |
private: | |
template<class K, class V, class Traits> friend class PersistentValueMap; | |
@@ -4780,32 +4751,24 @@ | |
static void RemoveMemoryAllocationCallback(MemoryAllocationCallback callback); | |
/** | |
- * Adds a callback to notify the host application when a script finished | |
- * running. If a script re-enters the runtime during executing, the | |
- * CallCompletedCallback is only invoked when the outer-most script | |
- * execution ends. Executing scripts inside the callback do not trigger | |
- * further callbacks. | |
- */ | |
- static void AddCallCompletedCallback(CallCompletedCallback callback); | |
- | |
- /** | |
- * Removes callback that was installed by AddCallCompletedCallback. | |
- */ | |
- static void RemoveCallCompletedCallback(CallCompletedCallback callback); | |
- | |
- /** | |
* Experimental: Runs the Microtask Work Queue until empty | |
+ * | |
+ * Deprecated: Use methods on Isolate instead. | |
*/ | |
static void RunMicrotasks(Isolate* isolate); | |
/** | |
* Experimental: Enqueues the callback to the Microtask Work Queue | |
+ * | |
+ * Deprecated: Use methods on Isolate instead. | |
*/ | |
static void EnqueueMicrotask(Isolate* isolate, Handle<Function> microtask); | |
/** | |
* Experimental: Controls whether the Microtask Work Queue is automatically | |
* run when the script call depth decrements to zero. | |
+ * | |
+ * Deprecated: Use methods on Isolate instead. | |
*/ | |
static void SetAutorunMicrotasks(Isolate *source, bool autorun); | |
@@ -4870,15 +4833,14 @@ | |
/** | |
* Forcefully terminate the current thread of JavaScript execution | |
- * in the given isolate. If no isolate is provided, the default | |
- * isolate is used. | |
+ * in the given isolate. | |
* | |
* This method can be used by any thread even if that thread has not | |
* acquired the V8 lock with a Locker object. | |
* | |
* \param isolate The isolate in which to terminate the current JS execution. | |
*/ | |
- static void TerminateExecution(Isolate* isolate = NULL); | |
+ static void TerminateExecution(Isolate* isolate); | |
/** | |
* Is V8 terminating JavaScript execution. | |
@@ -5246,8 +5208,13 @@ | |
*/ | |
void Exit(); | |
- /** Returns true if the context has experienced an out of memory situation. */ | |
- bool HasOutOfMemoryException() { return false; } | |
+ /** | |
+ * Returns true if the context has experienced an out of memory situation. | |
+ * Since V8 always treats OOM as fatal error, this can no longer return true. | |
+ * Therefore this is now deprecated. | |
+ * */ | |
+ V8_DEPRECATED("This can no longer happen. OOM is a fatal error.", | |
+ bool HasOutOfMemoryException()) { return false; } | |
/** Returns an isolate associated with a current context. */ | |
v8::Isolate* GetIsolate(); | |
@@ -5559,7 +5526,7 @@ | |
static const int kJSObjectHeaderSize = 3 * kApiPointerSize; | |
static const int kFixedArrayHeaderSize = 2 * kApiPointerSize; | |
static const int kContextHeaderSize = 2 * kApiPointerSize; | |
- static const int kContextEmbedderDataIndex = 65; | |
+ static const int kContextEmbedderDataIndex = 74; | |
static const int kFullStringRepresentationMask = 0x07; | |
static const int kStringEncodingMask = 0x4; | |
static const int kExternalTwoByteRepresentationTag = 0x02; | |
@@ -5571,7 +5538,7 @@ | |
static const int kNullValueRootIndex = 7; | |
static const int kTrueValueRootIndex = 8; | |
static const int kFalseValueRootIndex = 9; | |
- static const int kEmptyStringRootIndex = 154; | |
+ static const int kEmptyStringRootIndex = 162; | |
static const int kNodeClassIdOffset = 1 * kApiPointerSize; | |
static const int kNodeFlagsOffset = 1 * kApiPointerSize + 3; | |
@@ -6521,8 +6488,8 @@ | |
template<typename T> | |
-Local<Object> PropertyCallbackInfo<T>::This() const { | |
- return Local<Object>(reinterpret_cast<Object*>(&args_[kThisIndex])); | |
+Local<Value> PropertyCallbackInfo<T>::This() const { | |
+ return Local<Value>(reinterpret_cast<Value*>(&args_[kThisIndex])); | |
} | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8config.h node-v0.11.13_atom/deps/v8/include/v8config.h | |
--- node-v0.11.13/deps/v8/include/v8config.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8config.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,29 +1,6 @@ | |
// Copyright 2013 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
#ifndef V8CONFIG_H_ | |
#define V8CONFIG_H_ | |
diff -d -r -u node-v0.11.13/deps/v8/include/v8stdint.h node-v0.11.13_atom/deps/v8/include/v8stdint.h | |
--- node-v0.11.13/deps/v8/include/v8stdint.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/deps/v8/include/v8stdint.h 2014-07-28 23:01:36.000000000 -0700 | |
@@ -1,29 +1,6 @@ | |
// Copyright 2012 the V8 project authors. All rights reserved. | |
-// Redistribution and use in source and binary forms, with or without | |
-// modification, are permitted provided that the following conditions are | |
-// met: | |
-// | |
-// * Redistributions of source code must retain the above copyright | |
-// notice, this list of conditions and the following disclaimer. | |
-// * Redistributions in binary form must reproduce the above | |
-// copyright notice, this list of conditions and the following | |
-// disclaimer in the documentation and/or other materials provided | |
-// with the distribution. | |
-// * Neither the name of Google Inc. nor the names of its | |
-// contributors may be used to endorse or promote products derived | |
-// from this software without specific prior written permission. | |
-// | |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
+// Use of this source code is governed by a BSD-style license that can be | |
+// found in the LICENSE file. | |
// Load definitions of standard types. | |
Only in node-v0.11.13/deps/v8: samples | |
Only in node-v0.11.13/deps/v8: src | |
Only in node-v0.11.13/deps/v8: tools | |
Only in node-v0.11.13/deps/zlib: LICENSE | |
Only in node-v0.11.13/deps/zlib: README.chromium | |
Only in node-v0.11.13/deps/zlib: adler32.c | |
Only in node-v0.11.13/deps/zlib: compress.c | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: ChangeLogUnzip | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: Makefile | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: ioapi.c | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: iowin32.c | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: miniunz.c | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: minizip.c | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: mztools.c | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: unzip.c | |
Only in node-v0.11.13/deps/zlib/contrib/minizip: zip.c | |
Only in node-v0.11.13/deps/zlib: crc32.c | |
Only in node-v0.11.13/deps/zlib: deflate.c | |
Only in node-v0.11.13/deps/zlib: gzio.c | |
Only in node-v0.11.13/deps/zlib: infback.c | |
Only in node-v0.11.13/deps/zlib: inffast.c | |
Only in node-v0.11.13/deps/zlib: inflate.c | |
Only in node-v0.11.13/deps/zlib: inftrees.c | |
Only in node-v0.11.13/deps/zlib: trees.c | |
Only in node-v0.11.13/deps/zlib: uncompr.c | |
Only in node-v0.11.13/deps/zlib: zlib.gyp | |
Only in node-v0.11.13/deps/zlib: zutil.c | |
Only in node-v0.11.13: doc | |
Only in node-v0.11.13: lib | |
Only in node-v0.11.13: node.gyp | |
Only in node-v0.11.13/src: cares_wrap.cc | |
diff -d -r -u node-v0.11.13/src/env.h node-v0.11.13_atom/src/env.h | |
--- node-v0.11.13/src/env.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/src/env.h 2014-07-21 08:42:02.000000000 -0700 | |
@@ -431,7 +431,7 @@ | |
#undef V | |
private: | |
- static const int kIsolateSlot = 0; | |
+ static const int kIsolateSlot = 3; | |
class GCInfo; | |
class IsolateData; | |
Only in node-v0.11.13/src: fs_event_wrap.cc | |
Only in node-v0.11.13/src: handle_wrap.cc | |
Only in node-v0.11.13/src: node.cc | |
Only in node-v0.11.13/src: node.d | |
diff -d -r -u node-v0.11.13/src/node.h node-v0.11.13_atom/src/node.h | |
--- node-v0.11.13/src/node.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/src/node.h 2014-07-21 08:42:02.000000000 -0700 | |
@@ -337,14 +337,14 @@ | |
#if defined(_MSC_VER) | |
#pragma section(".CRT$XCU", read) | |
#define NODE_C_CTOR(fn) \ | |
- static void __cdecl fn(void); \ | |
+ void __cdecl fn(void); \ | |
__declspec(dllexport, allocate(".CRT$XCU")) \ | |
void (__cdecl*fn ## _)(void) = fn; \ | |
- static void __cdecl fn(void) | |
+ void __cdecl fn(void) | |
#else | |
#define NODE_C_CTOR(fn) \ | |
- static void fn(void) __attribute__((constructor)); \ | |
- static void fn(void) | |
+ void fn(void) __attribute__((constructor)); \ | |
+ void fn(void) | |
#endif | |
#define NODE_MODULE_X(modname, regfunc, priv, flags) \ | |
Only in node-v0.11.13/src: node.js | |
Only in node-v0.11.13/src: node.stp | |
Only in node-v0.11.13/src: node_buffer.cc | |
Only in node-v0.11.13/src: node_constants.cc | |
Only in node-v0.11.13/src: node_contextify.cc | |
Only in node-v0.11.13/src: node_counters.cc | |
Only in node-v0.11.13/src: node_crypto.cc | |
Only in node-v0.11.13/src: node_crypto_bio.cc | |
Only in node-v0.11.13/src: node_crypto_clienthello.cc | |
Only in node-v0.11.13/src: node_dtrace.cc | |
Only in node-v0.11.13/src: node_file.cc | |
Only in node-v0.11.13/src: node_http_parser.cc | |
diff -d -r -u node-v0.11.13/src/node_internals.h node-v0.11.13_atom/src/node_internals.h | |
--- node-v0.11.13/src/node_internals.h 2014-05-01 17:49:51.000000000 -0700 | |
+++ node-v0.11.13_atom/src/node_internals.h 2014-07-21 08:42:02.000000000 -0700 | |
@@ -39,6 +39,10 @@ | |
// Forward declaration | |
class Environment; | |
+// Whether node should open some low level hooks. | |
+extern bool g_standalone_mode; | |
+extern bool g_upstream_node_mode; | |
+ | |
// If persistent.IsWeak() == false, then do not call persistent.Reset() | |
// while the returned Local<T> is still in scope, it will destroy the | |
// reference to the object. | |
Only in node-v0.11.13/src: node_javascript.cc | |
Only in node-v0.11.13/src: node_main.cc | |
Only in node-v0.11.13/src: node_os.cc | |
Only in node-v0.11.13/src: node_provider.d | |
Only in node-v0.11.13/src: node_stat_watcher.cc | |
Only in node-v0.11.13/src: node_v8.cc | |
Only in node-v0.11.13/src: node_watchdog.cc | |
Only in node-v0.11.13/src: node_win32_etw_provider.cc | |
Only in node-v0.11.13/src: node_win32_perfctr_provider.cc | |
Only in node-v0.11.13/src: node_zlib.cc | |
Only in node-v0.11.13/src: notrace_macros.py | |
Only in node-v0.11.13/src: perfctr_macros.py | |
Only in node-v0.11.13/src: pipe_wrap.cc | |
Only in node-v0.11.13/src: process_wrap.cc | |
Only in node-v0.11.13/src: res | |
Only in node-v0.11.13/src: signal_wrap.cc | |
Only in node-v0.11.13/src: smalloc.cc | |
Only in node-v0.11.13/src: spawn_sync.cc | |
Only in node-v0.11.13/src: stream_wrap.cc | |
Only in node-v0.11.13/src: string_bytes.cc | |
Only in node-v0.11.13/src: tcp_wrap.cc | |
Only in node-v0.11.13/src: timer_wrap.cc | |
Only in node-v0.11.13/src: tls_wrap.cc | |
Only in node-v0.11.13/src: tty_wrap.cc | |
Only in node-v0.11.13/src: udp_wrap.cc | |
Only in node-v0.11.13/src: uv.cc | |
Only in node-v0.11.13/src: v8ustack.d | |
Only in node-v0.11.13: test | |
Only in node-v0.11.13: tools | |
Only in node-v0.11.13: vcbuild.bat |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment