Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v8.x] deps: update V8 to 6.2 #16413

Closed
wants to merge 24 commits into from
Closed

Conversation

targos
Copy link
Member

@targos targos commented Oct 23, 2017

/cc @nodejs/v8

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

V8

@targos targos added dont-land-on-v4.x semver-minor PRs that contain new features and should be released in the next minor version. v8 engine Issues and PRs related to the V8 dependency. labels Oct 23, 2017
@nodejs-github-bot nodejs-github-bot added tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency. v8.x labels Oct 23, 2017
@targos
Copy link
Member Author

targos commented Oct 23, 2017

@addaleax

Fwiw, for reasonable API/ABI compat to 6.1 I think all we need is:

  • addaleax/node@338b581 – Move new PARSER enum value to end of enum
  • addaleax/node@82807a8 – Revert removal of deprecated method
  • Fix up the internal values of JS_API_OBJECT_TYPE to match what’s declared in v8.h. @targos I think you had a better solution than me the last time we needed to do that, do you remember what you did for it?

Thanks. I cherry-picked your commits. For the internal values, see cb3dfe9. Usually it's because a new value is added to the enum before the ones exposed in v8.h. I just moved it to a lower place.

I wonder if we also need to revert the change to the StateTag enum (or reorder it too?).

@addaleax
Copy link
Member

I wonder if we also need to revert the change to the StateTag enum (or reorder it too?).

Doesn’t addaleax@338b581 catch that? It’s reordering rather than reverting but I think that should be fine for defensively coded applications (if there are any)

@targos
Copy link
Member Author

targos commented Oct 23, 2017

@addaleax ah sorry I didn't see it was about this enum. The current diff looks like this though:
image

It looks like BYTECODE_COMPILER should also be moved to the end?

@addaleax
Copy link
Member

@targos Hm, right – guess I didn’t catch that? Do you want to update the commit?

@targos
Copy link
Member Author

targos commented Oct 23, 2017

Yes, I can update the commit tomorrow.

I will also have to revert the move of JS_MODULE_NAMESPACE_TYPE from v8/v8@ddec1c4

@targos
Copy link
Member Author

targos commented Oct 24, 2017

Updated. Do we care about tools/v8heapconst.py ? In case we do, I don't know how to regenerate that file.

Edit: well, the heap-profiler addon test is broken now, so I guess we do care.

=== release test ===                                                           
Path: addons/heap-profiler/test
Command: out/Release/node /home/mzasso/git/nodejs/node-v8/test/addons/heap-profiler/test.js
--- CRASHED (Signal: 11) ---
[02:25|% 100|+ 2006|-   1]: Done                                               
make: *** [Makefile:213: test] Error 1

@hashseed
Copy link
Member

I think it was through make postmortem-data or something...

@bnoordhuis
Copy link
Member

Some things I noticed:

  1. Missing HeapProfiler::GetProfilerMemorySize() - could be reimplemented in api.cc as a method returning 0.

  2. Replacing TransferrableModule move constructor and assignment operator with default implementations. The operator lived in api.cc so that's certainly an ABI change; the constructor was inline but it probably still qualifies as an ABI change.

  3. New default arguments in Context::SetDefaultContext() and Context::New().

Apropos v8heapconst: AFAIK, that's created by grokdump, which we don't use.

@addaleax
Copy link
Member

@bnoordhuis re: TransferrableModule … for the previous upgrades in 8.x I think we pretty much agreed to leave the ES Modules/WASM stuff aside.

@psmarshall
Copy link
Contributor

Yep, v8heapconst.py can be generated with (from v8 directory):

out/x64.release/mkgrokdump > tools/v8heapconst.py

@MylesBorins MylesBorins added the wip Issues and PRs that are still a work in progress. label Oct 30, 2017
@gibfahn gibfahn force-pushed the v8.x-staging branch 6 times, most recently from 97c2301 to ab0d7a6 Compare October 31, 2017 00:16
@targos targos force-pushed the v8.x-v8-6.2 branch 2 times, most recently from 82970f5 to ea9643d Compare November 14, 2017 09:30
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 6.2.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
PR-URL: #16413
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
With V8 6.2 there is one line less in the promise trace.

