0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
Commit Graph

218 Commits

Author SHA1 Message Date
Gus Caplan
e7a18c5bf1
deps: cherry-pick 477df06 from upstream v8
Original commit message:

    [API] Expand BigInt API

    Provide a more complete BigInt API.

    Bug: v8:7712
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: Ic8562d616f3125deabdf8b52c7019b191bef0e07
    Reviewed-on: chromium-review.googlesource.com/1101198
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54122}

PR-URL: https://github.com/nodejs/node/pull/21644
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-07-05 16:58:59 -05:00
Bartosz Sosnowski
7c452845b8 build, win: make LTCG optional
Disables Link Time Code Generation by default. Adds ‘ltcg’ vcbuild
option to enable it. LTCG will be used by default by release and CI
builds.

PR-URL: https://github.com/nodejs/node/pull/21186
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2018-06-27 11:00:56 +02:00
Matheus Marchini
7edd0a17af
deps: cherry-pick 70c4340 from upstream V8
Original commit message:

    [log][api] Fix GCC 4.9 build failure

    GCC 4.9 used on some Node.js CI machines complains when the control
    reaches the end of a non-void function and no return is encountered.

    R=bmeurer@google.com, ofrobots@google.com, yangguo@google.com

    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I5af0192cb187eccbf34dbb60ff3ac2e4774af803
    Reviewed-on: https://chromium-review.googlesource.com/1105619
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53861}

Refs: https://github.com/v8/v8/commit/70c43402ee04d482ff64e186e2faf43fe

PR-URL: https://github.com/nodejs/node/pull/21126
Refs: https://github.com/v8/v8/commit/aa6ce3e
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-06-22 09:43:23 -07:00
Matheus Marchini
c6e5043a25
deps: cherry-pick acc336c from upstream V8
Original commit message:

    [log] fix boolean logic on LogCodeObject

    R=yangguo@google.com

    Change-Id: Icb4825344991e5b2d15050e037064c60eeb9617e
    Reviewed-on: https://chromium-review.googlesource.com/1097578
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53777}

Refs: https://github.com/v8/v8/commit/acc336c1257cc7ceee4b31094ee1e9e41

PR-URL: https://github.com/nodejs/node/pull/21126
Refs: https://github.com/v8/v8/commit/aa6ce3e
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-06-22 09:43:16 -07:00
Matheus Marchini
9bdc882d58
deps: cherry-pick b20faff from upstream V8
Original commit message:

    [log] fix ExistingCodeLogger behavior on edge case

    ExistingCodeLogger was behaving incorrectly when the
    CodeEventHandler API was used in combination with
    --interpreted-frames-native-stack.  Instead of collecting copied
    trampolines as InterpretedFunction:functionName, they were being
    collected as Builtin:IntepreterEntryTrampolines.  This patch adds
    special handling for copied trampolines when using
    ExistingCodeLogger.

    R=yangguo@google.com

    Change-Id: I3ee4be03800122d28d53b51b20c60dcf6263e4c1
    Reviewed-on: https://chromium-review.googlesource.com/1087813
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53624}

Refs: https://github.com/v8/v8/commit/b20faffb07bc97b869a00b935c639bd1c

PR-URL: https://github.com/nodejs/node/pull/21126
Refs: https://github.com/v8/v8/commit/aa6ce3e
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-06-22 09:43:05 -07:00
Matheus Marchini
b3627560a9
deps: backport aa6ce3e from upstream V8
Original commit message:

    [log][api] introduce public CodeEventListener API

    Introduce a new public API called CodeEventListener to allow
    embedders to better support external profilers and other diagnostic
    tools without relying on unsupported methods like --perf-basic-prof.

    Bug: v8:7694
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I063cc965394d59401358757634c9ea84c11517e9
    Co-authored-by: Daniel Beckert <daniel@sthima.com.br>
    Reviewed-on: https://chromium-review.googlesource.com/1028770
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Hannes Payer <hpayer@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53382}

Refs: https://github.com/v8/v8/commit/aa6ce3ee617b2f324bea3a5d8e3263aee

PR-URL: https://github.com/nodejs/node/pull/21126
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-06-22 09:42:46 -07:00
Matheus Marchini
40b1f08a0f
deps: cherry-pick 5dd3395 from upstream V8
Original commit message:

    [log] improve --perf-basic-prof-only-functions

    Change --perf-basic-prof-only-functions to also log builtin code
    creation events, otherwise InterpretedFunctions generated by
    --interpreted-frames-native-stack will be filtered out.

    R=yangguo@google.com

    Change-Id: Ib0623fca88e25c514473a43de56ebbbdcb146f97
    Reviewed-on: https://chromium-review.googlesource.com/1100014
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53760}

