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

Issue 2655853010: [TypeFeedbackVector] Combine the literals array and the feedback vector. (Closed)

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

Description

[TypeFeedbackVector] Combine the literals array and the feedback vector. They have the same lifetime. It's a match! Both structures are native context dependent and dealt with (creation, clearing, gathering feedback) at the same time. By treating the spaces used for literal boilerplates as feedback vector slots, we no longer have to keep track of the materialized literal count elsewhere. A follow-on CL removes even more parser infrastructure related to this count. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2655853010 Cr-Commit-Position: refs/heads/master@{#42771} Committed: https://chromium.googlesource.com/v8/v8/+/93f05b64ae1c1f8e010467331de1bf02d800dede

Patch Set 1 #

Patch Set 2 : passing tests. #

Patch Set 3 : Really no literals. #

Patch Set 4 : Removed LiteralsArray #

Patch Set 5 : ports #

Patch Set 6 : gyp file #

Total comments: 9

Patch Set 7 : comments #

Patch Set 8 : partial serializer todo #

Total comments: 2

Patch Set 9 : more comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+544 lines, -1113 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -2 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M src/ast/ast.h View 1 2 3 4 5 6 7 8 6 chunks +25 lines, -31 lines 0 comments Download
M src/ast/ast.cc View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
M src/ast/ast-literal-reindexer.h View 1 2 1 chunk +0 lines, -43 lines 0 comments Download
D src/ast/ast-literal-reindexer.cc View 1 2 1 chunk +0 lines, -322 lines 0 comments Download
M src/ast/ast-numbering.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/ast/prettyprinter.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M src/builtins/arm/builtins-arm.cc View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -6 lines 0 comments Download
M src/builtins/arm64/builtins-arm64.cc View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -6 lines 0 comments Download
M src/builtins/builtins-constructor.cc View 1 2 3 4 chunks +18 lines, -22 lines 0 comments Download
M src/builtins/ia32/builtins-ia32.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -4 lines 0 comments Download
M src/builtins/mips/builtins-mips.cc View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -6 lines 0 comments Download
M src/builtins/mips64/builtins-mips64.cc View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -6 lines 0 comments Download
M src/builtins/x64/builtins-x64.cc View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -6 lines 0 comments Download
M src/code-stub-assembler.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M src/code-stub-assembler.cc View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -4 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 4 chunks +7 lines, -7 lines 0 comments Download
M src/compiler/access-builder.h View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/access-builder.cc View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -3 lines 0 comments Download
M src/compiler/js-create-lowering.h View 1 2 3 4 5 6 3 chunks +7 lines, -5 lines 0 comments Download
M src/compiler/js-create-lowering.cc View 1 2 3 4 5 6 5 chunks +11 lines, -10 lines 0 comments Download
M src/compiler/js-graph.h View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/compiler/js-graph.cc View 1 2 3 1 chunk +3 lines, -3 lines 0 comments Download
M src/compiler/pipeline.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -2 lines 0 comments Download
M src/contexts.h View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/contexts.cc View 1 2 3 4 6 chunks +16 lines, -17 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 2 3 4 5 6 7 8 5 chunks +8 lines, -8 lines 0 comments Download
M src/crankshaft/hydrogen-instructions.h View 1 2 3 1 chunk +0 lines, -4 lines 0 comments Download
M src/debug/liveedit.cc View 1 2 3 2 chunks +3 lines, -8 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/factory.h View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
M src/factory.cc View 1 2 3 3 chunks +6 lines, -5 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -4 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -4 lines 0 comments Download
M src/full-codegen/full-codegen.h View 1 chunk +1 line, -2 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 7 8 3 chunks +5 lines, -6 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -4 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -4 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 5 6 7 8 3 chunks +5 lines, -6 lines 0 comments Download
M src/heap/heap.h View 1 2 3 4 5 6 7 8 2 chunks +1 line, -3 lines 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -8 lines 0 comments Download
M src/heap/object-stats.cc View 1 2 3 2 chunks +10 lines, -13 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -4 lines 0 comments Download
M src/interpreter/interpreter-assembler.cc View 1 2 3 1 chunk +1 line, -3 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 13 chunks +16 lines, -63 lines 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 10 chunks +32 lines, -57 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 4 chunks +2 lines, -68 lines 0 comments Download
M src/objects-printer.cc View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M src/parsing/parser.h View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M src/parsing/parser.cc View 1 2 4 chunks +9 lines, -25 lines 0 comments Download
M src/parsing/parser-base.h View 1 2 6 chunks +8 lines, -11 lines 0 comments Download
M src/parsing/pattern-rewriter.cc View 1 chunk +2 lines, -5 lines 0 comments Download
M src/parsing/preparser.h View 1 2 3 chunks +2 lines, -7 lines 0 comments Download
M src/profiler/heap-snapshot-generator.cc View 1 2 3 1 chunk +4 lines, -3 lines 0 comments Download
M src/runtime/runtime-literals.cc View 14 chunks +39 lines, -36 lines 0 comments Download
M src/snapshot/partial-serializer.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -4 lines 0 comments Download
M src/type-feedback-vector.h View 3 chunks +5 lines, -2 lines 0 comments Download
M src/type-feedback-vector.cc View 1 2 3 4 8 chunks +13 lines, -15 lines 0 comments Download
M src/type-feedback-vector-inl.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/v8.gyp View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -2 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M test/cctest/cctest.status View 1 chunk +4 lines, -0 lines 0 comments Download
M test/cctest/heap/test-heap.cc View 1 2 3 4 6 chunks +13 lines, -13 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden View 1 4 chunks +13 lines, -13 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ArrayLiteralsWide.golden View 1 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden View 1 3 chunks +5 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CallRuntime.golden View 1 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden View 1 2 chunks +8 lines, -8 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/CountOperators.golden View 1 5 chunks +19 lines, -19 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Delete.golden View 1 4 chunks +5 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForIn.golden View 1 6 chunks +16 lines, -16 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ForOf.golden View 1 10 chunks +41 lines, -41 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden View 1 8 chunks +8 lines, -8 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/Generators.golden View 1 6 chunks +12 lines, -12 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden View 1 3 chunks +5 lines, -5 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden View 1 15 chunks +25 lines, -25 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/ObjectLiteralsWide.golden View 1 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/RegExpLiterals.golden View 1 3 chunks +4 lines, -4 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/RegExpLiteralsWide.golden View 1 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden View 1 1 chunk +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden View 1 1 chunk +2 lines, -2 lines 0 comments Download
M test/cctest/interpreter/bytecode_expectations/WithStatement.golden View 1 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-code-stub-assembler.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M test/cctest/test-feedback-vector.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/unittests/compiler/js-create-lowering-unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M test/unittests/interpreter/interpreter-assembler-unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -5 lines 0 comments Download