PR-URL: #15362
Backport-PR-URL: #16413
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
PR-URL: #15362
Backport-PR-URL: #16413
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
PR-URL: #15362
Backport-PR-URL: #16413
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    [api] Add optional data pointer to GC callbacks

    This can be useful when there may be multiple callbacks attached by
    code that's not directly tied to a single isolate, e.g. working
    on a per-context basis.

    This also allows rephrasing the global non-isolate APIs in terms
    of this new API, rather than working around it inside `src/heap`.

    [email protected]

    Bug:
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: I2e490ec40d1a34ea812f25f41ef9741d2116d965
    Reviewed-on: https://chromium-review.googlesource.com/647548
    Reviewed-by: Yang Guo <[email protected]>
    Reviewed-by: Adam Klein <[email protected]>
    Commit-Queue: Yang Guo <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47923}

PR-URL: #15391
Backport-PR-URL: #16413
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
This change fixes a potential segfault in the sampling heap profiler.
This landed as part of a larger change upstream [1]. This is the minimal
backport that avoids the segfault.

[1]: https://git.io/vdTYL

PR-URL: #15498
Backport-PR-URL: #16413
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    avoid constructor inheritance due to compilation issues

    Constructor inheritance of a templated constructor is causing compilation issues for node.js:

    https: //github.com//pull/15362#issue-257007421
    Change-Id: I7d099ff5a1a2fd5b19c11112ddef8fe824e509f7
    Reviewed-on: https://chromium-review.googlesource.com/707008
    Commit-Queue: Tobias Tebbi <[email protected]>
    Commit-Queue: Benedikt Meurer <[email protected]>
    Reviewed-by: Benedikt Meurer <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#48445}