Refs: https://github.com/v8/v8/commit/5dd33955d5cb1d84dd2509363e11d3c2a

PR-URL: https://github.com/nodejs/node/pull/21386
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-06-21 08:57:55 -07:00
Yang Guo
ed1035d335 build: fix building with --build-v8-with-gn
PR-URL: https://github.com/nodejs/node/pull/21330
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-06-20 07:51:51 +02:00
Yang Guo
8d27477acf deps: V8: cherry-pick a440efb27f from upstream
Original commit message:

  [api] do not require source string for producing code cache.

  The embedder should not need to keep track of the source string.

  R=jgruber@chromium.org

  Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
  Change-Id: Ie27df755a22fbcae7b6e87a435419d2d8f545558
  Reviewed-on: https://chromium-review.googlesource.com/1013482
  Reviewed-by: Jakob Gruber <jgruber@chromium.org>
  Commit-Queue: Yang Guo <yangguo@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#52614}

PR-URL: https://github.com/nodejs/node/pull/21022
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
2018-06-07 20:35:40 +02:00
Timothy Gu
a60ab57c3c
deps: cherry-pick 6989b3f6d7 from V8 upstream
Original commit message:
  Fix default Intl language tag handling

  With certain ICU data bundles (such as the Node.js "small-icu"),
  %GetDefaultICULocale() may return a more specific language tag (e.g.
  "en-US") than what's available (e.g. "en"). In those cases, consider the
  more specific language tag supported.

  This CL also resolves the following Node.js issue:
     https://github.com/nodejs/node/issues/15223

  Bug: v8:7024
  Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
  Change-Id: Ifda0776b3418734d5caa8af4e50c17cda95add73
  Reviewed-on: https://chromium-review.googlesource.com/668350
  Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
  Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#52716}

PR-URL: https://github.com/nodejs/node/pull/20826
Fixes: https://github.com/nodejs/node/issues/15223
Refs: 6989b3f6d7
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-06-01 09:59:32 +02:00
Maya Lekova
f781758d41
deps: backport 91ddb65d from upstream V8
Original commit message:

    Revert promises optimizations due to regressions in async hooks

    Revert "[async-await] Eliminate throwaway promise in async functions."

    This reverts commit a840f1f8f7e6c9ab32dec456a954612619855093.

    Revert "[async-generators] Also avoid throwaway promise here."

    This reverts commit feb545ceba5cb477ba883b46b60142f441ad5a3d.

    Revert "[async-await] Turn await closures into intrinsics."

    This reverts commit d97bb317386506a6798386b74647cbe0502fce35.

    Revert "[async-generators] Add fast-path for primitives in AsyncGeneratorYield."

    This reverts commit e57b500eb26dc595609613963468910eb4bcae2e.

    Revert "[async-generators] Add fast-path to skip "then" lookup in AsyncGeneratorResolve."

    This reverts commit c15802e11e30976528d1b711a9b9e6ff6b490117.

    Revert "[promises] Correctly run before/after hooks for await."

    This reverts commit ca7639239fc13e992e857710cbf7dbaac87163bf.

    Bug: v8:7253, v8:7745
    Change-Id: I25ad0d2df3cfbc84dbb431aa25b268bce8a39e89
    Reviewed-on: https://chromium-review.googlesource.com/1049975
    Commit-Queue: Maya Lekova <mslekova@chromium.org>
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53139}

Refs: 91ddb65d3b
Fixes: https://github.com/nodejs/node/issues/20516
Co-authored-by: Matteo Collina <matteo.collina@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/19989
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2018-06-01 09:59:19 +02:00
Anna Henningsen
109ba58b5f
deps: cherry-pick ff0a9793334 from upstream V8
Original commit message:

    [api] Expose PreviewEntries as public API

    Turn `debug::EntriesPreview` into a public API.
    This is a straightforward approach to addressing
    nodejs/node#20409
    (not relying on functionality behind `--allow-natives-syntax`)
    in Node.js.

Refs: ff0a979333

