Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Issue 1451143005: [turbofan] Decouple inlining and native context specialization. (Closed)

Created:
5 years, 1 month ago by Benedikt Meurer
Modified:
5 years, 1 month ago
CC:
v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Decouple inlining and native context specialization. Retrieve the native context/global object from the Node being specialized in the JSNativeContextSpecialization and the JSGlobalObjectSpecialization classes. For this we introduce two new methods NodeProperties::GetSpecializationNativeContext and NodeProperties::GetSpecializationGlobalObject, which walk up the context chain and might in the end take the native context from the outermost activation (if native context specialization is enabled). This allows us to run the native context specialization pass as part of the inlining phase without hacking some of that into the JSInliner. Also refactor the NodeProperties::GetSpecializationContext method that was previously local to the JSContextSpecialization. Also refactor two other oddities in JSNativeContextSpecialization. R=jarin@chromium.org BUG=v8:4470, v8:4493 LOG=n Committed: https://crrev.com/9b14e5bb63857649417b8e2ef0c2c9c39be614c8 Cr-Commit-Position: refs/heads/master@{#32076}

Patch Set 1 #

Patch Set 2 : Beautify comment. #

Patch Set 3 : Also refactor some oddities in JSNativeContextSpecialization. #

Total comments: 2

Patch Set 4 : Remove misleading comment about MaybeHandle. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+260 lines, -163 lines) Patch
M src/compilation-dependencies.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/compilation-dependencies.cc View 1 2 2 chunks +15 lines, -0 lines 0 comments Download
M src/compiler.h View 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/access-builder.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/access-builder.cc View 1 2 1 chunk +14 lines, -0 lines 0 comments Download
M src/compiler/access-info.cc View 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/js-context-specialization.cc View 1 chunk +1 line, -19 lines 0 comments Download
M src/compiler/js-global-object-specialization.h View 4 chunks +8 lines, -9 lines 0 comments Download
M src/compiler/js-global-object-specialization.cc View 6 chunks +28 lines, -11 lines 0 comments Download
M src/compiler/js-inlining.cc View 3 chunks +0 lines, -35 lines 0 comments Download
M src/compiler/js-native-context-specialization.h View 5 chunks +10 lines, -7 lines 0 comments Download
M src/compiler/js-native-context-specialization.cc View 1 2 12 chunks +43 lines, -40 lines 0 comments Download
M src/compiler/node-properties.h View 1 chunk +21 lines, -0 lines 0 comments Download
M src/compiler/node-properties.cc View 1 2 chunks +85 lines, -0 lines 0 comments Download
M src/compiler/pipeline.cc View 4 chunks +20 lines, -39 lines 0 comments Download
M src/handles.h View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 12 (3 generated)
Benedikt Meurer
5 years, 1 month ago (2015-11-18 08:24:37 UTC) #1
Benedikt Meurer
Hey Jaro, This is the next CL to refactor the native context specialization, and decouple ...
5 years, 1 month ago (2015-11-18 08:25:33 UTC) #2
Michael Starzinger
https://codereview.chromium.org/1451143005/diff/40001/src/compiler/node-properties.h File src/compiler/node-properties.h (right): https://codereview.chromium.org/1451143005/diff/40001/src/compiler/node-properties.h#newcode125 src/compiler/node-properties.h:125: Node* node, MaybeHandle<Context> context = MaybeHandle<Context>()); As discussed offline: ...
5 years, 1 month ago (2015-11-18 09:16:20 UTC) #4
Benedikt Meurer
https://codereview.chromium.org/1451143005/diff/40001/src/compiler/node-properties.h File src/compiler/node-properties.h (right): https://codereview.chromium.org/1451143005/diff/40001/src/compiler/node-properties.h#newcode125 src/compiler/node-properties.h:125: Node* node, MaybeHandle<Context> context = MaybeHandle<Context>()); On 2015/11/18 09:16:20, ...
5 years, 1 month ago (2015-11-18 09:16:39 UTC) #5
Michael Starzinger
LGTM from my end.
5 years, 1 month ago (2015-11-18 09:49:42 UTC) #7
Jarin
lgtm
5 years, 1 month ago (2015-11-18 09:57:58 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1451143005/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1451143005/60001
5 years, 1 month ago (2015-11-18 10:02:50 UTC) #10
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 1 month ago (2015-11-18 10:03:53 UTC) #11
commit-bot: I haz the power
5 years, 1 month ago (2015-11-18 10:04:11 UTC) #12
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/9b14e5bb63857649417b8e2ef0c2c9c39be614c8
Cr-Commit-Position: refs/heads/master@{#32076}

Powered by Google App Engine
This is Rietveld 408576698