Commit graph

654 commits

Author SHA1 Message Date
Steven R. Loomis
f2d3afbd88 deps: cherry-pick 2f5da9a from V8 upstream
Original commit message:
  Fix the uppercasing of U+00E7(ç) and U+00F7(÷)
  Due to a typo in runtime-i18n.js, 'ç'(U+00E7) was not uppercased
  while '÷'(U+00F7) was incorrectly uppercased to '×'(U+00D7).

  Add a comprehensive test for Latin-1 supplemental block
  (U+00A0 ~ U+00FF). (they're special-cased for speed-up and
  needs to have a test for the range.).

  TEST=intl/general/case-mapping
  BUG=v8:5681

  Review-Url: https://codereview.chromium.org/2533033003
  Cr-Commit-Position: refs/heads/master@{#41331}

PR-URL: https://github.com/nodejs/node/pull/9828
Fixes: https://github.com/nodejs/node/issues/9785
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2017-01-06 15:38:29 -05:00
Michaël Zasso
52fd49b7ff
deps: update V8 to 5.4.500.43
PR-URL: https://github.com/nodejs/node/pull/9697
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-11-22 04:42:31 +01:00
Michaël Zasso
0fa09b4887 deps: update V8 to 5.4.500.41
PR-URL: https://github.com/nodejs/node/pull/9412
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
2016-11-11 10:34:31 +01:00
Michaël Zasso
929979d9d7 deps: update V8 to 5.4.500.36
PR-URL: https://github.com/nodejs/node/pull/9253
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-10-24 11:24:59 -07:00
Michael Dawson
4b3e4d5448 deps: cherry-pick missing v8 floating patch
2d524bcd1e

Original commit message:

  deps: limit regress/regress-crbug-514081 v8 test

  regress/regress-crbug-514081 allocates a 2G block of memory
  and if there  are multiple variants running at the
  same time this can lead to crashes, OOM kills or
  the OS failing to allocate memory.  This patch
  limits us to running a single variant of the test

  Fixes: https://github.com/nodejs/node/issues/6340
  PR-URL: https://github.com/nodejs/node/pull/6678
  Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
  Reviewed-By: James M Snell <jasnell@gmail.com>
  Reviewed-By: Fedor Indutny <fedor@indutny.com>

PR-URL: https://github.com/nodejs/node/pull/8907
Fixes: #8750
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2016-10-05 10:23:47 -04:00
Michaël Zasso
039f0c3fc5 deps: update V8 to 5.4.500.31
PR-URL: https://github.com/nodejs/node/pull/8852
Reviewed-By: Franziska Hinkelmann <franzih@chromium.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-10-03 13:12:08 +02:00
Michaël Zasso
ec02b811a8 deps: update V8 to 5.4.500.27
Pick up latest commit from the 5.4-lkgr branch.

deps: edit V8 gitignore to allow trace event copy
deps: update V8 trace event to 315bf1e2d45be7d53346c31cfcc37424a32c30c8
deps: edit V8 gitignore to allow gtest_prod.h copy
deps: update V8 gtest to 6f8a66431cb592dad629028a50b3dd418a408c87

PR-URL: https://github.com/nodejs/node/pull/8317
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2016-09-22 09:51:19 +02:00
Michaël Zasso
a1d3a8db50 deps: cherry-pick de5aaad from V8's upstream
Original commit message:

    [Debugger] Fix StepNext over function with caught exception

    Without CL debugger on StepNext adds breakpoint to function where
    throw instruction is located. In case of StepNext we will skip pause
    in this function because StepNext shouldn't break in a deeper frame.

    BUG=chromium:604495
    R=yangguo@chromium.org
    LOG=N

    Review URL: https://codereview.chromium.org/1894263002

    Cr-Commit-Position: refs/heads/master@{#35627}

Fixes: https://github.com/nodejs/node/issues/7219
PR-URL: https://github.com/nodejs/node/pull/8099
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
2016-08-17 09:38:07 +02:00
epertoso
51d45db246
deps: V8: cherry-pick 588e15c, c0d4bb8
Pick up an upstream bugfix for https://crbug.com/621926 and bump V8
version to 5.1.281.80.

Original commit message for 588e15c:
    Fixes a bug in cmpw.

    The opcodes for 'cmpw r/m16, r16' and 'cmpw r16, r/m16' were
    swapped, causing a few issues when less than/greater than
    comparison were performed.

    Adds a regression test.

    BUG=621926

    Committed: https://crrev.com/efa7095e3e360fbadbe909d831ac11b268ca26b0
    Review-Url: https://codereview.chromium.org/2103713003
    Cr-Original-Commit-Position: refs/heads/master@{#37339}
    Cr-Commit-Position: refs/heads/master@{#37345}

Original commit message for c0d4bb8:
    Fixes a wrong use of Operand in a test.

    Operand(reg) -> reg
    Operand(reg, 0) -> [reg]

    BUG=

    Review-Url: https://codereview.chromium.org/2111503002
    Cr-Commit-Position: refs/heads/master@{#37370}

PR-URL: https://github.com/nodejs/node/pull/8038
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: ofrobots - Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: mhdawson - Michael Dawson <michael_dawson@ca.ibm.com>
2016-08-11 18:42:46 +02:00
Franziska Hinkelmann
60d46b4e70 deps: cherry-pick a51f429 from V8 upstream
Original commit message:
  [regexp] Fix case-insensitive matching for one-byte subjects.

  The bug occurs because we do not canonicalize character class ranges
  before adding case equivalents. While adding case equivalents, we abort
  early for one-byte subject strings, assuming that the ranges are sorted.
  Which they are not.

  R=marja@chromium.org
  BUG=v8:5199

  Review-Url: https://codereview.chromium.org/2159683002
  Cr-Commit-Position: refs/heads/master@{#37833}

Fixes: https://github.com/nodejs/node/issues/7708
PR-URL: https://github.com/nodejs/node/pull/7833
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: ofrobots - Ali Ijaz Sheikh <ofrobots@google.com>
2016-08-02 23:16:55 -07:00
Joran Siu
f56cd32c70 deps: cherry-pick 2b4c9c1 from v8 upstream
Original commit message:

S390:Update inline asm constraint in test-platform
The GetStackPointer() routine in test-platform uses an inline
assembly code to store the current stack pointer value into a static
variable sp_addr.  The existing asm code for S390 uses an ST/STG
instruction, with the memory operand associated with the general ('=g')
constraint to sp_addr.

On GCC 4.8.5, the GCC compiler got confused and treated sp_addr as
an integer operand instead of memory operand, resulting in a store
being emitted that writes to an invalid meory location.

Given the specific store instructions being inlined here, we should
restict the sp_addr operand to explicitly be a memory operand using '=m'
instead of '=g'.

R=bmeurer@chromium.org,jkummerow@chormium.org,rmcilroy@chromium.org,yangguo@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2158523002
Cr-Commit-Position: refs/heads/master@{#37809}

Fixes: https://github.com/nodejs/node/issues/7659
PR-URL: https://github.com/nodejs/node/pull/7771
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2016-07-19 17:45:56 -04:00
Ben Noordhuis
5cdbbdf94d deps: cherry-pick 1f53e42 from v8 upstream
Original commit message:

    Handle symbols in FrameMirror#invocationText().

    Fix a TypeError when putting together the invocationText for a
    symbol method's stack frame.

    See https://github.com/nodejs/node/issues/7536.

    Review-Url: https://codereview.chromium.org/2122793003
    Cr-Commit-Position: refs/heads/master@{#37597}

Fixes: https://github.com/nodejs/node/issues/7536
PR-URL: https://github.com/nodejs/node/pull/7612
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
2016-07-18 11:00:56 +02:00
Ben Noordhuis
245ac302f5 deps: update V8 to 5.1.281.75
Pick up the latest branch-head for V8 5.1.  Introduces a semver-minor
overload of v8::Function::New() for use by v8_inspector.

Refs: https://github.com/nodejs/node/pull/7586
PR-URL: https://github.com/nodejs/node/pull/7615
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2016-07-09 09:13:15 +02:00
Michaël Zasso
dc17432208
deps: fix V8 5.1 tests
Restore whitespaces in *.golden files. They were lost when I landed the
V8 5.1 update and are needed for the tests to pass.

Fixes: https://github.com/nodejs/node/issues/7477
PR-URL: https://github.com/nodejs/node/pull/7488
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2016-06-30 17:28:57 +02:00
Matt Loring
9beef23b60
deps: bring in V8 5.1 - 5.0 ABI compatibility
Ref: https://github.com/ofrobots/node/pull/23

PR-URL: https://github.com/nodejs/node/pull/7016
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-06-29 10:44:34 +02:00
Matt Loring
d894648450
deps: revert removal of V8::PromiseEvent
The removal of the promise debug event is an API/ABI breaking change.

Ref: https://codereview.chromium.org/1833563002
Ref: https://github.com/ofrobots/node/pull/23

PR-URL: https://github.com/nodejs/node/pull/7016
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-06-29 10:44:32 +02:00
Michaël Zasso
6dfa5339e3
deps: backport IsValid changes from 4e8736d in V8
V8 erroneously did null pointer checks on `this`.
It can lead to a SIGSEGV crash if node is compiled with GCC 6.
Backport relevant changes from [1] that fix this issue.

[1]: https://codereview.chromium.org/1900423002

Fixes: https://github.com/nodejs/node/issues/6272
PR-URL: https://github.com/nodejs/node/pull/6544
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2016-06-29 09:07:46 +02:00
Michaël Zasso
2cc2951796
deps: update V8 to 5.1.281.69
Pick up the latest branch-head for V8 5.1. This branch brings in
improved language support and performance improvements. For full
details: http://v8project.blogspot.com/2016/04/v8-release-51.html

* Picks up the latest branch head for 5.1 [1]
* Edit v8 gitignore to allow trace_event copy
* Update V8 DEP trace_event as per deps/v8/DEPS [2]

[1] dc81244
[2] c8c8665

PR-URL: https://github.com/nodejs/node/pull/7016
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-06-29 09:04:28 +02:00
Myles Borins
a84b0f2f76 deps: backport 7dfb5beeec from V8 upstream
This commit backports a fix to a JIT bug in V8.
After 100 or so comparisons `typeof null ==="undefined"` is returning
`true` instead of `false`.

Original commit message:

	Fix 'typeof null' canonicalization in crankshaft

	BUG=

	Review URL: https://codereview.chromium.org/1912553002

	Cr-Commit-Position: refs/heads/master@{#35699}

Ref: https://bugs.chromium.org/p/chromium/issues/detail?id=604033
PR-URL: https://github.com/nodejs/node/pull/7348
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
2016-06-22 15:51:14 -07:00
Michaël Zasso
4453c0c250
deps: upgrade to V8 5.0.71.52
Pick up the latest set of patch level updates from the V8 5.0 branch.
https://github.com/v8/v8/compare/5.0.71.47...5.0.71.52

Fixes: https://github.com/nodejs/node/issues/6158
PR-URL: https://github.com/nodejs/node/pull/6928
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-25 10:29:25 +02:00
Michael Dawson
2d524bcd1e deps: limit regress/regress-crbug-514081 v8 test
regress/regress-crbug-514081 allocates a 2G block of memory
and if there  are multiple variants running at the
same time this can lead to crashes, OOM kills or
the OS failing to allocate memory.  This patch
limits us to running a single variant of the test

Fixes: https://github.com/nodejs/node/issues/6340
PR-URL: https://github.com/nodejs/node/pull/6678
Reviewed-By: Ben Noorhduis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2016-05-12 17:04:47 -04:00
Ali Ijaz Sheikh
e16e611089 deps: upgrade to V8 5.0.71.47
Pick up the latest set of patch level updates from the V8 5.0 branch.
https://github.com/v8/v8/compare/5.0.71.35...5.0.71.47

PR-URL: https://github.com/nodejs/node/pull/6572
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: JungMinu - Minwoo Jung <jmwsoft@gmail.com>
2016-05-11 18:46:47 -07:00
Michaël Zasso
96198d5bc7
deps: backport IsValid changes from 4e8736d in V8
V8 erroneously did null pointer checks on `this`.
It can lead to a SIGSEGV crash if node is compiled with GCC 6.
Backport relevant changes from [1] that fix this issue.

[1]: https://codereview.chromium.org/1900423002

Fixes: https://github.com/nodejs/node/issues/6272
PR-URL: https://github.com/nodejs/node/pull/6544
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2016-05-04 10:18:04 +02:00
Ali Ijaz Sheikh
e5f1e2c1df deps: upgrade to V8 5.0.71.35
Pick up the latest bug fix from the V8 5.0 branch.

Original commit message:
V8-Commit: c1d51c7c
  Version 5.0.71.35 (cherry-pick)

  Merged 2837cb387

  disallow left-trim fast path when sampling heap profiler is active

  R=hablich@chromium.org, hpayer@chromium.org
  BUG=v8:4937

  Review URL: https://codereview.chromium.org/1918453002 .

PR-URL: https://github.com/nodejs/node/pull/6372
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
2016-04-25 09:29:26 -07:00
Ali Ijaz Sheikh
49e42c530b deps: upgrade to V8 5.0.71.34
Pick up the latest bug fix from the V8 5.0 branch.

Original commit message:
V8-Commit: c36773f
  Version 5.0.71.34 (cherry-pick)
  Merged 9acbca1

  [es6] Fix bug in pattern re-writing

  BUG=v8:4891
  LOG=N
  R=littledan@chromium.org

  Review URL: https://codereview.chromium.org/1906633002 .

PR-URL: https://github.com/nodejs/node/pull/6320
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2016-04-21 10:04:02 -07:00
Michael Dawson
0899ea7a52 deps: exclude tests on ppc for v8 5.0
There were 2 issues which either the v8 team was reluctant to
backport the fix because the fix was for a disabled feature (wasm) or
that we did not have time to investigate before 5.0 was cut
which result in v8 test failures for PPC in 5.0.  These are test
issues and are already resolved in v8 master.  This PR
excludes these tests so that our v8 tests in the CI will
be green so that we can detect any real regressions.

PR-URL: https://github.com/nodejs/node/pull/6267
Fixes: https://github.com/nodejs/node/issues/6236
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-04-19 23:00:03 -04:00
Ali Ijaz Sheikh
52af5c4eeb deps: upgrade V8 to 5.0.71.32
* Pick up the branch head for V8 5.0 stable [1]
* Edit v8 gitignore to allow trace_event copy
* Update V8 DEP trace_event as per deps/v8/DEPS [2]

[1] 3c67831
[2] 4b09207e44

Ref: https://github.com/nodejs/node/pull/5945
PR-URL: https://github.com/nodejs/node/pull/6111
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
2016-04-14 10:03:39 -07:00
Ben Noordhuis
3a8e8230ee deps: upgrade to V8 4.9.385.35
PR-URL: https://github.com/nodejs/node/pull/6077
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-04-07 13:14:25 +02:00
Ali Ijaz Sheikh
f8e8075a62 deps: upgrade to V8 4.9.385.27
Pick up the latest known good release from the V8 4.9 branch: 4.9.385.27.
V8 Commits: https://github.com/v8/v8/compare/4.9.385.18...4.9.385.27

PR-URL: https://github.com/nodejs/node/pull/5494
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2016-03-03 20:35:20 -08:00
Ali Ijaz Sheikh
069e02ab47 deps: upgrade to V8 4.9.385.18
Pick up the current branch head for V8 4.9
1ecba0f

PR-URL: https://github.com/nodejs/node/pull/4722
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
2016-03-03 20:35:20 -08:00
Bryon Leung
cd720f816a test: run v8 tests from node tree
Ported by exinfinitum from a PR by jasnell:
see https://github.com/nodejs/node-v0.x-archive/pull/14185

Allows the running of v8 tests on node's packaged v8 source code.

Note that the limited win32 support added by jasnell has NOT been ported,
and so these tests are currently UNIX ONLY.

Note that gclient depot tools
(see https://commondatastorage.googleapis.com/
chrome-infra-docs/flat/depot_tools/docs/html/
depot_tools_tutorial.html#_setting_up) and subversion are required
to run tests.

To perform tests, run the following commands:

make v8 DESTCPU=(ARCH)
make test-v8 DESTCPU=(ARCH)

where (ARCH) is your CPU architecture, e.g. x64, ia32.
DESTCPU MUST be specified for this to work properly.

Can also do tests on debug build by using "make test-v8 DESTCPU=(ARCH)
BUILDTYPE=Debug", or perform intl or benchmark tests via make
test-v8-intl or test-v8-benchmarks respectively.

Note that by default, quickcheck and TAP output are disabled, and i18n
is enabled. To activate these options, use options"QUICKCHECK=True" and
"ENABLE_V8_TAP=True" respectively.

Use "DISABLE_V8_I18N" to disable i18n.

Use V8_BUILD_OPTIONS to allow custom user-defined flags to be
appended onto "make v8".

Any tests performed after changes to the packaged v8 file will require
recompiling of v8, which can be done using "make v8 DESTCPU=(ARCH)".

Finally, two additional files necessary for one of the v8 tests have
been added to the v8 folder.

PR-URL: https://github.com/nodejs/node/pull/4704
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2016-02-11 13:07:03 -05:00
Ali Ijaz Sheikh
ef4170ea03 deps: upgrade to V8 4.8.271.17
Pick up V8 4.8 branch-head. This branch brings in @@isConcatSpreadable,
@@toPrimitive and ToLength ES6 changes. For full details see:
http://v8project.blogspot.de/2015/11/v8-release-48.html

fa163e2

Ref: https://github.com/nodejs/node/pull/4399
PR-URL: https://github.com/nodejs/node/pull/4785
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2016-01-21 16:53:58 -08:00
Ali Ijaz Sheikh
384b20362c deps: upgrade to V8 4.7.80.32
Pick up the latest fixes on the V8 4.7 branch
https://github.com/v8/v8/compare/4.7.80.25...4.7.80.32

PR-URL: https://github.com/nodejs/node/pull/4699
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: trevnorris - Trevor Norris <trev.norris@gmail.com>
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2016-01-15 09:35:01 -08:00
Fedor Indutny
36ac3d642e deps: backport 8d6a228 from the v8's upstream
Original commit message:

    [heap] fix crash during the scavenge of ArrayBuffer
    Scavenger should not attempt to visit ArrayBuffer's storage, it is a
    user-supplied pointer that may have any alignment. Visiting it, may
    result in a crash.

    BUG=
    R=jochen

    Review URL: https://codereview.chromium.org/1406133003

    Cr-Commit-Position: refs/heads/master@{#31611}

PR-URL: https://github.com/nodejs/node/pull/4259
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-12-14 15:55:59 -05:00
Ali Ijaz Sheikh
e2dec98837 deps: upgrade to V8 4.7.80.25
Pick up the latest patch-level from V8 stable. This includes the following fix:

* c408ea72bf
  Make AstRawString deduplication encoding-agnostic.

  BUG=v8:4450
  LOG=N
  R=hablich@chromium.org
  TBR=hablich@chromium.org

  Review URL: https://codereview.chromium.org/1494293003

See also: https://github.com/nodejs/node/pull/4128

PR-URL: https://github.com/nodejs/node/pull/4160
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2015-12-05 08:38:30 -08:00
Julien Gilli
edfc8cde04 deps: backport 1ee712a from V8 upstream
Backport 1ee712ab8687e5f4dec93d45da068d37d28feb8b from V8 upstream.

Original commit message:

  Add SetAbortOnUncaughtExceptionCallback API

  The --abort-on-uncaught-exception command line switch makes
  Isolate::Throw abort if the error being thrown cannot be caught by a
  try/catch block.

  Embedders may want to use other mechanisms than try/catch blocks to
  handle uncaught exceptions. For instance, Node.js has "domain" objects
  that have error handlers that can handle uncaught exception like
  following:

  var d = domain.create();

  d.on('error', function onError(err) {
    console.log('Handling error');
  });

  d.run(function() {
    throw new Error("boom");
  });

  These error handlers are called by isolates' message listeners.

  If --abort-on-uncaught-exception is *not* used, the isolate's
  message listener will be called, which will in turn call the domain's
  error handler. The process will output 'Handling error' and will exit
  successfully (not due to an uncaught exception). This is the behavior
  that Node.js users expect.

  However, if --abort-on-uncaught-exception is used and when throwing an
  error within a domain that has an error handler, the process will abort
  and the domain's error handler will not be called. This is not the
  behavior that Node.js users expect.

  Having a SetAbortOnUncaughtExceptionCallback API allows embedders to
  determine when it's not appropriate to abort and instead handle the
  exception via the isolate's message listener.

  In the example above, Node.js would set a custom callback with
  SetAbortOnUncaughtExceptionCallback that would be implemented as
  following (the sample code has been simplified to remove what's not
  relevant to this change):

  bool ShouldAbortOnUncaughtException(Isolate* isolate) {
    return !IsDomainActive();
  }

  Now when --abort-on-uncaught-exception is used, Isolate::Throw would
  call that callback and determine that it should not abort if a domain
  with an error handler is active. Instead, the isolate's message listener
  would be called and the error would be handled by the domain's error
  handler.

  I believe this can also be useful for other embedders.

  BUG=

  R=bmeurer@chromium.org

  Review URL: https://codereview.chromium.org/1375933003

  Cr-Commit-Position: refs/heads/master@{#31111}

Ref: #3036
Ref: https://github.com/nodejs/node/pull/3481
PR-URL: https://github.com/nodejs/node/pull/4106
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
2015-12-04 00:06:01 -08:00
Ali Ijaz Sheikh
8a43a3d761 deps: upgrade V8 to 4.7.80.24
Pick up the latest branch head for V8 4.7:
be169f8df0

Full change history for the 4.7 branch:
https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/4.7

V8 blog post about what is new on V8 4.7:
http://v8project.blogspot.de/2015/10/v8-release-47.html

PR-URL: https://github.com/nodejs/node/pull/4106
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
2015-12-04 00:06:01 -08:00
Ben Noordhuis
f88b1576e5 deps: backport a7e50a5 from upstream v8
PR-URL: https://github.com/nodejs/node-private/pull/6
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-12-04 14:42:13 +11:00
Ben Noordhuis
004778e6df deps: backport 6df9a1d from upstream v8
PR-URL: https://github.com/nodejs/node-private/pull/6
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-12-04 14:42:13 +11:00
Michaël Zasso
ab25589f59 deps: backport 819b40a from V8 upstream
Original commit message:

    Use baseline code to compute message locations.

    This switches Isolate::ComputeLocation to use baseline code when
    computing message locations. This unifies locations between optimized
    and non-optimized code by always going through the FrameSummary for
    location computation.

    R=bmeurer@chromium.org
    TEST=message/regress/regress-4266
    BUG=v8:4266
    LOG=n

    Review URL: https://codereview.chromium.org/1331603002

    Cr-Commit-Position: refs/heads/master@{#30635}

Fixes: https://github.com/nodejs/node/issues/3934
PR-URL: https://github.com/nodejs/node/pull/3937
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-11-25 10:47:51 +01:00
Michaël Zasso
2930867a2b deps: update V8 to 4.6.85.31
This update contains the patch floated in
https://github.com/nodejs/node/issues/3390 and a fix for
Intl.NumberFormat.

Diff: https://chromium.googlesource.com/v8/v8.git/+/4.6.85.28..4.6.85.31

PR-URL: https://github.com/nodejs/node/pull/3698
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2015-11-11 08:17:17 +01:00
Ali Ijaz Sheikh
81f6b543d9 deps: backport 010897c from V8 upstream
This is a reland of https://github.com/nodejs/node/pull/3165. The patch abates
the truncation of script filenames in the perf-event output produced by V8.

V8 commits:
Original: 03ef3cd004
Reland: 010897c16a

Original commit message:
  improve perf_basic_prof filename reporting

  The buffer used for appending filenames to the string printed to the
  perf_basic_prof log was unnecessarily too small. Bump it up to be at least
  kUtf8BufferSize.

  Truncation of filenames makes it really hard to work with profiles gathered on
  Node.js. Because of the way Node.js works, you can have node module dependencies
  in deeply nested directories. The last thing you want when investigating a
  performance problem is to have script names be truncated.

  This patch is a stop-gap. Ideally, I want no truncation of the filename at all
  and use a dynamically growing buffer. That would be a larger change, and I
  wanted to have a quick fix available that can be back-ported to Node.js LTS
  release.

  R=yangguo@chromium.org,yurys@chromium.org
  BUG=

  Review URL: https://codereview.chromium.org/1388543002

PR-URL: https://github.com/nodejs/node/pull/3520
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-10-28 08:20:31 -07:00
Fedor Indutny
32237041b8 deps: backport 8d6a228 from the v8's upstream
Original commit message:

    [heap] fix crash during the scavenge of ArrayBuffer
    Scavenger should not attempt to visit ArrayBuffer's storage, it is a
    user-supplied pointer that may have any alignment. Visiting it, may
    result in a crash.

    BUG=
    R=jochen

    Review URL: https://codereview.chromium.org/1406133003

    Cr-Commit-Position: refs/heads/master@{#31611}

PR-URL: https://github.com/nodejs/node/pull/3549
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-10-27 20:16:57 -04:00
Michaël Zasso
6456fcf4f3 deps: update V8 to 4.6.85.28
This update fixes a breaking regression in the date parser.

Ref: https://code.google.com/p/chromium/issues/detail?id=539813
Ref: https://code.google.com/p/chromium/issues/detail?id=543320
PR-URL: https://github.com/nodejs/node/pull/3484
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-10-23 07:57:56 +02:00
Ali Ijaz Sheikh
770cd229f9 deps: upgrade V8 to 4.6.85.25
Move up to the latest patch level from the V8 4.6 branch:
https://github.com/v8/v8/compare/4.6.85.23...4.6.85.25

PR-URL: https://github.com/nodejs/node/pull/3351
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-10-14 11:20:35 -07:00
Fedor Indutny
972a0c8515 deps: backport 0d01728 from v8's upstream
Original commit message:

    [objects] do not visit ArrayBuffer's backing store

    ArrayBuffer's backing store is a pointer to external heap, and
    can't be treated as a heap object. Doing so will result in
    crashes, when the backing store is unaligned.

    See: https://github.com/nodejs/node/issues/2791

    BUG=chromium:530531
    R=mlippautz@chromium.org
    LOG=N

    Review URL: https://codereview.chromium.org/1327403002

    Cr-Commit-Position: refs/heads/master@{#30771}

Ref: https://github.com/nodejs/node/issues/2791
Ref: https://github.com/nodejs/node/pull/2912
PR-URL: https://github.com/nodejs/node/pull/3351
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-10-14 11:20:35 -07:00
Michaël Zasso
7fb128d8df deps: cherry-pick backports to V8
Included
  acb6779c19
  4e028bd34d
  75fe7739e6
  c22bcd31f0
  49dec1afd8

Not included (cannot be applied cleanly)
  31450fce7c
  2b8a06b323

PR-URL: https://github.com/nodejs/node/pull/3351
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-10-14 11:20:34 -07:00
Michaël Zasso
d8011d1683 deps: upgrade V8 to 4.6.85.23
PR-URL: https://github.com/nodejs/node/pull/3351
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2015-10-14 11:20:34 -07:00
Julien Gilli
49dec1afd8 deps: backport 1ee712a from V8 upstream
Backport 1ee712ab8687e5f4dec93d45da068d37d28feb8b from V8 upstream.

Original commit message:

  Add SetAbortOnUncaughtExceptionCallback API

  The --abort-on-uncaught-exception command line switch makes
  Isolate::Throw abort if the error being thrown cannot be caught by a
  try/catch block.

  Embedders may want to use other mechanisms than try/catch blocks to
  handle uncaught exceptions. For instance, Node.js has "domain" objects
  that have error handlers that can handle uncaught exception like
  following:

  var d = domain.create();

  d.on('error', function onError(err) {
    console.log('Handling error');
  });

  d.run(function() {
    throw new Error("boom");
  });

  These error handlers are called by isolates' message listeners.

  If --abort-on-uncaught-exception is *not* used, the isolate's
  message listener will be called, which will in turn call the domain's
  error handler. The process will output 'Handling error' and will exit
  successfully (not due to an uncaught exception). This is the behavior
  that Node.js users expect.

  However, if --abort-on-uncaught-exception is used and when throwing an
  error within a domain that has an error handler, the process will abort
  and the domain's error handler will not be called. This is not the
  behavior that Node.js users expect.

  Having a SetAbortOnUncaughtExceptionCallback API allows embedders to
  determine when it's not appropriate to abort and instead handle the
  exception via the isolate's message listener.

  In the example above, Node.js would set a custom callback with
  SetAbortOnUncaughtExceptionCallback that would be implemented as
  following (the sample code has been simplified to remove what's not
  relevant to this change):

  bool ShouldAbortOnUncaughtException(Isolate* isolate) {
    return !IsDomainActive();
  }

  Now when --abort-on-uncaught-exception is used, Isolate::Throw would
  call that callback and determine that it should not abort if a domain
  with an error handler is active. Instead, the isolate's message listener
  would be called and the error would be handled by the domain's error
  handler.

  I believe this can also be useful for other embedders.

  BUG=

  R=bmeurer@chromium.org

  Review URL: https://codereview.chromium.org/1375933003

  Cr-Commit-Position: refs/heads/master@{#31111}

PR: #3036
PR-URL: https://github.com/nodejs/node/pull/3036
Reviewed-By: Ben Noordhuis <ben@strongloop.com>
2015-10-05 18:10:00 -07:00
Ali Ijaz Sheikh
c2739443e6 deps: upgrade V8 to 4.5.103.35
Apply the latest fixes from V8 4.5 branch & bring us up to 4.5.103.35:
* Disallow Object.observe calls on access checked objects.
134e541ad1
* Avoid excessive data copying for ExternalStreamingStream::SetBookmark.
96dddb455d

PR-URL: https://github.com/nodejs/node/pull/3117
Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: trevnorris - Trevor Norris <trev.norris@gmail.com>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
2015-09-30 16:23:26 -07:00