PR-URL: https://github.com/nodejs/node/pull/20719
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-06-01 09:59:15 +02:00
Eugene Ostroukhov
1fb0b2cb92
deps: cherry-pick 23652c5f from upstream V8
Original commit message:
    Custom tag for the traceEvents array

    This API will be used by Node.js to provide output compatible with
    Chrome devtools.

    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: I265495f8af39bfc78d7fdbe43ac308f0920e817d
    Reviewed-on: https://chromium-review.googlesource.com/1044491
    Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Commit-Queue: Eugene Ostroukhov <eostroukhov@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53041}

PR-URL: https://github.com/nodejs/node/pull/20608
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2018-06-01 09:59:11 +02:00
Gus Caplan
ff06cdba1b
v8: backport 9fb02b526f1cd3b859a530a01adb08bc0d089f4f
Refs: 9fb02b526f

Original commit message:

    Allow function callbacks to have Proxy as receiver.

    R=verwaest@chromium.org

    Bug: v8:5773
    Change-Id: Ifd29a1116ee8c86b8d8d24485bbfd19e260ab66b
    Reviewed-on: chromium-review.googlesource.com/1046088
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53015}

PR-URL: https://github.com/nodejs/node/pull/20575
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-06-01 09:59:02 +02:00
Gus Caplan
f7cc975d4e
deps: cherry-pick 39d546a from upstream V8
Original commit message:

    [api] introduce v8::Value::IsModuleNamespaceObject

    This allows an embedder to check if a Value is a module namespace object.

    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: Idffceff451dd5f5c6a53d4cb3ce02c1c2c5b653c
    Reviewed-on: https://chromium-review.googlesource.com/1011762
    Reviewed-by: Georg Neis <neis@chromium.org>
    Commit-Queue: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52597}

Refs: 39d546a240

PR-URL: https://github.com/nodejs/node/pull/20016
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-06-01 09:58:56 +02:00
Michaël Zasso
547acf9f54
deps: update v8.gyp
Synchronize source files list with upstream's BUILD.gn.

PR-URL: https://github.com/nodejs/node/pull/19989
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2018-06-01 09:58:52 +02:00
Michaël Zasso
b8f7363284
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/19989
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2018-06-01 09:58:50 +02:00
Bert Belder
4f28015d22
build,win: disable DLL-interface warnings
Compiling node with vcbuild generates 10,000s of these warnings,
originating from v8.h. This makes it impossible to read any other
diagnostic messages.

PR-URL: https://github.com/nodejs/node/pull/20958
Refs: https://github.com/nodejs/node/pull/15570
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2018-05-27 17:28:21 +08:00
Timothy Gu
8fac1d910f
deps: cherry-pick 6989b3f6d7 from V8 upstream
Original commit message:
  Fix default Intl language tag handling

  With certain ICU data bundles (such as the Node.js "small-icu"),
  %GetDefaultICULocale() may return a more specific language tag (e.g.
  "en-US") than what's available (e.g. "en"). In those cases, consider the
  more specific language tag supported.

  This CL also resolves the following Node.js issue:
     https://github.com/nodejs/node/issues/15223

  Bug: v8:7024
  Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
  Change-Id: Ifda0776b3418734d5caa8af4e50c17cda95add73
  Reviewed-on: https://chromium-review.googlesource.com/668350
  Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
  Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#52716}

PR-URL: https://github.com/nodejs/node/pull/20826
Fixes: https://github.com/nodejs/node/issues/15223
Refs: 6989b3f6d7
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-05-25 13:09:09 -07:00
Ali Ijaz Sheikh
0ebbd764a8 deps: V8: cherry-pick b49206d from upstream
Original commit message:
  ThreadDataTable: Change global linked list to per-Isolate hash map.

  For use cases with a large number of threads or a large number of
  isolates (or both), ThreadDataTable can be a major performance
  bottleneck due to O(n) lookup time of the linked list. Switching to a
  hash map reduces this to O(1).

  Example 1: Sandstorm.io, a Node.js app that utilizes "fibers", was
  observed spending the majority of CPU time iterating over the
  ThreadDataTable.
  See: https://sandstorm.io/news/2016-09-30-fiber-bomb-debugging-story

  Example 2: Cloudflare's Workers engine, a high-multi-tenancy web
  server framework built on V8 (but not Node), creates large numbers of
  threads and isolates per-process. It saw a 34x improvement in
  throughput when we applied this patch.

  Cloudflare has been using a patch in production since the Worker
  launch which replaces the linked list with a hash map -- but still
  global.

  This commit builds on that but goes further and creates a separate
  hash map and mutex for each isolate, with the table being a member of
  the Isolate class. This avoids any globals and should reduce lock
  contention.

  Bug: v8:5338
  Change-Id: If0d11509afb2e043b888c376e36d3463db931b47
  Reviewed-on: https://chromium-review.googlesource.com/1014407
  Reviewed-by: Yang Guo <yangguo@chromium.org>
  Commit-Queue: Yang Guo <yangguo@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#52753}

