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

Issue 2618553004: [compiler] Collect eager inner functions for compilation during renumbering. (Closed)

Created:
3 years, 11 months ago by rmcilroy
Modified:
3 years, 11 months ago
CC:
v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[compiler] Collect eager inner functions for compilation during renumbering. This CL modifies the ast-numbering phase to collect function literals which should be compiled eagerly. This is then used to eagerly compile the inner functions before compiling the outer function. This will be used to queue compilation jobs on the CompilerDispatcher in a later CL. This CL moves the compilation of eager inner functions out of the GetSharedFunctionInfo function and instead compiles them explicitly. This simplifies GetSharedFunctionInfo and also means there is no need to pass a LazyCompilationMode to the function, so this concept has been removed. BUG=v8:5203, v8:5215 Review-Url: https://codereview.chromium.org/2618553004 Cr-Commit-Position: refs/heads/master@{#42221} Committed: https://chromium.googlesource.com/v8/v8/+/a3052cfe2209420afd7d9cb621103b384d23623e

Patch Set 1 #

Patch Set 2 : Remove unused variable #

Total comments: 11

Patch Set 3 : Add test back. #

Patch Set 4 : Move to ThreadedList #

Total comments: 8

Patch Set 5 : Address comments and remove field from ParseInfo #

Unified diffs Side-by-side diffs Delta from patch set Stats (+222 lines, -201 lines) Patch
M src/asmjs/asm-types.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/asmjs/asm-wasm-builder.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/ast/ast-numbering.h View 1 2 3 4 1 chunk +11 lines, -2 lines 0 comments Download
M src/ast/ast-numbering.cc View 1 2 3 4 5 chunks +15 lines, -5 lines 0 comments Download
M src/bit-vector.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler.h View 1 2 3 4 4 chunks +14 lines, -10 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 13 chunks +107 lines, -107 lines 0 comments Download
M src/compiler-dispatcher/compiler-dispatcher-job.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/d8.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 2 3 4 3 chunks +3 lines, -7 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 2 3 4 5 chunks +11 lines, -18 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/ppc/full-codegen-ppc.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/s390/full-codegen-s390.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/x87/full-codegen-x87.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-generator.h View 1 2 3 3 chunks +1 line, -3 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 6 chunks +9 lines, -15 lines 0 comments Download
M src/interpreter/interpreter.h View 2 chunks +1 line, -3 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 3 chunks +5 lines, -7 lines 0 comments Download
M src/list.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/list-inl.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/utils.h View 1 2 3 4 2 chunks +16 lines, -0 lines 0 comments Download
M src/zone/zone.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/zone/zone-chunk-list.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M test/unittests/zone/zone-chunk-list-unittest.cc View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 43 (26 generated)
rmcilroy
PTAL. This is the first step to sending the eager inner functions via the compiler ...
3 years, 11 months ago (2017-01-05 15:44:57 UTC) #4
jochen (gone - plz use gerrit)
some initial comments. https://codereview.chromium.org/2618553004/diff/20001/src/compiler.cc File src/compiler.cc (right): https://codereview.chromium.org/2618553004/diff/20001/src/compiler.cc#newcode1656 src/compiler.cc:1656: return existing; this might be wrong ...
3 years, 11 months ago (2017-01-05 15:53:12 UTC) #7
rmcilroy
https://codereview.chromium.org/2618553004/diff/20001/src/compiler.cc File src/compiler.cc (right): https://codereview.chromium.org/2618553004/diff/20001/src/compiler.cc#newcode1656 src/compiler.cc:1656: return existing; On 2017/01/05 15:53:12, jochen wrote: > this ...
3 years, 11 months ago (2017-01-05 16:02:42 UTC) #8
marja
Do I understand this correctly: this doesn't change what gets compiled but just shuffles the ...
3 years, 11 months ago (2017-01-05 19:25:23 UTC) #11
rmcilroy
> Do I understand this correctly: this doesn't change what gets compiled but just > ...
3 years, 11 months ago (2017-01-06 17:08:14 UTC) #12
rmcilroy
Comments addressed, PTAL. https://codereview.chromium.org/2618553004/diff/20001/src/ast/ast-numbering.h File src/ast/ast-numbering.h (right): https://codereview.chromium.org/2618553004/diff/20001/src/ast/ast-numbering.h#newcode23 src/ast/ast-numbering.h:23: ZoneVector<FunctionLiteral*>* eager_inner_functions); On 2017/01/06 17:08:14, rmcilroy ...
3 years, 11 months ago (2017-01-09 16:50:11 UTC) #13
jochen (gone - plz use gerrit)
lgtm https://codereview.chromium.org/2618553004/diff/50001/src/zone/zone-containers.h File src/zone/zone-containers.h (right): https://codereview.chromium.org/2618553004/diff/50001/src/zone/zone-containers.h#newcode155 src/zone/zone-containers.h:155: }; disallow copy/assign?
3 years, 11 months ago (2017-01-10 09:57:39 UTC) #18
marja
I was thinking about the lazy compilation flag; I'll probably need to re-introduce a flag ...
3 years, 11 months ago (2017-01-10 10:10:43 UTC) #19
Michael Starzinger
The compiler changes looking good, just one comment about the ThreadedList helper class. https://codereview.chromium.org/2618553004/diff/50001/src/zone/zone-containers.h File ...
3 years, 11 months ago (2017-01-10 12:26:10 UTC) #20
rmcilroy
I've reworked this to remove the eager_literals from ParseInfo and pass it directly to Renumbering. ...
3 years, 11 months ago (2017-01-11 10:20:11 UTC) #31
rmcilroy
+ahaas@chromium.org for asmjs changes.
3 years, 11 months ago (2017-01-11 10:20:44 UTC) #33
ahaas
On 2017/01/11 at 10:20:44, rmcilroy wrote: > +ahaas@chromium.org for asmjs changes. asmjs lgtm
3 years, 11 months ago (2017-01-11 10:23:28 UTC) #34
Michael Starzinger
LGTM from my end.
3 years, 11 months ago (2017-01-11 11:28:38 UTC) #35
marja
I meant the LazyCompilationMode flag. Still LGTM (didn't look at the diff in detail)
3 years, 11 months ago (2017-01-11 11:38:02 UTC) #36
rmcilroy
On 2017/01/11 11:38:02, marja wrote: > I meant the LazyCompilationMode flag. Ahh I see - ...
3 years, 11 months ago (2017-01-11 12:16:50 UTC) #37
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/2618553004/110001
3 years, 11 months ago (2017-01-11 12:17:10 UTC) #40
commit-bot: I haz the power
3 years, 11 months ago (2017-01-11 12:18:55 UTC) #43
Message was sent while issue was closed.
Committed patchset #5 (id:110001) as
https://chromium.googlesource.com/v8/v8/+/a3052cfe2209420afd7d9cb621103b384d2...

Powered by Google App Engine
This is Rietveld 408576698