Skip to content

Instantly share code, notes, and snippets.

@springmeyer
Created July 29, 2014 19:58
Show Gist options
  • Save springmeyer/d84023e69e2e2af921e2 to your computer and use it in GitHub Desktop.
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
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