PR-URL: https://github.com/nodejs/node/pull/20727
Ref: https://github.com/nodejs/node/issues/20083

Refs: https://github.com/nodejs/node/issues/20083
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-05-17 11:23:36 -07:00
Gus Caplan
5db018d1d0
v8: backport 9fb02b526f1cd3b859a530a01adb08bc0d089f4f
Refs: 9fb02b526f

Original commit message:

    Allow function callbacks to have Proxy as receiver.

    R=verwaest@chromium.org

    Bug: v8:5773
    Change-Id: Ifd29a1116ee8c86b8d8d24485bbfd19e260ab66b
    Reviewed-on: chromium-review.googlesource.com/1046088
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53015}

PR-URL: https://github.com/nodejs/node/pull/20575
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2018-05-09 09:07:30 -05:00
Michaël Zasso
9c8b479467 deps: cherry-pick 76cab5f from upstream V8
Original commit message:

    Fix Object.entries/.values with non-enumerable properties

    Iterate over all descriptors instead of bailing out early and missing
    enumerable properties later.

    Bug: chromium:836145
    Change-Id: I104f7ea89480383b6b4b9204942a166bdf8e0597
    Reviewed-on: https://chromium-review.googlesource.com/1027832
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52786}

Refs: 76cab5ff78
Fixes: https://github.com/nodejs/node/issues/20278

PR-URL: https://github.com/nodejs/node/pull/20350
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2018-05-02 14:06:58 +02:00
Peter Marshall
8bcefd069a
deps: patch the V8 API to be forward compatible with 6.7
PR-URL: https://github.com/nodejs/node/pull/19999
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2018-04-17 15:35:03 -04:00
Myles Borins
e86b319e3f
deps: bump V8 embedder string
This was missed in a previous PR

