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

Issue 2229243003: [turbofan] Split CodeGenerator::GenerateCode into AssembleCode and FinishCodeObject. (Closed)

Created:
4 years, 4 months ago by ahaas
Modified:
4 years, 4 months 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] Split CodeGenerator::GenerateCode into AssembleCode and FinishCodeObject. This CL splits CodeGenerator::GenerateCode into two new functions: AssembleCode and FinishCodeObject. AssembleCode does not access or modify the JS heap, which means that AssembleCode can be executed on background threads. FinishCodeObject allocates the generated code object on the JS heap and therefore has to be executed on the main thread. Implementation details: The GenerateCode function has been split just before out-of-line code is assembled. The reason is that code stubs may be generated when out-of-line code is assembled, which potentially allocates these code stubs on the heap. - Parts of initialization of the CodeGenerator has been moved from the constructor to an Initialize function so that we can instantiate an empty CodeGenerator object in PipelineData. R=bmeurer@chromium.org, mstarzinger@chromium.org, titzer@chromium.org Committed: https://crrev.com/03058a2187e32cc4080612181802086527c116a2 Cr-Commit-Position: refs/heads/master@{#38604}

Patch Set 1 #

Total comments: 18

Patch Set 2 : Use the outer zone for code generation instead of the instruction zone for now. #

Patch Set 3 : Extend parallel compilation of wasm in a separate CL #

Unified diffs Side-by-side diffs Delta from patch set Stats (+115 lines, -58 lines) Patch
M src/compiler/code-generator.h View 1 4 chunks +15 lines, -10 lines 0 comments Download
M src/compiler/code-generator.cc View 1 7 chunks +46 lines, -30 lines 0 comments Download
M src/compiler/pipeline.cc View 1 2 14 chunks +54 lines, -18 lines 0 comments Download

Messages

Total messages: 22 (14 generated)
ahaas
4 years, 4 months ago (2016-08-10 12:17:19 UTC) #1
Michael Starzinger
LGTM with comments. https://codereview.chromium.org/2229243003/diff/1/src/compiler/code-generator.cc File src/compiler/code-generator.cc (right): https://codereview.chromium.org/2229243003/diff/1/src/compiler/code-generator.cc#newcode77 src/compiler/code-generator.cc:77: // Open a frame scope to ...
4 years, 4 months ago (2016-08-11 14:16:26 UTC) #6
ahaas
https://codereview.chromium.org/2229243003/diff/1/src/compiler/code-generator.cc File src/compiler/code-generator.cc (right): https://codereview.chromium.org/2229243003/diff/1/src/compiler/code-generator.cc#newcode77 src/compiler/code-generator.cc:77: // Open a frame scope to indicate that there ...
4 years, 4 months ago (2016-08-11 14:54:20 UTC) #9
Michael Starzinger
Thanks. Still LGTM.
4 years, 4 months ago (2016-08-12 09:48:47 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2229243003/40001
4 years, 4 months ago (2016-08-12 09:49:06 UTC) #18
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 4 months ago (2016-08-12 09:50:48 UTC) #19
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/03058a2187e32cc4080612181802086527c116a2 Cr-Commit-Position: refs/heads/master@{#38604}
4 years, 4 months ago (2016-08-12 09:51:11 UTC) #21
ahaas
4 years, 4 months ago (2016-08-12 10:59:17 UTC) #22
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in
https://codereview.chromium.org/2240523003/ by ahaas@chromium.org.

The reason for reverting is: There is a data race in the initialization of the
Isolate::random_number_generator().

Powered by Google App Engine
This is Rietveld 408576698