New issue
Advanced search Search tips

Issue 646337 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue v8:5376



Sign in to add a comment

d8 should work fully in component=shared_library mode

Project Member Reported by jochen@chromium.org, Sep 13 2016

Issue description

currently, d8 is only fully functional when linked statically, and targets like cctest have hacks in the build files to link statically even if v8 is build with shared libraries (resulting in lots of warnings that we have to suppress).

Instead, we should annotate all symbols we need for d8 and cctests etc with V8_EXPORT_PRIVATE (or just V8_EXPORT).

This will allow for defaulting to component=shared_library builds for debug modes which in turn will make building in debug mode much faster.
 
Is maybe  crbug.com/v8/5376  related?

Comment 2 by jochen@chromium.org, Sep 13 2016

probably
Blocking: v8:5376
Components: -Build -Infra>Client>V8
Labels: Build-Tools-GN
Status: Available (was: Untriaged)
Labels: -Build-Tools-GN Proj-GN-Migration
The Build-Tools-GN label should only be used for issues w/ GN itself. I swapped it out for Proj-GN-Migration instead.

Comment 6 by jochen@chromium.org, Sep 13 2016

Labels: -Proj-GN-Migration
that's not related to gn at all

Comment 7 by jochen@chromium.org, Sep 14 2016

Owner: jgruber@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2c10ca8086a4d595ecf9aa843d2031b068470d65

commit 2c10ca8086a4d595ecf9aa843d2031b068470d65
Author: jgruber <jgruber@chromium.org>
Date: Mon Sep 19 12:47:04 2016

[d8] Fix the shared-library build

This commit ensures that the d8 shared library build uses the same logic as
the standard static build by exporting relevant functions and classes.

BUG= chromium:646337 

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

[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/BUILD.gn
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/include/v8.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/allocation.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/basic-block-profiler.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/d8.cc
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/d8.gyp
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/d8.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/factory.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/flag-definitions.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/globals.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/heap/heap.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/heap/incremental-marking.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/heap/mark-compact.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/heap/spaces.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/inspector/BUILD.gn
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/interpreter/interpreter.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/ostreams.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/snapshot/natives.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/utils.h
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/v8.gyp
[modify] https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65/src/wasm/wasm-js.h

Does this fix  issue v8:5376 ?
Yes, closed 5376.
Status: Fixed (was: Assigned)
d8 is now fully functional in component builds.
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/298ee9cde1577f2b24969d09032b6fb97e141e5a

commit 298ee9cde1577f2b24969d09032b6fb97e141e5a
Author: machenbach <machenbach@chromium.org>
Date: Tue Sep 20 07:12:39 2016

Revert of [d8] Fix the shared-library build (patchset #12 id:20002 of https://codereview.chromium.org/2342563002/ )

Reason for revert:
Unblocking roll

Original issue's description:
> [d8] Fix the shared-library build
>
> This commit ensures that the d8 shared library build uses the same logic as
> the standard static build by exporting relevant functions and classes.
>
> BUG= chromium:646337 
>
> Committed: https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65
> Cr-Commit-Position: refs/heads/master@{#39503}

TBR=jochen@chromium.org,vogelheim@chromium.org,bmeurer@chromium.org,titzer@chromium.org,jgruber@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:646337 

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

[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/BUILD.gn
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/include/v8.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/allocation.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/basic-block-profiler.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/d8.cc
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/d8.gyp
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/d8.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/factory.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/flag-definitions.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/globals.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/heap/heap.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/heap/incremental-marking.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/heap/mark-compact.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/heap/spaces.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/inspector/BUILD.gn
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/interpreter/interpreter.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/ostreams.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/snapshot/natives.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/utils.h
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/v8.gyp
[modify] https://crrev.com/298ee9cde1577f2b24969d09032b6fb97e141e5a/src/wasm/wasm-js.h

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4f5695229e49a7615bf7b03d26209314ffa48985

commit 4f5695229e49a7615bf7b03d26209314ffa48985
Author: jgruber <jgruber@chromium.org>
Date: Tue Sep 20 12:06:34 2016

[d8] Fix the shared-library build

This commit ensures that the d8 shared library build uses the same logic as
the standard static build by exporting relevant functions and classes.

BUG= chromium:646337 

Committed: https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65
Review-Url: https://codereview.chromium.org/2342563002
Cr-Original-Commit-Position: refs/heads/master@{#39503}
Cr-Commit-Position: refs/heads/master@{#39547}

[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/BUILD.gn
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/include/v8.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/allocation.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/basic-block-profiler.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/d8.cc
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/d8.gyp
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/d8.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/factory.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/flag-definitions.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/globals.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/heap/heap.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/heap/incremental-marking.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/heap/mark-compact.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/heap/spaces.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/inspector/BUILD.gn
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/interpreter/interpreter.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/ostreams.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/snapshot/natives.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/utils.cc
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/utils.h
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/v8.gyp
[modify] https://crrev.com/4f5695229e49a7615bf7b03d26209314ffa48985/src/wasm/wasm-js.h

Sign in to add a comment