PR-URL: https://github.com/nodejs/node/pull/20105
Refs: https://github.com/nodejs/node/pull/20016
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-04-17 12:37:50 -04:00
Ben Noordhuis
45f6dccae1 deps: cherry-pick b767cde1e7 from upstream V8
Original commit message:

    [intl] unbreak build with ICU 57

    Remove a call to `icu::toUCharPtr()` that wasn't present in other
    similar looking call sites either, just reinterpret_cast directly.

    Fixes https://github.com/nodejs/node/issues/19656.

    Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
    Change-Id: If281ce0a39356aa8bd20efb24c3e4b52b06841a3
    Reviewed-on: https://chromium-review.googlesource.com/987953
    Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
    Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl>
    Cr-Commit-Position: refs/heads/master@{#52311}

PR-URL: https://github.com/nodejs/node/pull/19710
Fixes: https://github.com/nodejs/node/issues/19656
Refs: b767cde1e7
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/19980
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-04-14 12:59:26 -07:00
Yang Guo
3fb8abf637
tools: implement ninja build with --build-v8-with-gn
PR-URL: https://github.com/nodejs/node/pull/19201
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-04-11 13:23:30 -04:00
Yang Guo
17d4368cb1
deps: split v8_monolith target into separate file
Even if we only use v8_monolith build target, other targets
in v8.gyp with possibly outdated file lists are parsed and
could cause build to fail even with --build-v8-with-gn.

PR-URL: https://github.com/nodejs/node/pull/19201
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-04-11 13:23:24 -04:00
Yang Guo
5c93b3b561
build: add option to build v8 with GN
PR-URL: https://github.com/nodejs/node/pull/19201
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-04-11 13:23:22 -04:00
Joyee Cheung
dd49677096
build: update node.gyp to reference gypfiles/v8.gyp
Refs: f9934aa9cf
Fixes: https://github.com/nodejs/node-v8/issues/36

PR-URL: https://github.com/nodejs/node/pull/19201
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-04-11 13:23:19 -04:00
Michaël Zasso
85ccb63346
deps: update v8.gyp
Synchronize source files list with upstream's BUILD.gn.

PR-URL: https://github.com/nodejs/node/pull/19201
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-04-11 13:23:16 -04:00
Myles Borins
1a3f55fe93
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/19201
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-04-11 13:23:07 -04:00
Jesse Gorzinski
8170f4f463 build: add support for IBM i platform
PR-URL: https://github.com/nodejs/node/pull/19667
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-04-10 10:56:46 -04:00
Ben Noordhuis
a6db6404ff
deps: cherry-pick b767cde1e7 from upstream V8
Original commit message:

    [intl] unbreak build with ICU 57

    Remove a call to `icu::toUCharPtr()` that wasn't present in other
    similar looking call sites either, just reinterpret_cast directly.

    Fixes https://github.com/nodejs/node/issues/19656.

    Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
    Change-Id: If281ce0a39356aa8bd20efb24c3e4b52b06841a3
    Reviewed-on: https://chromium-review.googlesource.com/987953
    Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
    Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl>
    Cr-Commit-Position: refs/heads/master@{#52311}

PR-URL: https://github.com/nodejs/node/pull/19710
Fixes: https://github.com/nodejs/node/issues/19656
Refs: b767cde1e7
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-04-10 00:53:20 +02:00
Michaël Zasso
c6ae8a2810
build: disable V8 untrusted code mitigations
Refs: https://github.com/v8/v8/wiki/Untrusted-code-mitigations

PR-URL: https://github.com/nodejs/node/pull/19222
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2018-03-15 14:45:15 +01:00
Michaël Zasso
cac4da05ad
deps: allow disabling V8 untrusted code mitigations
Add a GYP flag similar to the one defined in BUILD.gn.

PR-URL: https://github.com/nodejs/node/pull/19222
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2018-03-15 14:45:03 +01:00
Michaël Zasso
9759573997 deps: cherry-pick 46c4979 from upstream V8
Original commit message:

    Use wider types for max_old_space_size and co.

    Make --max_old_space_size and friends work with values >= 2**31.
    Such values did not work reliably (or sometimes not all) due to
    signed integer overflow in size computations, which is UB.

    Fixes https://github.com/nodejs/node/issues/18786.

    Bug: chromium:814138
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Ibe23cef2417fd5b4a727022b8b0d4b50f1417182
    Reviewed-on: https://chromium-review.googlesource.com/927063
    Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#51433}

Refs: 46c4979e86

PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-03-07 16:48:52 +01:00
Michaël Zasso
b4c1222acc deps: skip some V8 tests for ppc and s390
PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-03-07 16:48:52 +01:00
Michaël Zasso
9396a9f02c deps: cherry-pick 8bfbe25 from upstream V8
Original commit message:

    [compiler] Fix typing of NumberToString operator.

    It must be monotone.

    R=bmeurer@chromium.org

    Bug: v8:7354
    Change-Id: I08dcd3333518029eef08c074c2b91b5c20ad699e
    Reviewed-on: https://chromium-review.googlesource.com/880982
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Georg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50801}

Refs: 8bfbe25a7c

PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-03-07 16:48:52 +01:00
Michaël Zasso
d68ee7eab7 deps: cherry-pick 04a06c9 from upstream V8
Original commit message:

    [inspector] Make test byte order independent

    Change-Id: If0fdc76170ad29b4d3dadddbb32bc87c307c04af
    Reviewed-on: https://chromium-review.googlesource.com/881883
    Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Commit-Queue: Eugene Ostroukhov <eostroukhov@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50817}

Refs: 04a06c9e7c

PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-03-07 16:48:52 +01:00
Michaël Zasso
549b280b87 build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-03-07 16:48:52 +01:00
Jakob Kummerow
8a54f4f676
deps: cherry-pick 0bcb1d6f from upstream V8
Original commit message:

    Introduce --disallow-code-generation-from-strings

    Exposing the existing Context::AllowCodeGenerationFromStrings(false) API
    to the command line.

    Bug: v8:7134
    Change-Id: I062ccff0b03c5bcf6878c41c455c0ded37a1d743
    Reviewed-on: https://chromium-review.googlesource.com/809631
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49911}

PR-URL: https://github.com/nodejs/node/pull/18212
Refs: 0bcb1d6f2d
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gus Caplan <me@gus.host>
2018-03-05 17:30:45 -08:00
Ben Noordhuis
13cb056e4c
deps: cherry-pick 46c4979e86 from upstream v8
Original commit message:

    Use wider types for max_old_space_size and co.

    Make --max_old_space_size and friends work with values >= 2**31.
    Such values did not work reliably (or sometimes not all) due to
    signed integer overflow in size computations, which is UB.

    Fixes https://github.com/nodejs/node/issues/18786.

    Bug: chromium:814138
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Ibe23cef2417fd5b4a727022b8b0d4b50f1417182
    Reviewed-on: https://chromium-review.googlesource.com/927063
    Commit-Queue: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#51433}