Messages

Total messages: 30 (19 generated)
mvstanton
Hi Benedikt, Here is the combined feedback-vector / literals array that allows us to go ...
3 years, 10 months ago (2017-01-28 08:57:09 UTC) #10
Benedikt Meurer
Nice simplification! LGTM % nit from my side. https://codereview.chromium.org/2655853010/diff/100001/src/compiler/js-create-lowering.h File src/compiler/js-create-lowering.h (right): https://codereview.chromium.org/2655853010/diff/100001/src/compiler/js-create-lowering.h#newcode84 src/compiler/js-create-lowering.h:84: MaybeHandle<TypeFeedbackVector> ...
3 years, 10 months ago (2017-01-30 05:34:07 UTC) #11
mvstanton
Hi Marja - could you have a look at my changes in parsing/? I think ...
3 years, 10 months ago (2017-01-30 08:10:59 UTC) #14
marja
ast/* and parsing/* LGTM As discussed offline, the function_state_->NextMaterializedLiteralIndex(); things will go away in the ...
3 years, 10 months ago (2017-01-30 09:03:01 UTC) #15
mvstanton
Thanks Benedikt, addressed... https://codereview.chromium.org/2655853010/diff/100001/src/compiler/js-create-lowering.h File src/compiler/js-create-lowering.h (right): https://codereview.chromium.org/2655853010/diff/100001/src/compiler/js-create-lowering.h#newcode84 src/compiler/js-create-lowering.h:84: MaybeHandle<TypeFeedbackVector> GetSpecializationLiterals(Node* node); On 2017/01/30 05:34:05, ...
3 years, 10 months ago (2017-01-30 10:56:41 UTC) #18
mvstanton
Hi Yang, if you could have a look at the partial serializer change that would ...
3 years, 10 months ago (2017-01-30 11:04:42 UTC) #21
Michael Starzinger
LGTM. Just nits. https://codereview.chromium.org/2655853010/diff/100001/src/ast/ast.h File src/ast/ast.h (right): https://codereview.chromium.org/2655853010/diff/100001/src/ast/ast.h#newcode1243 src/ast/ast.h:1243: // Base class for literals that ...
3 years, 10 months ago (2017-01-30 11:16:45 UTC) #22
Yang
On 2017/01/30 11:16:45, Michael Starzinger wrote: > LGTM. Just nits. > > https://codereview.chromium.org/2655853010/diff/100001/src/ast/ast.h > File ...
3 years, 10 months ago (2017-01-30 11:40:21 UTC) #23
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/2655853010/160001
3 years, 10 months ago (2017-01-30 11:56:16 UTC) #26
mvstanton
Thanks all, landing... https://codereview.chromium.org/2655853010/diff/100001/src/ast/ast.h File src/ast/ast.h (right): https://codereview.chromium.org/2655853010/diff/100001/src/ast/ast.h#newcode1243 src/ast/ast.h:1243: // Base class for literals that ...
3 years, 10 months ago (2017-01-30 11:57:04 UTC) #27
commit-bot: I haz the power
3 years, 10 months ago (2017-01-30 12:31:44 UTC) #30
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as
https://chromium.googlesource.com/v8/v8/+/93f05b64ae1c1f8e010467331de1bf02d80...

Powered by Google App Engine
This is Rietveld 408576698