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

Issue 1387393002: [turbofan] Add initial support for global specialization. (Closed)

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

Description

[turbofan] Add initial support for global specialization. Introduce a new JSGlobalSpecialization advanced reducer that runs during the initial inlining and context specialization, and specializes the graph to the globals of the native context. Currently we assume that we do not inline cross native context, but long-term we will grab the global object from the JSLoadGlobal/JSStoreGlobal feedback (with the new global load/store ICs that are currently in the workings), and then this whole specialization will be fully compositional even across cross-context inlining. Note that we cannot really handle most of the stores to global object property cells because TurboFan doesn't have a mechanism to enforce certain representations. Also note that we cannot yet fully benefit from the type feedback collected on the global object property cells, because the type system cannot deal with maps in a reasonable way. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel R=jarin@chromium.org BUG=v8:4470 LOG=n Committed: https://crrev.com/6fbf7903f94924ea066af481719898bd9667b6eb Cr-Commit-Position: refs/heads/master@{#31139} Committed: https://crrev.com/e16dd13d6db630dc4eb9849749846d1c742254b3 Cr-Commit-Position: refs/heads/master@{#31148}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Make gcc happy #

Total comments: 1

Patch Set 3 : Fix bug in CodeGenerator. #

Patch Set 4 : Fix typo. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+388 lines, -15 lines) Patch
M BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler.h View 2 chunks +17 lines, -8 lines 0 comments Download
M src/compiler.cc View 3 chunks +9 lines, -4 lines 0 comments Download
M src/compiler/access-builder.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/access-builder.cc View 1 chunk +7 lines, -1 line 0 comments Download
M src/compiler/code-generator.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/js-context-specialization.cc View 1 chunk +3 lines, -0 lines 0 comments Download
A src/compiler/js-global-specialization.h View 1 2 3 1 chunk +82 lines, -0 lines 0 comments Download
A src/compiler/js-global-specialization.cc View 1 1 chunk +240 lines, -0 lines 0 comments Download
M src/compiler/js-typed-lowering.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/pipeline.cc View 3 chunks +18 lines, -0 lines 0 comments Download
M src/flag-definitions.h View 1 chunk +2 lines, -0 lines 0 comments Download
M test/cctest/test-compiler.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M test/mjsunit/call-runtime-tail.js View 1 chunk +1 line, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 chunk +2 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 24 (8 generated)
Benedikt Meurer
5 years, 2 months ago (2015-10-07 07:33:09 UTC) #1
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1387393002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1387393002/1
5 years, 2 months ago (2015-10-07 07:33:59 UTC) #3
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_gcc_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_gcc_compile_rel/builds/7005)
5 years, 2 months ago (2015-10-07 07:43:36 UTC) #5
Benedikt Meurer
Hey Jaro, This is the first part of the native context specialization. Please take a ...
5 years, 2 months ago (2015-10-07 08:06:35 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1387393002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1387393002/20001
5 years, 2 months ago (2015-10-07 08:07:44 UTC) #8
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_win_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_win_rel/builds/10367)
5 years, 2 months ago (2015-10-07 08:16:41 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1387393002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1387393002/40001
5 years, 2 months ago (2015-10-07 09:30:52 UTC) #12
Jarin
lgtm. https://codereview.chromium.org/1387393002/diff/1/src/compiler/js-global-specialization.h File src/compiler/js-global-specialization.h (right): https://codereview.chromium.org/1387393002/diff/1/src/compiler/js-global-specialization.h#newcode27 src/compiler/js-global-specialization.h:27: // foloding some {LoadGlobal} nodes or strength reducing ...
5 years, 2 months ago (2015-10-07 09:32:11 UTC) #13
Benedikt Meurer
https://codereview.chromium.org/1387393002/diff/1/src/compiler/js-global-specialization.h File src/compiler/js-global-specialization.h (right): https://codereview.chromium.org/1387393002/diff/1/src/compiler/js-global-specialization.h#newcode27 src/compiler/js-global-specialization.h:27: // foloding some {LoadGlobal} nodes or strength reducing some ...
5 years, 2 months ago (2015-10-07 09:36:07 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1387393002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1387393002/60001
5 years, 2 months ago (2015-10-07 09:36:29 UTC) #17
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 2 months ago (2015-10-07 10:26:04 UTC) #18
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/6fbf7903f94924ea066af481719898bd9667b6eb Cr-Commit-Position: refs/heads/master@{#31139}
5 years, 2 months ago (2015-10-07 10:26:23 UTC) #19
Benedikt Meurer
A revert of this CL (patchset #4 id:60001) has been created in https://codereview.chromium.org/1390073004/ by bmeurer@chromium.org. ...
5 years, 2 months ago (2015-10-07 11:41:45 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1387393002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1387393002/60001
5 years, 2 months ago (2015-10-07 12:09:39 UTC) #22
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 2 months ago (2015-10-07 12:10:52 UTC) #23
commit-bot: I haz the power
5 years, 2 months ago (2015-10-07 12:11:06 UTC) #24
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/e16dd13d6db630dc4eb9849749846d1c742254b3
Cr-Commit-Position: refs/heads/master@{#31148}

Powered by Google App Engine
This is Rietveld 408576698