PR-URL: https://github.com/nodejs/node/pull/18920
Fixes: https://github.com/nodejs/node/issues/18786
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-02-22 15:11:55 +00:00
Aaron Bieber
68d9f63347 build: add cflags for OpenBSD, remove stray comma.
PR-URL: https://github.com/nodejs/node/pull/18448
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-02-02 09:55:47 -08:00
Daniel Bevenius
ac7f1e339c
build: make gyp user defined variables lowercase
I mistakenly introduced user defined variables using uppercase
characters, reading the gyp documentation they state:
"Predefined variables. By convention, these are named with
CAPITAL_LETTERS. Predefined variables are set automatically by GYP"
and also "By convention, user-defined variables are named with
lowercase_letters."

This commit renames the user defined variables to lowercase to follow
the above mentioned convention.

PR-URL: https://github.com/nodejs/node/pull/16238
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-02-01 09:51:16 +01:00
Ali Ijaz Sheikh
b06440356d deps: cherry-pick c3bb73f from upstream V8
Original commit message:

    [tracing] implement TRACE_EVENT_ADD_WITH_TIMESTAMP

    Bug:
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Icb3cf7b7f96704e1eaa4c5fbf773b94b70cddc85
    Reviewed-on: https://chromium-review.googlesource.com/861302
    Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
    Cr-Commit-Position: refs/heads/master@{#50549}

Refs: c3bb73f6b9
Refs: https://github.com/nodejs/node/issues/17349
PR-URL: https://github.com/nodejs/node/pull/18196
Refs: https://github.com/nodejs/node/pull/18360
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Andreas Madsen <amwebdk@gmail.com>
2018-01-24 17:15:48 -08:00
Ali Ijaz Sheikh
a1c5dddbb2 deps: cherry-pick 814577e from upstream V8
Original commit message:

    [tracing] allow embedders to provide own tracing timestamps

    Make it possible for embedders to provide their own tracing timetamps by
    providing an overridable virtual function on V8's tracing controller.

    Bug:
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: I727e633cb7f63d4b41c2e427ecca3c9174c90bfe
    Reviewed-on: https://chromium-review.googlesource.com/847690
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
    Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
    Cr-Commit-Position: refs/heads/master@{#50489}

Refs: 814577e3fd
Refs: https://github.com/nodejs/node/issues/17349
PR-URL: https://github.com/nodejs/node/pull/18196
Refs: https://github.com/nodejs/node/pull/18360
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Andreas Madsen <amwebdk@gmail.com>
2018-01-24 17:15:32 -08:00
Gus Caplan
990959d2f6
deps: cherry-pick 0c35b72 from upstream V8
Original commit message:

    [api,modules] Allow GetModuleNamespace on unevaluated modules.

    Bug: v8:7217
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: I97b067254355eb91e12b92eba92631cbc3ce8000
    Reviewed-on: https://chromium-review.googlesource.com/839280
    Commit-Queue: Georg Neis <neis@chromium.org>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50395}

Backport-PR-URL: https://github.com/nodejs/node/pull/17489
PR-URL: https://github.com/nodejs/node/pull/18038
Refs: 0c35b7252a
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
2018-01-24 15:03:06 -08:00
Michaël Zasso
4a16a5d988
build: compile with -std=gnu++1y
It is necessary to enable more C++ features in order to build V8 6.4.

PR-URL: https://github.com/nodejs/node/pull/17489
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2018-01-24 15:02:35 -08:00
Michaël Zasso
fe6bcce9af
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/17489
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2018-01-24 15:02:29 -08:00
Ali Ijaz Sheikh
00687fb504 deps: V8: backport 76c3ac5 from upstream
This fixes a bug in the CPU profiler where some ticks were attributed
to the wrong file.

Original commit message:
  [cpu-profiler] Fix script name when recording inlining info

  Use the script name from the shared function info to create an
  inline entry. Otherwise functions are attributed to the wrong file
  in the CpuProfileNode.

  See https://github.com/GoogleCloudPlatform/cloud-profiler-nodejs/issues/89

  Bug: v8:7203, v8:7241
  Change-Id: I8ea31943741770e6611275a9c93375922b934547
  Reviewed-on: https://chromium-review.googlesource.com/848093
  Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
  Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#50339}

Refs: 76c3ac58b0
PR-URL: https://github.com/nodejs/node/pull/18298
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-01-24 10:25:11 -08:00