★ wanayoo — archive 1999 https://github.com/nodejs/llnode/pull/204Nouvelle recherche | Portail wanayoo
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

src: add node's internals constants #204

Merged
merged 1 commit into from Jun 22, 2018

Conversation

@mmarchini
Copy link
Member

@mmarchini mmarchini commented Jun 13, 2018

This commit refactors llv8-constants to make it easier to introduce
Node's internals constants. Common code for llv8 and node constants is
now on src/constants.h. Also moved the Error class to its own file,
removing the dependency on src/llv8.h to use Errors.

@mmarchini
Copy link
Member Author

@mmarchini mmarchini commented Jun 13, 2018

Split from #122 as I think it will be easier to review these changes in separate PRs.

Copy link
Member

@joyeecheung joyeecheung left a comment

Generally LGTM with some suggestions


llv8()->Load(target_);

SBStream desc;

This comment has been minimized.

@joyeecheung

joyeecheung Jun 14, 2018
Member

Are desc and selected_frame used anywhere?

}
visited_contexts.insert(val.raw());
v8::Context context(val);
v8::Value native = context.Native(v8_err);

This comment has been minimized.

@joyeecheung

joyeecheung Jun 14, 2018
Member

It would be cleaner if we put this into a Context::IsNativeConext()

v8::Context context(val);
v8::Value native = context.Native(v8_err);
if (v8_err.Success()) {
if (native.raw() == context.raw()) {

This comment has been minimized.

@joyeecheung

joyeecheung Jun 14, 2018
Member

This works, but V8 seems to prefer comparing the map with kNativeContextMapRootIndex (not yet available in the post-mortem constants, it seems)

llv8()->Load(target_);

v8::FixedArray contextArray = v8::FixedArray(context);
v8::FixedArray embed = contextArray.Get<v8::FixedArray>(

This comment has been minimized.

@joyeecheung

joyeecheung Jun 14, 2018
Member

It may be cleaner if we wrap this into a Context::GetEmbedderData(index)

@mmarchini
Copy link
Member Author

@mmarchini mmarchini commented Jun 18, 2018

If there are no objections I'd like to land this by the end of the week.

This commit refactors llv8-constants to make it easier to introduce
Node's internals constants. Common code for llv8 and node constants is
now on src/constants.h. Also moved the Error class to its own file,
removing the dependency on src/llv8.h to use Errors.

PR-URL: #204
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
@mmarchini mmarchini force-pushed the mmarchini:node_internals_constants branch from b58b51d to 3c3fb94 Jun 22, 2018
@mmarchini mmarchini merged commit 3c3fb94 into nodejs:master Jun 22, 2018
1 check failed
1 check failed
Travis CI - Pull Request Build Canceled
Details
@mmarchini
Copy link
Member Author

@mmarchini mmarchini commented Jun 22, 2018

Landed in 3c3fb94

kisg pushed a commit to paul99/v8mips that referenced this pull request Jul 16, 2018
  * JS_ERROR_TYPE is required for postmortem tools to inspect JSError
    objects (see nodejs/llnode#215 for a usage
    example)
  * The context embedder index is required for postmortem tools to
    access embedder data stored in the context (see
    nodejs/llnode#204 for a usage example)

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

Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
Reviewed-on: https://chromium-review.googlesource.com/1138493
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54475}
mmarchini added a commit to mmarchini/node that referenced this pull request Jul 23, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect JSError
        objects (see nodejs/llnode#215 for a usage
        example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693
mmarchini added a commit to nodejs/node that referenced this pull request Jul 25, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

PR-URL: #21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
targos added a commit to targos/node that referenced this pull request Jul 25, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

PR-URL: nodejs#21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
targos added a commit to targos/node that referenced this pull request Jul 26, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

PR-URL: nodejs#21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
targos added a commit to nodejs/node that referenced this pull request Jul 26, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

PR-URL: #21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
targos added a commit to targos/node that referenced this pull request Jul 26, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

PR-URL: nodejs#21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
mmarchini added a commit to mmarchini/node that referenced this pull request Aug 7, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

PR-URL: nodejs#21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
MylesBorins added a commit to nodejs/node that referenced this pull request Aug 7, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

Backport-PR-URL: #22177
PR-URL: #21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
MylesBorins added a commit to nodejs/node that referenced this pull request Aug 7, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

Backport-PR-URL: #22177
PR-URL: #21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
MylesBorins added a commit to nodejs/node that referenced this pull request Aug 9, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

Backport-PR-URL: #22177
PR-URL: #21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
MylesBorins added a commit to nodejs/node that referenced this pull request Aug 10, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

Backport-PR-URL: #21668
PR-URL: #21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
MylesBorins added a commit to nodejs/node that referenced this pull request Aug 16, 2018
Original commit message:

    [postmortem] add JS_ERROR_TYPE and context embedder index

      * JS_ERROR_TYPE is required for postmortem tools to inspect
        JSError objects (see nodejs/llnode#215
        for a usage example)
      * The context embedder index is required for postmortem tools to
        access embedder data stored in the context (see
        nodejs/llnode#204 for a usage example)

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

    Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
    Reviewed-on: https://chromium-review.googlesource.com/1138493
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54475}

Refs: v8/v8@804a693

Backport-PR-URL: #22177
PR-URL: #21855
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: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.