Refs: v8/v8@0f1dfae
PR-URL: #15362
Backport-PR-URL: #16413
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:
  [api] Intercept DefineProperty after Descriptor query

  Analog to other interceptors, intercept the DefineProperty
  call only after obtaining the property descriptor.

  This behavior allows us to mirror calls on a sandboxed object
  as it is needed in Node. See for example
  #13265

  Bug:
  Change-Id: I73b8f8908d13473939b37fb6727858d0bee6bda3
  Reviewed-on: https://chromium-review.googlesource.com/725295
  Reviewed-by: Andreas Haas <[email protected]>
  Commit-Queue: Franziska Hinkelmann <[email protected]>
  Cr-Commit-Position: refs/heads/master@{#48683}

PR-URL: #16294
Backport-PR-URL: #16413
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    [heap] Ensure progress in unmapping memory chunks.

    If sweeping is not making progress and there are many young generation
    GCs happening, then this can lead to accumulation of memory chunks in
    the unmapper queue.

    Bug: chromium:771966
    Change-Id: Ief73ada0d17198a80b668850c6d2e7ea413113e7
    Reviewed-on: https://chromium-review.googlesource.com/702479
    Reviewed-by: Michael Lippautz <[email protected]>
    Commit-Queue: Ulan Degenbaev <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#48312}

Refs: v8/v8@2c75616
Refs: nodejs/help#917 (comment)
Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=771966

PR-URL: #16490
Backport-PR-URL: #16413
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    [heap] Fix threshold for delayed chunks after 2c7561.

    Bug: chromium:771966
    Change-Id: Iac5ee55c0d31de477f21f091f4be015a1ca8d00c
    Reviewed-on: https://chromium-review.googlesource.com/702382
    Reviewed-by: Michael Lippautz <[email protected]>
    Commit-Queue: Ulan Degenbaev <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#48316}

Refs: v8/v8@676c413
Refs: nodejs/help#917 (comment)
Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=771966

PR-URL: #16490
Backport-PR-URL: #16413
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    [heap] Print the number of chunks in unmapper queue in --trace-gc-nvp

    Bug: chromium:771966
    Change-Id: I146b279c4713b7dd716c6d55ca5e6c6e23a3ad7e
    Reviewed-on: https://chromium-review.googlesource.com/704740
    Reviewed-by: Michael Lippautz <[email protected]>
    Commit-Queue: Ulan Degenbaev <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#48338}

Refs: v8/v8@e0d64dc
Refs: nodejs/help#917 (comment)
Refs: https://bugs.chromium.org/p/chromium/issues/detail?id=771966

PR-URL: #16490
Backport-PR-URL: #16413
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Ali Ijaz Sheikh <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:
  [inspector] added V8InspectorClient::maxAsyncCallStackDepthChanged

  [email protected]

  Bug: none
  Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
  Change-Id: I0fa10978266feb3c3907ce1f3386ae7a34a33582
  Reviewed-on: https://chromium-review.googlesource.com/726490
  Reviewed-by: Dmitry Gozman <[email protected]>
  Commit-Queue: Aleksey Kozyatinskiy <[email protected]>
  Cr-Commit-Position: refs/heads/master@{#48705}

PR-URL: #16308
Backport-PR-URL: #16413
Refs: v8/v8@b1cd96e
Reviewed-By: Eugene Ostroukhov <[email protected]>
Reviewed-By: Refael Ackermann <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Timothy Gu <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    I believe the paths to the V8 include headers are incorrect. The
    paths to other sources seem to be relative to the parent directory.

    When building Node.js I get the following warning on Windows:
    Warning: Missing input files:
    deps\v8\src\..\..\include\v8-inspector-protocol.h
    deps\v8\src\..\..\include\v8-inspector.h

    This commit updates the two include paths.

    Bug:
    Change-Id: I51a057abba61e294e7811ba69db03e283b0bdc3f
    Reviewed-on: https://chromium-review.googlesource.com/743981
    Reviewed-by: Aleksey Kozyatinskiy <[email protected]>
    Commit-Queue: Aleksey Kozyatinskiy <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#49121}

This commit also increments the v8_embedder_string version.

PR-URL: #16900
Backport-PR-URL: #16413
Fixes: #16614
Refs: v8/v8@b8331cc
Reviewed-By: Ben Noordhuis <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
This fixes the flaky message/console test on our CI.

Original commit message:
  [test/message] Allow numbers to have more than one leading digit.

  The {NUMBER} regexp only allowed one, leading to occasional test
  failures such as:
  https://build.chromium.org/p/client.v8/builders/V8%20Mac%20-%20debug/builds/17156

  Bug:
  Change-Id: I25a08b80640d9af19ba70c61c846163685f1cb82
  Reviewed-on: https://chromium-review.googlesource.com/753322
  Reviewed-by: Franziska Hinkelmann <[email protected]>
  Commit-Queue: Georg Neis <[email protected]>
  Cr-Commit-Position: refs/heads/master@{#49109}

PR-URL: #16890
Backport-PR-URL: #16413
Ref: nodejs/build#936
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Daniel Bevenius <[email protected]>
Reviewed-By: James M Snell <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    [coverage] Correctly free DebugInfo in the absence of breakpoints

    It's quite possible for DebugInfos to exist without the presence of a
    bytecode array, since DebugInfos are created for all functions for which
    we have a CoverageInfo. Free such objects properly.

    Also move the corresponding deletion of CoverageInfos on unload up
    before the early exit.

    Bug: v8:6000
    Change-Id: Idde45b222290aa8b6828b61ff2251918b8ed2aed
    Reviewed-on: https://chromium-review.googlesource.com/664811
    Reviewed-by: Yang Guo <[email protected]>
    Commit-Queue: Jakob Gruber <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#48024}

Fixes crash when passing Profiler.startPreciseCoverage before
Debug.paused is received.

PR-URL: #17344
Backport-PR-URL: #16413
Refs: v8/v8@1420e44
Refs: bcoe/c8#6 (comment)
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:
    Fix map constructor to correctly throw.

    We need to throw before rethrowing, otherwise the exception does
    not trigger a debugger event and is not reported if uncaught.

    [email protected], [email protected]

    Bug: v8:7047
    Change-Id: I7ce0253883a21d6059e4e0ed0fc56dc55a0dcba6
    Reviewed-on: https://chromium-review.googlesource.com/758372
    Reviewed-by: Jakob Gruber <[email protected]>
    Reviewed-by: Sathya Gunasekaran <[email protected]>
    Commit-Queue: Yang Guo <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#49237}

Fixes: #17270
PR-URL: #17383
Backport-PR-URL: #16413
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Refael Ackermann <[email protected]>
Reviewed-By: Yang Guo <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:
  [cpu-profiler] Clear code entries when no observers are present.

  Performed manual testing as well by making 20 CPU profile recordings of
  loading http://meduza.io page. Without the patch the page renderer memory size
  grows beyond 300MB. With the patch it remains below 200MB.

  BUG=v8:6623

  Change-Id: Ifce541b84bb2aaaa5175520f8dd49dbc0cb5dd20
  Reviewed-on: https://chromium-review.googlesource.com/798020
  Commit-Queue: Alexei Filippov <[email protected]>
  Reviewed-by: Yang Guo <[email protected]>
  Cr-Commit-Position: refs/heads/master@{#49914}

Ref: v8/v8@14ac02c
PR-URL: #17512
Backport-PR-URL: #16413
Reviewed-By: Timothy Gu <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:
  [interpreter] Remove TryInstallOptimizedCode

  Removes the interrupt check and runtime call to TryInstallOptimizedCode
  from the optimization marker checks (i.e. CompileLazy and
  InterpreterEntryTrampoline). Instead, we rely on the other interrupt
  sources (in particular stack checks at function entries and loop
  headers) to install optimized code for us.

  This will hopefully not cause regressions, as we have plenty of other
  interrupt checks, but it may delay optimized code execution for
  some function by one function call.

  Bug:  v8:6933
  Change-Id: Ieadfff7ae2078d2a84085294158ad9a706eb9c64
  Reviewed-on: https://chromium-review.googlesource.com/723475
  Reviewed-by: Ross McIlroy <[email protected]>
  Commit-Queue: Leszek Swirski <[email protected]>
  Cr-Commit-Position: refs/heads/master@{#48667}

Ref: https://bugs.chromium.org/p/v8/issues/detail?id=6933
Ref: v8/v8@ac0fe8e
PR-URL: #17695
Backport-PR-URL: #16413
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Original commit message:

    [parser] Add new FunctionNameInferrer state before parsing param

    Create new state before parsing FormalParameter because we don't
    want to use any of the parameters as an inferred function name.

    Previously the stacktrace was:
      test.js:3: Error: boom
          throw new Error('boom');
          ^
      Error: boom
          at param (test.js:3:11)
          at test.js:4:5
          at test.js:6:3

    The stacktrace with this patch:
      test.js:3: Error: boom
          throw new Error('boom');
          ^
      Error: boom
          at test.js:3:11
          at test.js:4:5
          at test.js:6:3

    Bug: v8:6822, v8:6513
    Change-Id: Ifbadc660fc4e85248af405acd67c025f11662bd4
    Reviewed-on: https://chromium-review.googlesource.com/742657
    Reviewed-by: Adam Klein <[email protected]>
    Commit-Queue: Sathya Gunasekaran <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#49042}

PR-URL: #18060
Backport-PR-URL: #16413
Fixes: #15386
Refs: v8/v8@c3458a8
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Below is the list of changes:

    [ABI] deps: move new PARSER value to end of enum

    [ABI] deps: revert 749b9c062ea from upstream V8

    Original commit message:

        Remove deprecated allow code-gen callback

        BUG=chromium:732736
        [email protected]

        Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
        Change-Id: I2c0a96b76ae977e53a418d22175bcc487f548786
        Reviewed-on: https://chromium-review.googlesource.com/543238
        Reviewed-by: Marja Hölttä <[email protected]>
        Commit-Queue: Jochen Eisinger <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#47509}

    [ABI] deps: reorder InstanceType enum for ABI compat

    [ABI] deps: restore HeapProfiler::GetProfilerMemorySize()

    Reimplemented as a method returning 0.

    [ABI] deps: partially revert a5f321cd9bf

    Remove default arguments from `Context::SetDefaultContext()`
    and `Context::New()`.

    Refs: v8/v8@a5f321cd9bf

    [ABI] deps: revert change to ComputeMaxSemiSpaceSize

    Refs: v8/v8@2178bba

PR-URL: #16413
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Below is the list of changes:

    deps: revert 70de12b73c150 from upstream V8

    Original commit message:

        Remove deprecated ForceSet

        Also move the soon-to-be-deprecated version to deprecated

        BUG=none
        [email protected]

        Change-Id: I2252404f63e25ac35c7798daf66b36144bef6a7e
        Reviewed-on: https://chromium-review.googlesource.com/518162
        Reviewed-by: Ulan Degenbaev <[email protected]>
        Commit-Queue: Jochen Eisinger <[email protected]>
        Cr-Commit-Position: refs/heads/master@{#45554}

    [squash] use renamed internal utilities

    v8: reorder V8_INTRINSICS_LIST for ABI compat

    Make `kErrorPrototype` added at the end of the `Intrinsic` for
    ABI compatibility.

    deps: revert 0089c786ed882 from V8 upstream

    Original commit message:

        Merged: Squashed multiple commits.

        Merged: [heap] Add API to set heap semi-space limits in KB.
        Revision: bb29f9a4d6fb5e32

        Merged: [heap] Partially reland "Allow a minimum semi-space size of 512K."
        Revision: 7486dc3331

        Merged: [heap] Set initial semi-space size to 512K.
        Revision: a5230d81d1f73c

        BUG=chromium:716032,chromium:735649
        LOG=N
        NOTRY=true
        NOPRESUBMIT=true
        NOTREECHECKS=true
        [email protected]

        Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
        Change-Id: Ia9946e28ce41dee6199fac571274aa196576385b
        Reviewed-on: https://chromium-review.googlesource.com/616283
        Reviewed-by: Michael Lippautz <[email protected]>
        Cr-Commit-Position: refs/branch-heads/6.1@{#47}
        Cr-Branched-From: 1bf2e10ddb194d4c2871a87a4732613419de892d-refs/heads/6.1.534@{#1}
        Cr-Branched-From: e825c4318eb2065ffdf9044aa6a5278635c36427-refs/heads/master@{#46746}

    v8: work around callback typedef renaming

    Do some clever tricks to have an easy way around
    V8 renaming one of its typedef to a deprecated version and then
    introducing a new typedef with the same name.

    deps: revert 5ebd6fcd269de from V8 upstream

    Original commit message:

        [heap] Lower external allocation limit when external memory shrinks.

        BUG=chromium:728228
        CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

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

    deps: revert cf8f7bdc9d5ee from V8 upstream

    Original commit message:

        [heap] Increase memory reducer activation limit for external memory changes.

        BUG=chromium:729521
        CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

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

    deps: revert 11fc9fab94d48 from V8 upstream

    Original commit message:

        [heap] Guard against re-entering GC on external memory change.

        [email protected]
        BUG=chromium:729868,chromium:729521
        CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

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

    deps: revert 502c6ae6a0397 from V8 upstream

    Original commit message:

        [heap] Activate memory reducer on external memory activity.

        BUG=chromium:728228,chromium:626082
        CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

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

    v8: revert changes to Contents structs

    The feature is disabled by default anyway,but we disable it completely.

Refs: #15393
PR-URL: #15393
Backport-PR-URL: #16413
Author: Anna Henningsen <[email protected]>
Author: Peter Marshall <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
This reverts commit 3ea6dbd8ad9669195849fd0c65e370eebc7a4786.
NODE_MODULE_VERSION is set back to 57

PR-URL: #16413
gibfahn pushed a commit that referenced this pull request Feb 18, 2018
Work around some C++11 shortcomings in Visual Studio 2013:

1. Replace `constexpr` with `const`, and
2. Remove default move constructors and assignment operators.

PR-URL: #16413
@gibfahn
Copy link
Member

gibfahn commented Feb 18, 2018

Landed in 072902a...2a2c881

@gibfahn gibfahn closed this Feb 18, 2018
gibfahn added a commit that referenced this pull request Mar 6, 2018
Notable changes:

* deps:
  * update V8 to 6.2.414.46 (Michaël Zasso) [#16413](#16413)
  * revert ABI breaking changes in V8 6.2 (Anna Henningsen) [#16413](#16413)
  * upgrade libuv to 1.19.1 (cjihrig) [#18260](#18260)
  * re land npm 5.6.0 (Myles Borins) [#18625](#18625)
  * ICU 60 bump (Steven R. Loomis) [#16876](#16876)
* crypto:
  * Support both OpenSSL 1.1.0 and 1.0.2 (David Benjamin) [#16130](#16130)
  * warn on invalid authentication tag length (Tobias Nießen) [#17566](#17566)
* async_hooks:
  * update defaultTriggerAsyncIdScope for perf (Anatoli Papirovski) [#18004](#18004)
  * use typed array stack as fast path (Anna Henningsen) [#17780](#17780)
  * use scope for defaultTriggerAsyncId (Andreas Madsen) [#17273](#17273)
  * separate missing from default context (Andreas Madsen) [#17273](#17273)
  * rename initTriggerId (Andreas Madsen) [#17273](#17273)
  * deprecate undocumented API (Andreas Madsen) [#16972](#16972)
  * add destroy event for gced AsyncResources (Sebastian Mayr) [#16998](#16998)
  * add trace events to async_hooks (Andreas Madsen) [#15538](#15538)
  * set HTTPParser trigger to socket (Andreas Madsen) [#18003](#18003)
  * add provider types for net server (Andreas Madsen) [#17157](#17157)
* n-api:
  * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109)
* cli:
  * add --stack-trace-limit to NODE_OPTIONS (Anna Henningsen) [#16495](#16495)
* console:
  * add support for console.debug (Benjamin Zaslavsky) [#17033](#17033)
* module:
  * add builtinModules (Jon Moss) [#16386](#16386)
  * replace default paths in require.resolve() (cjihrig) [#17113](#17113)
* src:
  * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109)
  * add process.ppid (cjihrig) [#16839](#16839)
* http:
  * support generic `Duplex` streams (Anna Henningsen) [#16267](#16267)
  * add rawPacket in err of `clientError` event (XadillaX) [#17672](#17672)
  * better support for IPv6 addresses (Mattias Holmlund) [#14772](#14772)
* net:
  * remove ADDRCONFIG DNS hint on Windows (Bartosz Sosnowski) [#17662](#17662)
* process:
  * fix reading zero-length env vars on win32 (Anna Henningsen) [#18463](#18463)
* tls:
  * unconsume stream on destroy (Anna Henningsen) [#17478](#17478)
* process:
  * improve unhandled rejection message (Madara Uchiha) [#17158](#17158)
* stream:
  * remove usage of *State.highWaterMark (Calvin Metcalf) [#12860](#12860)
* trace_events:
  * add executionAsyncId to init events (Andreas Madsen) [#17196](#17196)

PR-URL: #18336
gibfahn added a commit that referenced this pull request Mar 7, 2018
Notable changes:

* deps:
  * update V8 to 6.2.414.46 (Michaël Zasso) [#16413](#16413)
  * revert ABI breaking changes in V8 6.2 (Anna Henningsen) [#16413](#16413)
  * upgrade libuv to 1.19.1 (cjihrig) [#18260](#18260)
  * re land npm 5.6.0 (Myles Borins) [#18625](#18625)
  * ICU 60 bump (Steven R. Loomis) [#16876](#16876)
* crypto:
  * Support both OpenSSL 1.1.0 and 1.0.2 (David Benjamin) [#16130](#16130)
  * warn on invalid authentication tag length (Tobias Nießen) [#17566](#17566)
* async_hooks:
  * update defaultTriggerAsyncIdScope for perf (Anatoli Papirovski) [#18004](#18004)
  * use typed array stack as fast path (Anna Henningsen) [#17780](#17780)
  * use scope for defaultTriggerAsyncId (Andreas Madsen) [#17273](#17273)
  * separate missing from default context (Andreas Madsen) [#17273](#17273)
  * rename initTriggerId (Andreas Madsen) [#17273](#17273)
  * deprecate undocumented API (Andreas Madsen) [#16972](#16972)
  * add destroy event for gced AsyncResources (Sebastian Mayr) [#16998](#16998)
  * add trace events to async_hooks (Andreas Madsen) [#15538](#15538)
  * set HTTPParser trigger to socket (Andreas Madsen) [#18003](#18003)
  * add provider types for net server (Andreas Madsen) [#17157](#17157)
* n-api:
  * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109)
* cli:
  * add --stack-trace-limit to NODE_OPTIONS (Anna Henningsen) [#16495](#16495)
* console:
  * add support for console.debug (Benjamin Zaslavsky) [#17033](#17033)
* module:
  * add builtinModules (Jon Moss) [#16386](#16386)
  * replace default paths in require.resolve() (cjihrig) [#17113](#17113)
* src:
  * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109)
  * add process.ppid (cjihrig) [#16839](#16839)
* http:
  * support generic `Duplex` streams (Anna Henningsen) [#16267](#16267)
  * add rawPacket in err of `clientError` event (XadillaX) [#17672](#17672)
  * better support for IPv6 addresses (Mattias Holmlund) [#14772](#14772)
* net:
  * remove ADDRCONFIG DNS hint on Windows (Bartosz Sosnowski) [#17662](#17662)
* process:
  * fix reading zero-length env vars on win32 (Anna Henningsen) [#18463](#18463)
* tls:
  * unconsume stream on destroy (Anna Henningsen) [#17478](#17478)
* process:
  * improve unhandled rejection message (Madara Uchiha) [#17158](#17158)
* stream:
  * remove usage of *State.highWaterMark (Calvin Metcalf) [#12860](#12860)
* trace_events:
  * add executionAsyncId to init events (Andreas Madsen) [#17196](#17196)

PR-URL: #18336
@targos targos deleted the v8.x-v8-6.2 branch April 19, 2018 13:38
MayaLekova pushed a commit to MayaLekova/node that referenced this pull request May 8, 2018
Notable changes:

* deps:
  * update V8 to 6.2.414.46 (Michaël Zasso) [nodejs#16413](nodejs#16413)
  * revert ABI breaking changes in V8 6.2 (Anna Henningsen) [nodejs#16413](nodejs#16413)
  * upgrade libuv to 1.19.1 (cjihrig) [nodejs#18260](nodejs#18260)
  * re land npm 5.6.0 (Myles Borins) [nodejs#18625](nodejs#18625)
  * ICU 60 bump (Steven R. Loomis) [nodejs#16876](nodejs#16876)
* crypto:
  * Support both OpenSSL 1.1.0 and 1.0.2 (David Benjamin) [nodejs#16130](nodejs#16130)
  * warn on invalid authentication tag length (Tobias Nießen) [nodejs#17566](nodejs#17566)
* async_hooks:
  * update defaultTriggerAsyncIdScope for perf (Anatoli Papirovski) [nodejs#18004](nodejs#18004)
  * use typed array stack as fast path (Anna Henningsen) [nodejs#17780](nodejs#17780)
  * use scope for defaultTriggerAsyncId (Andreas Madsen) [nodejs#17273](nodejs#17273)
  * separate missing from default context (Andreas Madsen) [nodejs#17273](nodejs#17273)
  * rename initTriggerId (Andreas Madsen) [nodejs#17273](nodejs#17273)
  * deprecate undocumented API (Andreas Madsen) [nodejs#16972](nodejs#16972)
  * add destroy event for gced AsyncResources (Sebastian Mayr) [nodejs#16998](nodejs#16998)
  * add trace events to async_hooks (Andreas Madsen) [nodejs#15538](nodejs#15538)
  * set HTTPParser trigger to socket (Andreas Madsen) [nodejs#18003](nodejs#18003)
  * add provider types for net server (Andreas Madsen) [nodejs#17157](nodejs#17157)
* n-api:
  * add helper for addons to get the event loop (Anna Henningsen) [nodejs#17109](nodejs#17109)
* cli:
  * add --stack-trace-limit to NODE_OPTIONS (Anna Henningsen) [nodejs#16495](nodejs#16495)
* console:
  * add support for console.debug (Benjamin Zaslavsky) [nodejs#17033](nodejs#17033)
* module:
  * add builtinModules (Jon Moss) [nodejs#16386](nodejs#16386)
  * replace default paths in require.resolve() (cjihrig) [nodejs#17113](nodejs#17113)
* src:
  * add helper for addons to get the event loop (Anna Henningsen) [nodejs#17109](nodejs#17109)
  * add process.ppid (cjihrig) [nodejs#16839](nodejs#16839)
* http:
  * support generic `Duplex` streams (Anna Henningsen) [nodejs#16267](nodejs#16267)
  * add rawPacket in err of `clientError` event (XadillaX) [nodejs#17672](nodejs#17672)
  * better support for IPv6 addresses (Mattias Holmlund) [nodejs#14772](nodejs#14772)
* net:
  * remove ADDRCONFIG DNS hint on Windows (Bartosz Sosnowski) [nodejs#17662](nodejs#17662)
* process:
  * fix reading zero-length env vars on win32 (Anna Henningsen) [nodejs#18463](nodejs#18463)
* tls:
  * unconsume stream on destroy (Anna Henningsen) [nodejs#17478](nodejs#17478)
* process:
  * improve unhandled rejection message (Madara Uchiha) [nodejs#17158](nodejs#17158)
* stream:
  * remove usage of *State.highWaterMark (Calvin Metcalf) [nodejs#12860](nodejs#12860)
* trace_events:
  * add executionAsyncId to init events (Andreas Madsen) [nodejs#17196](nodejs#17196)

PR-URL: nodejs#18336
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-agenda Issues and PRs to discuss during the meetings of the Release team. semver-minor PRs that contain new features and should be released in the next minor version. tools Issues and PRs related to the tools directory. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.